【问题标题】:Can I use printf(or something) in OpenACC with PGI compiler?我可以在带有 PGI 编译器的 OpenACC 中使用 printf(或其他东西)吗?
【发布时间】:2015-11-03 08:02:18
【问题描述】:

我在编译 PGI 编译器的 OpenACC 代码调试时遇到了一些麻烦。 (pgcc 15.7)

我想显示或转储 OpenACC 区域中的变量和数组值。 (变量和数组在GPU的内存空间上)

但我不能在 OpenACC 内核区域中使用printf

我尝试使用 cuda-gdbNsight(来自 NVIDIA)。但是遇到PGI库就不行了。

有没有办法在 OpenACC 内核区域显示变量值?

或者一些调试 OpenACC 的方法?

【问题讨论】:

  • 您能否发布有关您在 cuda-gdb 中遇到的问题的更多信息?我刚刚尝试在具有 PGI 15.7 的 OpenACC 代码上使用它,并且能够检查该区域中多个变量的值。如果没有找到 PGI 库,请确保 <install path>/linux86-64/lib 在您的 LD_LIBRARY_PATH 中。
  • 嗨杰夫拉金。我在设置 LD_LIBRARY_PATH 并输入编译选项 -g 后重试。现在我可以在 CUDA 内核中显示变量。非常感谢:)
  • 太棒了!我很高兴能帮上忙。

标签: debugging nvidia openacc


【解决方案1】:

为了完整起见,发布上述 cmets 的答案。

使用-g 构建并将LD_LIBRARY_PATH 设置为指向工具包目录<install path>/linux86-64/lib 解决了这个问题。

【讨论】:

    猜你喜欢
    • 2019-06-10
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 2020-08-10
    • 2012-08-22
    • 1970-01-01
    相关资源
    最近更新 更多