AMD GPU+VS2010的OpenCL配置

安裝開發環境可以參照DE4-530的OpenCL開發環境搭建(最終版),這篇文章的大部分內容轉載自:http://www.verydemo.com/demo_c92_i226325.html

AMD的Heterogeneous Computing有很多AMD的OpenCL資料,包括各種分析工具,是個很不錯的OpenCL學習站點。

因為該文章寫的還不錯,所以就偷懶直接轉載過來了,當然還加了一些自己所遇到的問題解決方法。

首先你要裝好催化劑顯卡驅動。


安裝AMD APP SDK

下載AMD APP SDK安裝包,比如64的就叫AMD-APP-SDK-v2.4-Windows-64.exe,安裝AMD APP SDK,如圖1。

圖1
安裝完之后重新啟動。

首先知道一下安裝的位置,我這里按默認裝在了 C:\Program Files (x86)\AMD APP\ ,如圖2。

圖2

系統安裝的時候系統已經設置了一個環境變量AMDAPPSDKROOT來指示安裝的位置,可以在cmd里查看,如圖3。

圖3

系統也已經把可執行路徑加到了PATH里,這樣就可以找到OpenCL的運行庫。如圖4。

圖4


生成OpenCL工程

打開一個已有的OpenCL項目,或者新建一個項目。
如果新建項目,點擊文件->新建,建立一個空項目。加入一個自己寫的HellowCL之類的源碼,如果沒有,我這里寫了一個初始化的小源碼,諸位可以自行下載添加,結果如圖5。OpenclConfig.cpp

圖5
?

配置OpenCL工程

如果不進行配置的話,則會在“生成->生成解決方案”時,提示以下錯誤

“fatal error C1083:?無法打開包括文件:“CL/cl.h”: No such file or directory”

所以,需要進行以下配置

因為安裝包已經在系統的PATH路徑里加入了動態鏈接庫的路徑,所以就沒有必要再在VS里添加了,我們需要做的就是添加需要的包含目錄和庫目錄,為了同時兼容32位和64位系統,需要對32位系統和64位系統差異對待。如果你只考慮單個平臺下的配置,那么只需要以下內容中相應平臺的配置即可。

64位獨有的配置

由于默認的環境是Win32,我們在這里添加一個x64的平臺支持,前提是你安裝了64位的編譯器,如果你不需要64位,那么往下看即可。直接進入“一. 通用配置”。

1. 左側項目名右鍵->屬性
2. 看到屬性頁窗口之后,點擊右上方的配置管理器,
3. 在配置管理器中下拉,選擇<新建>
4. 在鍵入或選擇新平臺中下拉,選擇x64,確定
以上過程如圖6。

圖6

一、通用配置,32位和64位都得有的,打開項目屬性頁:
(1)左上角配置選所有配置,平臺選所有平臺
(2)C/C++->常規->附加包含目錄添加$(AMDAPPSDKROOT)\include,如圖7。

圖7

(3)鏈接器->輸入,附加依賴項里加入OpenCL.lib,如圖8。

AMD?<wbr>GPU+VS2010的OpenCL配置
圖8

二、32位獨有的配置,項目屬性頁中:
(1)左上角配置選所有配置,平臺選Win32
(2)鏈接器->常規附加庫目錄,加入$(AMDAPPSDKROOT)\lib\x86,如圖9。

圖9

三、64位獨有的配置,項目屬性頁中:
(1)左上角配置選所有配置,平臺選x64
(2)鏈接器->常規附加庫目錄,加入$(AMDAPPSDKROOT)\lib\x86_64,如圖10。

圖10

以上配置完成之后即可編譯運行,在上面給出的代碼中,如果看到圖11,說明編譯運行成功。(由于程序不同,所以我的現象不是這樣的,結果在后面的圖中)

圖11

如果32位和64位的都配置好了,可以在工具欄里選擇Debug/Release,Win32/x64的任意組合進行編譯。

望大家Coding愉快!

此時點擊“生成 -> 生成解決方案”成功,不會有任何問題

?

調試OpenCL工程

點擊綠色按鈕(啟動調試),此時出現如下信息:

“已加載“C:\Windows\System32\IPHLPAPI.DLL”,Cannot find or open the PDB file”

進入“調試 -> 選項和設置?->?調試?->?符號”,把“Microsoft符號服務器”選中。如圖12。

AMD?<wbr>GPU+VS2010的OpenCL配置

圖12
這個時候則基本能運行我們的程序。(雖然還有部分同樣的信息,但是貌似不影響)

我所運行的程序是“AMD APP\samples\opencl\cl\app\HelloWorld”的程序(在安裝AMD APP SDK后會有這樣的實例文件夾),輸出“HelloWorld”則表示運行成功,由于正常調試時輸出顯示窗口一晃而過,所以我在釋放資源之前加了一個斷點進行調試。其結果為圖13。

AMD?<wbr>GPU+VS2010的OpenCL配置

圖13

至此,則將VS2010的OpenCL程序基本運行成功,可以進行下一步的學習!

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

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

相關文章

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

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

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

在Windows下使用OpenCL配置

前言 目前&#xff0c;NVIDIA 和 AMD 的 Windows driver 均有支持OpenCL&#xff08;NVIDIA 的正式版 driver 是從自195.62 版開始&#xff0c;而 AMD則是從9.11 版開始&#xff09;。NVIDIA 的正式版 driver 中包含 OpenCL.dll&#xff0c;因此可以直接使用。AMD 到目前為止…

Linux下啟動mongodb

完成安裝mongodb&#xff08;略&#xff09; 創建數據目錄&#xff1a; # mkdir /data/mongo 創建配置文件 # vi /data/mongo/mongodb.cnf dbpath/data/mongo/ logpath/data/mongo/mongo.log logappendtrue forktrue port27017 或者&#xff1a;不創建配置文件通過mongod參數啟…

Linux調優(文件系統)

查看單個文件是否發生碎片化&#xff08;被存在磁盤非連續磁盤塊上&#xff09;# filefrag -v /var/log/messages 查看文件系統是否存在大量碎片&#xff08;會顯示空閑離散的塊&#xff09;# dumpe2fs /dev/sda1 檢查文件系統中是否有錯誤產生# fsck /dev/sdb1 1、格式化相關 …

使用 nohup 設置后臺進程

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 引言&#xff1a; 有時候需要在Linux上設置一個后臺進程&#xff0c;但是當你關閉terminal之時&#xff0c;它會被系統kill掉&#xff0…

CVE-2019-0708 BlueKeep的掃描和打補丁

2019獨角獸企業重金招聘Python工程師標準>>> 簡介 CVE-2019-0708 BlueKeep是一個Windows遠程桌面服務的遠程代碼執行漏洞&#xff0c;其危害程度不亞于CVE-2017-0143 EternalBlue&#xff0c;該漏洞影響了某些舊版本的Windows系統。此漏洞是預身份驗證&#xff0c;無…

《OpenCL異構計算》新版中譯本派送中!

《OpenCL異構計算1.2》新鮮出爐&#xff0c;目前市面上仍一書難求&#xff01;我們已向清華出版社訂購到第一批新書。關注異構開發社區&#xff0c;積極參與&#xff0c;就有可能免費獲取新書&#xff01; 1.如果您異構社區的老朋友&#xff0c;請關注&#xff1a;10.1假期后我…

centOS安裝Ftp

1、查看是否安裝 rpm -q vsftpd 2、安裝方法 yum install -y vsftpd 3、查看安裝位置 whereis vsftpd 4、服務管理 //服務狀態systemctl status vsftpd.service//服務啟動systemctl start vsftpd.service//服務停止systemctl stop vsftpd.service//開啟啟動systemctl enable vs…

查看、關閉當前服務器上啟動服務 / 進程

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 我用 java -jar 的方式啟動了一個服務&#xff0c;然后要關閉這個服務 / 進程。 1. ps -aux 查看當前進程&#xff0c;整個列表最 后一…

Python基礎小結

目錄 一、執行Python程序的兩種方式1.1 交互式1.2 命令行式二、執行Python程序的兩種IDE2.1 Pycharm2.2 Jupyter三、變量3.1 什么是變量?3.2 變量的組成?3.3 變量名的定義規范3.4 定義變量的兩種方式3.5 常量四、注釋4.1 單行注釋4.2 多行注釋4.3 引用計數4.4 垃圾回收機制4.…

Booster 系列之——多線程優化

項目地址&#xff1a;github.com/didi/booste… 對于開發者來說&#xff0c;線程管理一直是最頭疼的問題之一&#xff0c;尤其是業務復雜的 APP&#xff0c;每個業務模塊都有著幾十甚至上百個線程&#xff0c;而且&#xff0c;作為業務方&#xff0c;都希望本業務的線程優先級最…

OpenCL

OpenCL&#xff08;全稱Open Computing Language&#xff0c;開放運算語言&#xff09;是第一個面向異構系統通用目的并行編程的開放式、免費標準&#xff0c;也是一個統一的編程環境&#xff0c;便于軟件開發人員為高性能計算服務器、桌面計算系統、手持設備編寫高效輕便的代碼…

dubbo的底層原理

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、Duboo基本概念解釋 Dubbo是一種分布式服務框架。 Webservice也是一種服務框架&#xff0c;但是webservice并不是分布式的服務框架&…

BOM屬性對象方法

本文原鏈接&#xff1a;https://cloud.tencent.com/developer/article/1018747 BOM 1.window對象 2.location對象 3.history對象 BOM也叫瀏覽器對象模型&#xff0c;它提供了很多對象&#xff0c;用于訪問瀏覽器的功能。BOM缺少規范&#xff0c;每個瀏覽器提供商又按照自己想法…

nginx+php+mysql+haproxy+keepalived+NFS,搭建wordpress

實現LNMP 實現環境&#xff1a; 服務版本系統CentOS7.6Mysql5.6.34Nginx1.14.2PHP7.1.30HAProxy1.8.20Keepalived1.3.5NFS1.3.0主機IPMysql_master192.168.37.108Mysql_slave192.168.37.105NginxPHP192.168.37.103NginxPHP192.168.37.104HAProxyKeepalived192.168.37.101HAPro…

OpenCL “速成”沖刺【第一天】

話說軟件開發從來沒有速成一說&#xff0c;一門語言你學的越快&#xff0c;說明你在別的語言上下個功夫越多&#xff0c;所以這次加了引號&#xff0c;只不過幾周之后可能會有一個公司內部OpenCL的考核&#xff0c;雖然本人不需要考核&#xff0c;不過也正好借機整理下之前Open…

Java8函數式編程

最近使用lambda表達式&#xff0c;感覺使用起來非常舒服&#xff0c;箭頭函數極大增強了代碼的表達能力。于是決心花點時間深入地去研究一下java8的函數式。 一、lambda表達式 先po一個最經典的例子——線程 public static void main(String[] args) {// Java7new Thread(new R…

電腦如何獲得管理員權限

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 我只是記錄下&#xff0c;方便以后查看。 參見&#xff1a; https://jingyan.baidu.com/article/ab69b270ff426e2ca6189f54.html