首页 文章

使用papi监控运行过程的性能计数器

提问于
浏览
1

如何使用PAPI监控已经运行的进程的硬件计数器?

任何帮助将受到高度赞赏 .

谢谢Shuja

1 回答

  • 1

    一旦获得线程id(使用PAPI_thread_id或其他函数),就可以使用本文所述的 PAPI_attachPAPI_detach 包装函数:

    http://icl.cs.utk.edu/projects/papi/wiki/PAPI3:PAPI_attach.3

    例如:

    int EventSet = PAPI_NULL;
    unsigned long pid;
    pid = fork();
    if (pid <= 0)
    exit(1);
    if (PAPI_create_eventset(&EventSet) != PAPI_OK)
    exit(1);
    /* Add Total Instructions Executed to our EventSet */
    if (PAPI_add_event(EventSet, PAPI_TOT_INS) != PAPI_OK)
    exit(1);
    /* Attach this EventSet to the forked process */
    if (PAPI_attach(EventSet, pid) != PAPI_OK)
    exit(1);
    

相关问题