Ubuntu 2014 で Parallel Studio XE 2013 の一部である Intel Advisor XE を使用しています。Prime 番号のプログラムは次のとおりです。
#include "stdio.h"
#include "stdlib.h"
int isPrime(long unsigned int x)
{
long unsigned int i;
for (i = 2; i < x; i += 1)
{
if(x%i==0)
return 0;
}
if(i==x)
return i;
}
int main (int argc, char *argv[])
{
double tic=omp_get_wtime();
long unsigned int i,num;
num=999999;
for (i = 1; i <= num; i += 1)
{
if(isPrime(i)) printf("\t%lu",i);
}
return 0;
}
このプログラムを と の両方で実行しicc
、gcc
Intel Parallel Studio XE Advisor XE 2013 でテストしました。注釈コードを次のように追加すると
#include "stdio.h"
#include "stdlib.h"
#include "/opt/intel/advisor_xe_2013/include/advisor-annotate.h"
int isPrime(long unsigned int x)
{
long unsigned int i;
for (i = 2; i < x; i += 1)
{
if(x%i==0)
return 0;
}
if(i==x)
return i;
}
int main (int argc, char *argv[])
{
long unsigned int i,num;
num=999999;
ANNOTATE_SITE_BEGIN( MySite1 ); //Loop control statement to begin a parallel code region (parallel site).
for (i = 1; i <= num; i += 1)
{
ANNOTATE_ITERATION_TASK( MyTask1 ); // This annotation identifies an entire body as a task.
if(isPrime(i)) printf("\t%lu",i);
}
ANNOTATE_SITE_END(); // End the parallel code region, after task execution completes
return 0;
}
「行コレクターデータを読み込めません」のようなエラーが発生しました。結果の画像をアップロードしています。エラーはないように見えますが、最終的には次のように表示されます
注 1 /proc/sys/kernel/yama/ptrace_scope
を 0 に更新しました。
注 2 LibPath を設定しましたLD_LIBRARY_PATH:/opt/intel/advisor_xe_2013/include
PS 6桁のフィボナッチを試してみたところ、同じ結果が得られましたNO DATA