xcode 6.0 でのopenmp

xcode6.0で


#include "stdio.h"

#include <omp.h>



int main()

{

int nThreads = 0;

nThreads = omp_get_thread_num();

printf("Thread is %d \n",nThreads);

int i,j,k,n=0;

// DZÇÃï∂Ç…ÇÊÇËíºå„ÇÃforï∂Ç™É}ÉãÉ`ÉXÉåÉbÉhé¿çsÇ≥ÇÍÇÈÅB

// ÉlÉXÉgÇ≥ÇÍÇΩì‡ë§ÇÃïœêîjÇ…ÇÊÇÈÉãÅ[ÉvÇÕÉ}ÉãÉ`ÉXÉåÉbÉhâªÇ≥ÇÍǻǢÅB

// ÇΩÇæÇµÅAïœêîjÇprivate êÈåæÇµÇƒÇ®Ç©Ç»Ç¢Ç∆ï°êîÇÃÉXÉåÉbÉhÇ≈ïœêîÇ™ã§óLÇ≥ÇÍÇÈÇΩÇflÅA

// ÉãÅ[ÉvâÒêîÇ™ìKêÿÇ≈Ç»Ç≠Ç»ÇÈÅB

// ompï∂ì‡ïîÇ≈ÉãÅ[ÉvÇ∑ÇÈèÍçáÇÕÅAã§óLǵǃLJó«Ç¢ïœêîÇ©ÅAå¬ï âªÇµÇ»ÇØÇÍnjǻÇÁǻǢïœêîÇ©ÅAãÊï Ç™ïKóv

// ëçòaÇãÅÇflÇÈǻǫÅAç≈å„Ç…åãâ ÇåãçáÇµÇ»ÇØÇÍnjǻÇÁǻǢïœêîÇÕreductionÇ≈éwíËÇ∑ÇÈ

// ǪÇÃç€ÅAäeÉXÉåÉbÉhÇÃåãâ ÇÇ«ÇÃÇÊǧDžìùçáÇ∑ÇÈÇ©Ç()ÇÃëOÇ…éwíËǵÅA:ÇÃå„Ç…ëŒâûÇ∑ÇÈïœêîÇèëÇ≠

// ë´ÇµéZ(+)ÅAä|ÇØéZ(*)ÇÃëºÅAò_óùòaÅAò_óùêœÇ»Ç«Ç‡óòópâ¬î\

#pragma omp parallel for private (i,j,k) reduction (+:n)

for (i=0;i<200000;i++){

// åªç›é¿çsíÜÇÃÉXÉåÉbÉhî‘çÜÇéÊìæ

nThreads = omp_get_thread_num();

k=0;

for (j=0;j<100000000;j++){

k=k+1;

}

n=n+k/j;

printf("Thread is %d (i=%d,n=%d,j=%d,k=%d)\n",nThreads,i,n,j,k);

}

// reductionÇ≈ëSÉXÉåÉbÉhÇÃëçòaÇéÊǡǃǢÇÈÇÃÇ≈ÅAÉVÉìÉOÉãÉXÉåÉbÉhÇÃåvéZåãâ Ç∆ìØÇ∂ëçòaÇ…Ç»ÇÈ

printf("Result n=%d\n",n);

// Ç±ÇøÇÁÇÕ ï¿óÒâªéwé¶ëŒè€ÇÃÅ@forï∂ÇÃäOÇ»ÇÃÇ≈ÅAÉVÉìÉOÉãÉXÉåÉbÉhé¿çs

//ãtÇ…åæÇ¶ÇŒÅAè„ãLÇÃï\ãLÇÃNjNjÇ≈ÇÕÅAompÉRÉ}ÉìÉhÇ™î≠ê∂Ç∑ÇÈÇΩÇ—Ç…ÉXÉåÉbÉhÇçÏê¨Ç∑ÇÈÇÃÇ≈

//ìÆçÏÉRÉXÉgÇ™ëÂÇ´Ç≠Ç»ÇÈÅBÉXÉåÉbÉhÇécǵë±ÇØÇÈÇ…ÇÕï ÇÃï˚ñ@Ç™ïKóvÅB

n=0;

for (i=0;i<200000;i++){

nThreads = omp_get_thread_num();

k=0;

for (j=0;j<100000000;j++){

k=k+1;

}

n=n+k/j;

printf("Thread is %d (i=%d,n=%d)\n",nThreads,i,n);

}

return0;

}

以上のプログラミングを通したいのですがうまくできません。

xcodeでopenmpをつかうことはできないのでしょうか?

よろしくお願いします。

MacBook Air, OS X Yosemite (10.10.3)

投稿日 2015/06/25 19:44

返信
返信: 1

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

xcode 6.0 でのopenmp

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。