在Windows 下使用OpenCL

目前,NVIDIAAMD的Windows driver均有支援OpenCL(NVIDIA的正式版driver是從195.62版開始,而AMD則是從9.11版開始)。NVIDIA的正式版driver中包含
OpenCL.dll,因此可以直接使用。AMD到目前為止,則仍需要安裝其SDK才有OpenCL.dll檔。不過,在最新的SDK中,NVIDIA和AMD使用的calling convention是相
同的。也就是說,使用AMD的SDK編譯的OpenCL程式,可以直接在NVIDIA的driver下運作。反過來也是一樣。
AMD的OpenCL SDK是在AMD Stream SDK 2.0里面,目前是beta 4。NVIDIA的OpenCL SDK則包括在最新的CUDA 3.0 SDK beta中。兩個SDK可以同時安裝在同一
部電腦中,基本上不會有沖突的問題。
由于OpenCL SDK的重點只是在header file和程式庫,因此設定上是很單純的。在AMD的SDK中,會建立一個環境變數??ATISTREAMSDKROOTHeader files就在include
目錄中,而程式庫檔案則在lib里面。NVIDIA的SDK也是類似,有一個環境變數??NVSDKCOMPUTE_ROOT不過,因為NVIDIA的SDK同時包括CUDA及OpenCL,因此它
的header files是 ??在OpenCL\common\inc目錄里,而程式庫則是在OpenCL\common\lib里面。
關于程式庫的部份,還有一點特別需要注意的是,AMD和NVIDIA都有提供32 bits及64 bits的程式庫,供32 bits及64 bits的程式使用。NVIDIA的SDK中,32 bits的程式
庫是在lib目錄下的Win32目錄里,而64 bits的則是在x64目錄里。AMD的SDK中,則分別是在x86及x86_64目錄里。
以下是使用Visual Studio 2008 Express 設定的范例:
NVIDIA 的CUDA SDK:
特別注意的是,因為NVIDIA的SDK在區分32 bits及64 bits版本程式庫所使用的目錄名稱(Win32及x64)和Visual Studio 2008內建的$(PlatformName)是一致的,
因此可以直接使用。AMD的SDK就要分別設定了。另外,如果使用的是32 bits的SDK,則不包括64 bits的library,因此路律就不需要再加上$(PlatformName)
以下是AMD SDK 的設定方式:
最后,把OpenCL.lib 加到程式庫里面就可以了(這點對兩個SDK 都是一樣的):
最后再順便提到一個小地方。在MacOS X 10.6 中,OpenCL 的header 檔是存在OpenCL 目錄中,也就是
#include <OpenCL/opencl.h>
但是在Windows 下(以及可能所有其它的OS 下),都是
#include <CL/cl.h>
因此,如果想要讓同一個程式碼,可以同時在各種OS 下都能編譯的話,在include 檔案時,建議寫成:
#ifdef __APPLE__
#include <OpenCL/opencl.h>
#else
#include <CL/cl.h>
#endif
這樣就可以同時在MacOS X 10.6 下,以及其它的OS 下都能使用了。

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

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

相關文章

Java中方法重載

方法重載&#xff1a;指在同一個類中&#xff0c;允許存在一個以上的同名方法&#xff0c;只要它們的參數列表不同即可&#xff0c;與修飾符和返回值類型無關。參數列表&#xff1a;個數不同&#xff0c;數據類型不同&#xff0c;順序不同。重載方法調用&#xff1a;JVM通過方法…

swift -自定義返回圖片,替換系統圖片backItem

隱藏系統返回按鍵 方法1&#xff1a;self.navigationItem.leftBarButtonItem nil //隱藏自定義的itemself.navigationItem.hidesBackButton true //隱藏系統的item方法2&#xff1a;let item UIBarButtonItem(image: nil, style: UIBarButtonItem.Style.plain, target: …

云服務器主機內網 ip 和外網 ip 的區別

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 服務器公網ip   可以用于域名解析ip&#xff0c;服務器遠程登錄ip&#xff0c;是最主要的服務器ip地址。    內網ip   不能用于域…

[Swift]快速反向平方根 | Fast inverse square root

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★?微信公眾號&#xff1a;山青詠芝&#xff08;shanqingyongzhi&#xff09;?博客園地址&#xff1a;山青詠芝&#xff08;https://www.cnblogs.com/strengthen/&#xff09;?GitHub地址&a…

適用于ATI卡的GPU計算MD5的小程序源碼,基于AMD APP SDK開發

以下代碼在win7 home basic , ati hd 5450平臺測試通過&#xff0c;處理速度為每秒100萬次。 程序很簡單&#xff0c;只有一個main.cpp程序。Device端只有一個md5.cl文件。 下面我把代碼貼出來&#xff0c;因為不能上傳附件&#xff0c;我把完整工程包放到了242337476的群共享里…

【CentOS 7筆記11】,目錄權限,所有者與所有組,隱藏權限#171022

2019獨角獸企業重金招聘Python工程師標準>>> shallow丿ove 一. 文件或目錄權限change mode r4&#xff0c;w2&#xff0c;x1 selinux開啟則權限后面會有個. 更改SElinux配置文件&#xff0c;將永久關閉SElinux [rootlocalhost ~]# vi /etc/selinux/config #將默認…

python字符編碼與轉碼

詳細文章: http://www.cnblogs.com/yuanchenqi/articles/5956943.html http://www.diveintopython3.net/strings.html 需知: 1.在python2默認編碼是ASCII, python3里默認是unicode 2.unicode 分為 utf-32(占4個字節),utf-16(占兩個字節)&#xff0c;utf-8(占1-4個字節)&#xf…

IntelliJ IDEA 詳細圖解最常用的配置

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 剛剛使用IntelliJ IDEA 編輯器的時候&#xff0c;會有很多設置&#xff0c;會方便以后的開發&#xff0c;磨刀不誤砍柴工。 比如&#x…

OpenCL快速入門教程

OpenCL快速入門教程 原文地址&#xff1a;http://opencl.codeplex.com/wikipage?titleOpenCL%20Tutorials%20-%201 翻譯日期&#xff1a;2012年6月4日星期一 這是第一篇真正的OpenCL教程。這篇文章不會從GPU結構的技術概念和性能指標入手。我們將會從OpenCL的基礎API開始&…

Git使用教程-idea系列中git使用教程

一、新建項目 新建項目后記得復制git倉庫的地址。 二、上傳項目到git倉庫 在你的idea里新建git倉庫&#xff0c;這是新建本地倉庫&#xff0c;等會會同步到線上git倉庫 新建后如果代碼不是文件名不是綠色的表示沒有加入到git索引中 將需要上傳的文件按照下圖方式add 添加后&…

分布式開放 消息系統 (RocketMQ) 的原理與實踐

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 分布式消息系統作為實現分布式系統可擴展、可伸縮性的關鍵組件&#xff0c;需要具有高吞吐量、高可用等特點。而談到消息系統的設計&…

日本企業RPA導入風險分析和解決對策

日本企業RPA導入風險分析和解決對策 文/馬磊 【UiBot東京特約觀察 第三期】 RPA作為一種能將定型業務完全自動化的技術&#xff0c;在老齡化、少子化和勞動力不足的日本備受矚目。上一期我們談到了關于日本工作方式改革法案的實施以及RPA導入后帶來的積極影響。但是任何事物都會…

使用 OpenCL.Net 進行 C# GPU 并行編程

在 初探 C# GPU 通用計算技術 中&#xff0c;我使用 Accelerator 編寫了一個簡單的 GPU 計算程序。也簡單看了一些 Brahma 的代碼&#xff0c;從它的 SVN 最新代碼看&#xff0c;Brahma 要轉移到使用 OpenCL.Net 作為底層了&#xff0c;于是也去網上搜索了一下&#xff0c;發現…

模擬真實環境之內網漫游

0x00 前言 目標ip&#xff1a;192.168.31.55&#xff08;模擬外網&#xff09; 目的&#xff1a;通過一個站點滲透至內網&#xff0c;發現并控制內網全部主機 0x01 信息收集 用nmap進行端口探測 瀏覽站點時查看元素發現該站點是DotNetCMS v2.0 該版本cms存在SQL注入漏洞&#x…

iOS開發之普通網絡異步請求與文件下載方法

先來說說普通異步下載方法&#xff0c;分為POST、GET兩種 /** GET請求獲取數據*/(void)getDataWithUrl:(NSString *)strUrl finishBlock:(ECGNCNSDictionaryAndNSErrorBlock)finishBlock {if (strUrl.length 0) {return;}NSURL *url [NSURL URLWithString:strUrl];NSMutableU…

超簡單:解析 yml 類型(application.yml)配置文件 、springboot 工程讀取 yml 文件中的值

方法三是我覺得最簡單的。 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 工程結構&#xff1a; 2. 我要讀取 application.yml 中屬性 &#xff1a;spring.rocketmq.namesrvAddr …

初探 C# GPU 通用計算技術

GPU 的并行計算能力高于 CPU&#xff0c;所以最近也有很多利用 GPU 的項目出現在我們的視野中&#xff0c;在 InfoQ 上看到這篇介紹 Accelerator-V2 的文章&#xff0c;它是微軟研究院的研究項目&#xff0c;需要注冊后才能下載&#xff0c;感覺作為我接觸 GPU 通用運算的第一…

d3代碼如何改造成update結構(恰當處理enter和exit)

d3的enter和exit 網上有很多blog講解。說的還湊合的見&#xff1a;https://blog.csdn.net/nicolecc/article/details/50786661 如何把自己的rude繪圖代碼&#xff0c;進行精致化&#xff08;update&#xff09; 不多比比&#xff0c;上代碼示例&#xff1a; d3.selectAll(.circ…

退居二線VS在深圳發展,一個十年IT人的選擇之難

有的人一直以來&#xff0c;身體里彷佛住著兩個靈魂。一個靈魂說&#xff1a;人就要拼搏&#xff0c;要奮斗&#xff0c;要實現理想&#xff0c;要留在中國最繁華的城市&#xff0c;感受大都市的生活&#xff0c;實現個人價值&#xff0c;走上人生巔峰&#xff01;另一個靈魂說…

Jenkins 詳細安裝、構建部署 使用教程

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Jenkins是一個開源軟件項目&#xff0c;是基于Java開發的一種持續集成工具&#xff0c;用于監控持續重復的工作&#xff0c;功能包括&…