Как создать make-файл CUDA, чтобы он выполнялся в CPU для тестирования процессорных FLOP?
Я пытаюсь посчитать ошибки GPU и CPU, и у меня есть источник отсюда
Я переименовал его в cudaflops.cu и скомпилировал его с этим make-файлом
################################################################################
#
# 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, я прочитал это, в котором говорится, что источник может работать на CPU.
Так как модифицированный makefile это делает??
1 ответ
Привет, проблема в том, что вам нужны компиляторы группы портов для запуска вашего кода на x86: hxxp://www.prnewswire.com/news-releases/pgi-to-develop-compiler-based-on-nvidia-cuda-c-architecture-для-x86-платформ-103457159.html
Кроме того, в этой статье говорится, что компилятор демонстрируется 13-15 ноября 2010 года, поэтому я не уверен, когда он станет общедоступным (возможно, бета-версия будет распространяться). (Т.е. нет, вы не можете запустить CUDA изначально на x86 YET).
сейчас самое простое - написать функцию C/C++, которая делает именно то, что делает этот тест (его ОЧЕНЬ легко переносить). В их SDK есть несколько примеров CUDA, которые сравнивают CPU с GPU (я думаю, что посмотрите на умножение матриц), поэтому попробуйте сначала (он должен в основном делать то же самое, что и код теста, за исключением случая "реального мира"), если вы просто хотите повысить производительность GPU/CPU.
Еще проще: спросите на форумах NVIDIA о вашей видеокарте - они любят рассказывать всем о своей производительности графического процессора и процессора (просто скажите: "У меня есть x GPU, и я получаю y GFLOPS- что все остальные получают GPU против CPU?").