2012-07-25 88 views
1

什麼是在Windows中編譯CUDA代碼的好方法?如何在Windows上輕鬆編譯CUDA代碼?

我嘗試了不同的方式,與Visual Studio連接並使用nvcc命令從命令行進行編譯。

視覺工作室的問題。我遵循大多數編譯鏈接,在互聯網上找到,但我仍然無法編譯簡單的程序。

nvcc問題。找不到路徑windows.h。我嘗試在nvcc.profile中添加Visual Studio的包含路徑,但它不起作用?

有沒有人有這個好的解決方案?

我正在使用CUDA 4.2和visual studio 2010.

+0

http://stackoverflow.com/questions/3778799/how-do-i-start-a-cuda-app-in-visual-studio-2010 – 2012-07-25 16:58:33

+0

設置cuda編譯後不工作..顯示內核函數錯誤「third <」,錯誤「期待表達式」和「intellicense錯誤」... 和 in device_functions.h和sm_11_atomic_functions.h exit()標識符未定義... – Kalyan 2012-07-25 20:57:50

+0

如果你只需設置現在是每個CUDA版本的一部分的Visual Studio集成,您應該沒有問題。如果你使用Visual Studio,那是迄今爲止最簡單的方法。你有沒有嘗試過? – Bart 2012-07-26 17:59:05

回答

3

這是我的建議。您可以通過Visual Studio獲取其他人的配方來設置CUDA。但每當nVidia發佈一個新套件或者您更新到下一個Visual Studio時,您都會重新審視它。幾乎總是因爲這些供應商中的一個不能獨立離開(或者他們真的有一個很好的理由,可能會發生)決定改變路徑。

所以我的建議是從命令行使用nvcc,直到你理解了所有的依賴關係。然後,您將無法設置IDE。每次新CUDA出來時,我都會回到命令行,並確保我仍然可以構建,發現任何路徑更改,工具更改等。一旦我理解了,我就會更新我的IDE設置。

0

我有同樣的問題。這是簡單的解決方案。

CUDA(GPU Computing SDK)的示例運行正常(您應該已經安裝了Nvidia GPU Computing SDK)。打開開始菜單並在文本框中輸入「瀏覽CUDA SDK」(希望您使用win vista或7)。

該示例位於src文件夾中。此文件夾中的示例在VS 2005,VS 2008和VS 2010中都有解決方案。它們具有在此解決方案和項目中設置的所有初始設置,您可以複製其中一個示例並清理代碼並運行自己的代碼。唯一的問題是它們的設置文件在本地尋址(例如../../common/lib/)。所以你應該在那個文件夾中運行你的項目。

另外,CUDA 4.0和4.1在Visual Studio的新建項目嚮導上有一個CUDA運行時選項。這很棒,我不知道他們爲什麼在4.2版中取消了這個選項。如果您無法運行CUDA 4.2,那麼CUDA 4.1是一個不錯的選擇。 (你可以安裝Nvidia GPU SDK 4.1,然後卸載它,Visual Studio選擇將保持並正常工作)

另一個選項是做一個空白的項目並使用這個配置(它用於CUDA 4.0和你的計算機中的地址可能會有所不同):

新建 - >項目 - > Win32控制檯應用程序

名稱: 「HelloCuda」 - >確定 - >下一步 - >空項目 - >完成

右鍵單擊該項目HelloCuda - >構建自定義

單擊查找現有並導航到CUDA 4.0。目標

C:\ ProgramFiles \ MSBuild \ Microsoft.Cpp \ v4。 0 \ \ BuildCustomizations CUDA 4.0.targets

現在創建一個文本文件,並將其與.CU擴展

現在保存爲HelloWorld的你將有一個文件HelloWorld.cu

這個文件添加到項目中HelloCuda

右鍵點擊HelloWorld.cu - >配置屬性 - >常規 - >項目類型 - > CUDA C/C++

現在右鍵點擊項目HelloCuda - >配置屬性 - > CUDA C/C++ - >通用 - >其他包括直接ories

添加C:\ Users \ All Users \ Application Data \ NVIDIA Corporation \ NVIDIA GPU Computing SDK 4.0 \ C \ common \ inc;

現在右鍵點擊項目HelloCuda - >配置屬性 - >鏈接器 - >常規 - >附加庫目錄

添加C:\用戶\所有用戶\應用數據\ NVIDIA公司\ NVIDIA GPU計算SDK 4.0 \ C \ common \ lib文件;

鏈接器 - >輸入 - >附加依賴 - > cudart.lib

現在寫樣品CUDA C程序內HelloWorld.cu和編譯。