1

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;
}

このプログラムを と の両方で実行しiccgccIntel Parallel Studio XE Advisor XE 2013 でテストしましたres1。注釈コードを次のように追加すると

#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

4

1 に答える 1

1

問題はコンパイルにあり、さまざまなオプションを試して-I、GCC と ICC でオプションを使用して、ヘッダー ファイルについて言及したライブラリ パスを含めようとしました。つまり、問題を解決したオプションを/opt/intel/advisor_xe_2013/include/使用してライブラリをリンクしました。-ldl

于 2014-09-16T04:54:55.487 に答える