我正在尝试计算 GPU 和 CPU 的 FLOP 次数,并且我从 here 获取了源代码
我将其重命名为 cudaflops.cu 并使用此 makefile 对其进行编译
################################################################################
#
# Build script for project
#
################################################################################
# Add source files here
EXECUTABLE := benchmark
# Cuda source files (compiled with cudacc)
CUFILES := cudaflops.cu
# C/C++ source files (compiled with gcc / c++)
CCFILES :=
################################################################################
# Rules and targets
include ../../common/common.mk
#########################################
Tt 工作正常并给出结果 367 GFlOPs
但是现在,我不知道在CPU中测试这个源,我读了this上面说源代码可以在 CPU 上运行。
那么修改makefile怎么办呢?
最佳答案
嘿,问题是你需要 portland group 编译器才能在 x86 上运行你的代码: hxxp://www.prnewswire.com/news-releases/pgi-to-develop-compiler-based-on-nvidia-cuda-c-architecture-for-x86-platforms-103457159.html
此外,该文章称该编译器将于 2010 年 11 月 13 日至 15 日进行演示,因此我不确定它何时会公开可用(可能是 Beta 版本)。 (也就是说,不,您还不能在 x86 上本地运行 CUDA)。
现在最简单的事情是编写一个 C/C++ 函数,该函数完全执行该基准测试的功能(它应该非常容易移植)。他们的 SDK 中有一些 CUDA 示例比较了 CPU 和 GPU(我认为是矩阵乘法),所以首先尝试一下(它基本上应该做与基准代码完全相同的事情,除了“现实世界”的情况)如果您只是想提高 GPU/CPU 性能。
甚至更简单:向 NVIDIA 论坛询问有关您的显卡的信息 - 他们喜欢告诉每个人他们的 GPU 与 CPU 性能(只需说“我有 x GPU,我得到 y GFLOPS - 其他人得到的 GPU 与 CPU 的结果如何?”)。
关于c - 如何创建 CUDA makefile 以便在 CPU 中执行以测试 CPU FLOP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3989880/