インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

_Cilk_shared

変数または関数を共有します。このキーワードは、インテル® MIC アーキテクチャーにのみ適用されます。

構文

_Cilk_shared type variable(s)

_Cilk_shared type func_def

引数

type

宣言する変数の型。

variable(s)

1 つまたは複数の変数。

func_def

関数定義または宣言。

説明

インテル® Cilk™ Plus は古い機能 (非推奨) です。

_Cilk_shared と変数を使用すると、変数を共有メモリーに割り当てます。

_Cilk_shared と関数定義または宣言を使用すると、関数が CPU とコプロセッサーで利用できるようになります。

例: 変数

共有宣言:

_Cilk_shared int x, y, z;

共有 typedef:

typedef _Cilk_shared str_type shr_str_type;
 shr_str_type a;

例: ポインター

p は共有 int のポインターです (ポインターは共有されません):

int _Cilk_shared *p;

p は共有メモリーです:

int * _Cilk_shared p;

例: 関数

共有関数定義:

_Cilk_shared void func() {
x = y + z;
}

共有関数宣言:

_Cilk_shared int bar();

例: 関数

この属性を複数の宣言に適用するには、pragma offload-attribute を使用します。

#pragma offload_attribute(push, _Cilk_shared)
#include <math.h>
void function_1();
void function_2();
#pragma offload_attribute(pop)
void function_3();

int main(){
   _Cilk_offload function_1();
   
   function_3();
   _Cilk_offload function_2();

}
_Cilk_shared int bar();

関連情報