OpenMP コンテキストの定義

インテル® DPC++/C++ コンパイラーインテル® Fortran コンパイラー

この記事は、openmp.org の OpenMP API 6.0 Specification (英語) で公開されている OpenMP API Additional Definitions 2.1 (PDF) – Nov 2024 (英語) を iSUS で翻訳した日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。

このドキュメントでは、OpenMP 仕様の「OpenMP コンテキスト」の項に記載されている、準拠する実装がサポートしなければならない OpenMP コンテキストに追加される値について説明します。OpenMP 5.1 以降では、以下の定義が必要です。

 

1.1 追加の kind-name

1.1 は、host および nohost の値に加えて、OpenMP コンテキストの kind 特性で使用できる kind-name の値を示しています。

表 1.1: 追加の kind-name

kind-name

説明

cpu

汎用計算向けに最適化された並列デバイス

gpu

超並列スループット・デバイス

fpga

再構成可能な計算デバイス

 

1.2 サポートされる vendor-name

1.2 は、OpenMP コンテキストの vendor 特性で使用できるベンダー名の値と、それらが表す組織との関係を示しています。

表 1.2: 追加の vendor-name

id

vendor-name

組織

0

unknown

下記に記載されているもの以外

1

amd

Advanced Micro Devices, Inc

2

arm

Arm Limited

3

bsc

Barcelona Supercomputing Center

4

fujitsu

Fujitsu Limited

5

gnu

GNU Project

6

hpe または cray

Hewlett Packard Enterprise

7

ibm

IBM Corporation

8

Intel

Intel Corporation

9

llvm

LLVM Foundation

10

nec

NEC Corporation

11

nvidia

NVIDIA Corporation

12

ti

Texas Instruments

 

2 OpenMP 相互運用性の定義

2.1 外部ランタイムの環境値

これは、OpenMP 仕様書の「OpenMP 外部ランタイム識別子」のセクションに対応するものです。以下の定義は OpenMP 5.1 以降に存在しており、OpenMP 6.0 で追加された“hsa”を除きます。

2.1 と表 2.2 は、interop ディレクティブで使用できる外部ランタイム ID (foreign-runtime-id) の値について説明しています。

表 2.1: targetsync および device_context プロパティーの interop 外部ランタイム ID、それらの文字列リテラルとして使用される名前、およびそれらに関連付けられた具体的なデータ型を示します

foreign-runtime-id

データ型

id

名前

targetsync

device_context

1

cuda

cudaStream_t

N/A

2

cuda_driver

CUstream

CUcontext

3

opencl

cl_queue

cl_context

4

sycl

cl::sycl::queue

cl::sycl::context

5

hip

hipStream_t

hipCtx_t

6

level_zero

ze_command_queue_handle_t

ze_context_handle_t

7

hsa

hsa_queue_t *

N/A

表 2.2: デバイスおよびプラットフォーム・プロパティーに対する、interop 外部ランタイム ID、それらの文字列リテラルとして使用される名前、およびそれらに関連付けられた具体的なデータ型を示します

foreign-runtime-id

データ型

id

名前

デバイス

プラットフォーム

1

cuda

int

N/A

2

cuda_driver

CUdevice

N/A

3

openc

cl_device

cl_platform

4

sycl

cl::sycl::device

cl::sycl::platform

5

hip

hipDevice_t

N/A

6

level_zero

ze_device_handle_t

ze_driver_handle_t

7

hsa

hsa_agent_t *

N/A

タイトルとURLをコピーしました