Intel Advisor XE中的错误0x4000001e:无法加载原始收集器数据

时间:2014-09-15 10:29:50

标签: intel-parallel-studio

我使用的是英特尔顾问XE,它是Parallel Studio XE 2013与Ubuntu 2014的一部分.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;
}

我使用iccgcc运行此程序,并在英特尔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;
}

它给了我错误,如#34;无法加载行收集器数据。&#34;  我上传图片的结果。Seems like no error似乎没有错误,但最后它显示为Error

注1 /proc/sys/kernel/yama/ptrace_scope已更新为0 注2 我已设置LibPath LD_LIBRARY_PATH:/opt/intel/advisor_xe_2013/include

PS 我尝试过6位数的斐波那契,并得到了相同的结果NO DATA

1 个答案:

答案 0 :(得分:1)

问题在于编译,我玩各种选项并尝试使用-I选项与GCC和ICC包括库路径,我提到头文件,即/opt/intel/advisor_xe_2013/include/以及链接库使用解决问题的-ldl选项。

相关问题