OpenCL(CUDA5.0) + Visual Studio 2010 環境配置

1.安裝步驟

1)安裝CUDA5.0
本文默認的安裝目錄為:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA \v5.0
CUDA SDK的默認安裝目錄為:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0
其他路徑請自行修改路徑!


2)添加環境變量
安裝完成Toolkit和SDK后,已自動配置好環境變量。保險起見,手動配置環境變量,在系統環境變量(右擊計算機選擇屬性->選擇高級系統設置->環境變量)中新建如下項:
CUDA_SDK_PATH=C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\common
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0
CUDA_LIB_PATH=%CUDA_PATH%\lib\Win32
CUDA_BIN_PATH=%CUDA_PATH%\bin
CUDA_SDK_LIB_PATH=%CUDA_SDK_PATH%\common\lib\Win32
CUDA_SDK_BIN_PATH=%CUDA_SDK_PATH%\bin\Win32


3)修改環境變量—系統PATH

在系統環境變量Path 后添加如下內容:
;%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;


2.CUDA、OpenCL 關鍵字及函數高亮顯示

1).cl; .cu; .cuh 文件中C/C++ 關鍵字高亮
這個設置是讓Visual Studio2010 在編輯.cl; .cu; .cuh 文件時,把.cl; .cu; .cuh 文件里的C/C++語法高亮。設置方法: 在Visual Studio 2010 的菜單依次選“Tools|Options|Text?Editor|File Extension(工具|選項|文本編輯器|文件擴展名)”,在該窗口中將“Editor(編輯器)”下拉框選擇“Microsoft Visual C++”在“Extension(擴展名)”文本框中輸入cl 點擊“Add(添加)”按鈕,重復工作把cu 和cuh 添加為Visual C++類型,添加完成后點擊“OK(確定)”按鈕,如下圖所示。

2)OpenCL和CUDA 關鍵字高亮設置

為了讓CUDA 的關鍵字,如__global等的文字高亮,需按如下步驟設置: 將C:\ ProgramData\NVIDIA Corporation \CUDA Samples\v5.0\doc\syntax_highlighting\visual_studio_8目錄下的usertype.dat文件復制到C:\Program Files \Microsoft Visual Studio10.0\Common7\IDE \ 目錄下(對x64位Win7系統為C:\Program Files(X86)\Microsoft Visual Studio 10.0 \Common7\IDE\)。重啟Visual Studio 2010 后打開.cl等文件,OpenCL的關鍵字應該變成藍色了。


3)OpenCL和CUDA函數高亮,及函數輸入代碼提示

實現這個功能需要使用Visual Assist X,如果沒有安裝支持Visual Studio 2010 的Visual Assist X,這部分功能無法實現。這里只是為使編寫代碼更加方便,對與OpenCL和CUDA程序的開發無實質性障礙。如果已經安裝Visual Assist X,可以通過以下兩步實現需要的功能:

①使Visual Assist X 支持OpenCL和CUDA函數高亮和代碼完成

在Visual Studio 2010 的菜單里依次選擇:VAssist X|Visual assist X Options|Projects|C/C++Directories,在該界面的“Platform”下拉框中選擇Custom,在“Show Directories for”下拉框中選擇Other include files, 然后在下面的輸入框里,新建、添加如下路徑:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA \v5.0\include

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\common\inc

如下圖:


②使Visual Assist X 支持.cl; .cu; .cuh文件

使Visual Assist X 實現.cl; .cu; .cuh文件高亮和代碼完成功能,需要編輯注冊表。在修改注冊表時,為避免帶來不必要的錯誤請先關閉Visual Studio 2010。使用Win+R組合鍵打開“運行”窗口,鍵入入regedit命令(register edit的縮寫)打開注冊表,找到如下位置:

HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VANet10

在右邊找到ExtSource 項目,鼠標右鍵選修改,在原有文字后添加如下文字:.cl; .cu; .cuh確定后關閉注冊表。重新打開Visual Studio 2010,Visual Assist X 便開始支持.cl; .cu; .cuh文件的語法高亮及代碼完成。此時.cl; .cu; .cuh文件的CUDA 函數是高亮的,使用函數名符號就會自動提示函數全稱,參數類型等信息。

3.新建項目并添加依賴項

新建一個Win32項目,為了使項目中可以使用OpenCL和CUDA的函數以及OpenCL C語法,需要添加必須的.h頭文件以及dll庫等。
假設已有一新建的項目OpenCLProcessor,右擊該解決方案,選擇項目屬性:

選擇Configuration Properties -> C/C++ -> General,在右側Additional Include Directories中添加頭文件位置入%CUDA_PATH% \include(或將CL文件夾復制到本地代碼路徑中,此處只用填入當前路徑“.”),如下圖:

選擇Configuration Properties -> Linker -> General,在右側Additional Library Directories中添加頭文件位置填入%CUDA_LIB_PATH%,為程序添加程序依賴lib文件位置,如下圖:

然后在Configuration Properties -> Linker -> Input選項卡,在右側的Additional Dependencies中添加依賴庫的名稱:opencl.lib。若還有其他依賴庫,如本文中的FreeImage.lib等,按順序填入并以分號隔開,如下圖:


至此,OpenCL+VS2010的配置以及項目新建代碼已經完成。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/448679.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448679.shtml
英文地址,請注明出處:http://en.pswp.cn/news/448679.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Q-Dir

Q-dir,可以分界面,分文件夾,快捷選擇等優勢,非常好用的工具,可以替代微軟的File Explorer。 官網:https://www.softwareok.com/?seiteFreeware/Q-Dir轉載于:https://www.cnblogs.com/JTCLASSROOM/p/109719…

一行代碼 實現集合去重

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 代碼寫法:(這是針對元素為基本數據類型的集合) 針對引用類型元素去重,可根據元素內多…

《Mali OpenCL SDK v1.1.0》教程樣例之一“Hello World”

1、算法簡述 實現矩陣相加:Cn An Bn。這個例子雖然很簡單,但是由于矩陣元素之間相互獨立,每個元素可以非常容易地進行并行計算,可以非常理想地在OpenCL中實現。 2. C/C實現 [cpp] view plaincopyprint?/* * This confidential…

PHP商城數據庫安全事務處理方法

現在是一個電商時代,做電商的首先得有一個商城,所以商城的安全也是不容忽視的,一個數據安全的商城離不開數據庫的事務處理,商城在資金、商品、下單、結賬等重要步驟加上事務控制這是不一定不可少的,像市場上的一些開源…

職業規劃之ABZ,未雨綢繆35歲危機

35歲的中年人正面臨著上有老下有小,房貸車貸等生活壓力,然而在職場上又面臨被裁員或在招聘中年齡超限的尷尬局面。那么,我們如何應對此危機呢?ABZ理論為我們打開了一扇天窗。 ABZ理論由著名的創業者投資人,LinkedIn和P…

集合去重 (集合元素為引用類型)--- java 8 新特性 --- 根據元素單屬性、多屬性實現去重

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 代碼寫法: (要求 JDK 1.8 或 1.8 以上) package gentle.entity;import lombok.Data; /**** auth…

Django--Forms組件使用

Forms組件的使用 在html表單驗證中,需要通過各種信息的驗證,比如注冊界面的姓名、密碼、郵箱、電話等的驗證,是否符合定義好的規則,不可能每次都要取出對應的字段一一判斷,django內置了Forms組件,可以方便的…

yii2關聯表

asArray()這個方法很好用,返回數組是1版本想要的形式,這種方式有種tp框架的感覺轉載于:https://www.cnblogs.com/peipeiyu/p/10974487.html

詳細程序注解學OpenCL一 環境配置和入門程序

本專欄是通過注解程序的方法學習OpenCL,我覺得一個一個地去摳原理也不是辦法,干脆直接學習程序,然后把相關原理都直接注解到程序語句當中。 原創地址:http://blog.csdn.net/kenden23/article/details/14101657 一開始要配置好環境…

解決 IDEA 在 commit 代碼時 git 日志亂碼 (提交時填寫的中文說明亂碼)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1.問題描述: idea 開發代碼中的 中文正常,但提交到碼云時填寫的提交日志是亂碼。 提交到碼云后是這樣的&#…

Box 類

public class Box extends JComponent implements Accessible使用 BoxLayout 對象作為其布局管理器的一個輕量級容器。Box 提供幾個對使用 BoxLayout 的容器(甚至非 Box 容器)有用的類方法。 Box 類可以創建幾種影響布局的不可見組件:glue、s…

神奇的pdfkit工具——將字符串保存為pdf文件

神奇的pdfkit工具——將字符串保存為pdf文件 1、安裝工具包 pip install pdfkit 2、上干貨 import pdfkitdef create_pdf(str_data, to_file):將字符串生成pdf文件 # (需下載wkhtmltox)將程序路徑傳入config對象config pdfkit.configuration(wkhtmltopd…

OpenCL結構

原標題:從零開始學習OpenCL開發(一)架構 1 異構計算、GPGPU與OpenCL OpenCL是當前一個通用的由很多公司和組織共同發起的多CPU\GPU\其他芯片 異構計算(heterogeneous)的標準,它是跨平臺的。旨在充分利用GP…

docker-compose 使用小例

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 只是一個很簡單的小例。 1. 原本有的容器 2. docker-compose.yml 寫法: gentle 處可以任意寫,gentle 是我的項…

2019.6.20

今日內容 MongoDB可視化工具 一、Scrapy爬蟲框架 二、微信機器人 轉載于:https://www.cnblogs.com/jrc123/p/11062606.html

PCL點云 Lebel:Research

https://blog.csdn.net/wokaowokaowokao12345/article/details/73741957 https://blog.csdn.net/u010696366/article/category/3108337轉載于:https://www.cnblogs.com/radiumlrb/p/10986918.html

AMD GPU+VS2010的OpenCL配置

安裝開發環境可以參照DE4-530的OpenCL開發環境搭建(最終版),這篇文章的大部分內容轉載自:http://www.verydemo.com/demo_c92_i226325.html AMD的Heterogeneous Computing有很多AMD的OpenCL資料,包括各種分析工具&#…

ABP開發框架前后端開發系列---(9)ABP框架的權限控制管理

在前面兩篇隨筆《ABP開發框架前后端開發系列---(7)系統審計日志和登錄日志的管理》和《ABP開發框架前后端開發系列---(8)ABP框架之Winform界面的開發過程》開始介紹了權限管理的內容,其中只是列出了內部的權限系統的審…

GIL , 線程池 , 同步 , 異步 , 隊列 , 事件

一.什么是GIL 官方解釋:In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at once. This lock is necessary mainly because CPython’s memory management is not thread-safe. (Howev…

Docker - Compose 使用說明、詳解docker-compose

Compose 模板文件 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 模板文件是使用 Compose 的核心,涉及到的指令關鍵字也比較多。但大家不用擔心,這里面大部分指令…