Нужен ли мне 64-битный SDK на 64-битной машине?

Моя лаборатория только что получила Tesla C2070, и карта установлена ​​на компьютере под управлением Windows Server 64 бит. Я должен написать некоторые симуляции CUDA. Нужно ли устанавливать 64-битную версию наборов инструментов SDK и CUDA? Причина, по которой я спрашиваю, состоит в том, что я хотел бы использовать Visual C++ Express для компиляции, и они, кажется, действительно действительно 32-битные. Или есть другой компилятор, который полностью освободил бы меня от этого ограничения?

Благодарю.

Редактировать 1 Спасибо за ответы. Пока что я могу скомпилировать 32-битный код cuda / openCL. После установки SDK, изменения цели на 64 и связывания с 64-битной библиотекой, она все равно не будет работать.

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 4.2.targets(361,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env --cl-version  -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64"  -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\include"  -G  --keep-dir "x64\Debug" -maxrregcount=0  --machine 64 --compile  -g    -Xcompiler "/EHsc /nologo /Od /Zi  /MDd  " -o "x64\Debug\test.cu.obj" "c:\Users\A\Documents\Visual Studio 2010\Projects\cudaTest2\cudaTest2\test.cu"" exited with code -1.

Наконец, есть ли смысл компилировать в 64-битное приложение, если говорить об имитации gpgpu? Я имею в виду, что код, работающий на хосте, - это почти ничто, и код, работающий на gpu, хорошо скомпилирован nvcc, поэтому не имеет значения, что я выбрал, 32 или 64... Я ошибаюсь (возможно)?

2 ответа

Это не то, что вы спросили, но...

Visual C++ Express прекрасно скомпилирует 64-битные программы. Бывает, что Express не распространяется с 64-битным компилятором, но компилятор загружается отдельно.

Установите Microsoft Windows SDK 7.1, и вы сможете скомпилировать для x64 с Microsoft Visual C++ Express.

Вы должны загрузить 64-битный SDK для 64-битной ОС. В этом случае есть библиотеки как для 32-битной версии, так и для 64-битной. Для 32-битного приложения Visual C++ вы должны использовать 32-битные библиотеки, и это будет работать.

Например, в моем случае: у меня 64-битная ОС Windows7, для этого я использовал 64-битный CUDA SDK, а для разработки своего 32-битного приложения C++ в visual studio 2008 я использовал 32-битные библиотеки cuda, экспортированные с помощью SDK.

Другие вопросы по тегам