【问题标题】:How to create makefile CUDA so it executed in CPU to test CPU FLOPs?如何创建 makefile CUDA 以便它在 CPU 中执行以测试 CPU FLOPs?
【发布时间】:2011-04-28 17:46:36
【问题描述】:

我正在尝试计算 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怎么做呢??

【问题讨论】:

  • 不管你怎么做,都会涉及到查看../../common/common.mk
  • 这是否意味着我必须修改 common.mk??

标签: c makefile cuda flops


【解决方案1】:

嘿,问题是您需要波特兰组编译器才能在 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 日进行演示,所以我不确定它何时会公开可用(可能是一个测试版)。 (即不,你不能在 x86 YET 上本地运行 CUDA)。

现在最简单的做法是编写一个 C/C++ 函数,该函数完全符合基准测试的功能(它应该非常容易移植)。他们的 SDK 中有一些 CUDA 示例将 CPU 与 GPU 进行比较(看看我认为的矩阵乘法),所以首先尝试一下(它应该基本上与基准代码做完全相同的事情,除了“真实世界”的情况)如果您只是想提高 GPU/CPU 性能。

更简单:向 NVIDIA 论坛询问您的显卡 - 他们喜欢告诉每个人他们的 GPU 与 CPU 性能(只需说“我有 x GPU,我得到 y GFLOPS - 其他人得到 GPU 与 CPU 的区别是什么?”)。

【讨论】:

    猜你喜欢
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 2023-02-04
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多