OpenCL的安裝與配置

Windows

步驟 1:在 http://developer.amd.com/pages/default.aspx根據相應的操作系統,下載最新的 AMD driver, AMD APP SDK。AMD APP SDK目前支持Windows VISTA[32][64]bit,Windows 7[32][64]bit操作系統。

步驟 2:如果已經安裝了低版本的 SDK,需要先進行卸載操作。然后,用戶依次安裝AMD driver和AMD APP SDK. AMD APP SDK目前支持VS2008和VS2010開發環境。在安裝過程中會自動添加一部分環境變量。

步驟3:在運行->cmd中鍵入clinfo,查看輸出信息,如果所有計算設備都能找到,說明安裝成功。

步 驟4:然后開始編譯SDK Sample里的例子。在$(AMDAPPSDKSAMPLESROOT)\samples\opencl目錄下的OpenCLSamples.sln解 決方案,包含了多個OpenCL工程。用戶可根據需要選擇相應工程,并 Set As StartUp Project(設置為啟動項目 ),然后進行build和debug。可執行文件保存在 $( AMDAPPSDKSAMPLESROOT)\samples\opencl\bin相應目錄下。

步驟 5:當開發人員要建立自己的 OpenCL項目時,可以在 Solution Explorer(解決方案資源管理器)中按照向導建立工程,并按照步驟 4進行編譯和調試。另一種方式是,用戶可以在 SDK中的模板工程( /Template)對源碼進行修改并編譯執行。

Linux

步驟1:在 http://developer.amd.com/pages/default.aspx上下載Linux下的AMD driver和AMD APP SDK

步驟 2:打開終端,首先需要安裝 AMD driver成功。然后解壓 SDK安裝包并編譯。為了保證系統能夠找到 OpenCL的庫文件 libOpenCL.so,需要將庫文件路徑加入環境變量中。

對于32位系統
export LD_LIB_RY_PATH=$AMDAPPSDKROOT/lib/x86:$LD_LIB_RY_PATH

對于64位系統
export LD_LIB_RY_PATH=$AMDAPPSDKROOT/lib/x86_64:$LD_LIB_RY_PATH

步驟3:到 Samples的目錄下($(AMDAPPSDKSAMPLESROOT)/samples/opencl/bin/),并選擇相應的架構 (x86或x86_64)。在該目錄下,即為例程編譯出的可執行文件。

步 驟4:例程的源代碼在 $( AMDAPPSDKSAMPLESROOT)/samples/opencl/cl/app目錄下。當開發人員要建立自己的 OpenCL項目時,可以在該目錄下新建工程,或直接在SDK中的模板工程(/Template)中對源碼進行修改并編譯執行。

A.2 AMD OpenCL profiler工具

AMD Stream SDK中包含了一個針對OpenCL的profiler工具,它能和Microsoft Visual Studio相結合,開發人員可以根據profiler得出的數據對 OpenCL進行分析和進一步優化。AMD OpenCLprofiler的使用步驟如下:

步驟 1:打開 Microsoft Visual Studio中要進行profiling的工程,Set As StartUp Project(設置為89啟動項目)。

步驟 2:選擇 View → OtherWindows → OpenCLSessionList,點擊窗口左上角的Start profiling按鈕即開始對當前項目進行分析。

步 驟 3:程序運行結束即會出現一個數據表格,表格中各項的描述如表 A.1 所示,開發人員可以根據分析數據調整和優化 OpenCL程序。另外,雙擊表格中 kernel名稱可以打開一個只讀的代碼查看窗口,開發人員可以選擇性的對由 OpenCL kernel程序生成的 IL(Intermediate Language)和ISA(Instruction Set Architecture)進行分析。

表 A.1: AMD OpenCL profiler參數說明



參數名稱描述

AMD APP Kernel Analyzer

AMD APP Kernel Analyzer是AMD APP SDK中提供的一個用于靜態分析kernel的工具,可以利用這個工具離線生成ISA并分析性能。在開始->所有程序->AMD APP SDK->tools中可以找到這個工具,打開程序,將kernel粘貼到代碼區,然后點擊編譯,得到ISA代碼。

gDebugger

gDebugger 是AMD提供的用于debug OpenCL的專用工具,目前僅支持作為vs2010的插件使用,在http://developer.amd.com/pages /default.aspx選項卡中即可見到這個工具,使用方法類似vs2010本身 的debugger。

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

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

相關文章

解決:java.lang.IllegalStateException: ApplicationEventMulticaster not initialized

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. springboot 項目啟動時報錯: java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call …

李洋瘋狂C語言之求素數的方法

今天課上李洋老師講到求素數時,講了一種新的方法,一開始聽得我一臉懵逼,但當我理解的時候,眼前一亮,老師的算法省去了不少步驟,話不多說,附上題目:求100到200之間的素數。 輸入&…

面試官問我:平常如何對你的 Java 程序進行調優?

閱讀本文大概需要 10 分鐘。作者:張俊城, 郭理勇, 劉建來源:http://t.cn/AiCTERJzJava 應用性能優化是一個老生常談的話題,典型的性能問題如頁面響應慢、接口超時,服務器負載高、并發數低,數據庫頻繁死鎖等。尤其是在“…

c語言—變量

變量 存儲類型auto register static extern 變量在內存空間中的首地址&#xff0c;稱為變量的地址。 變量的定義形式&#xff1a;<存儲類型> <數據類型> <變量名> 存儲類型&#xff1a;auto register static extern auto (不寫默認是auto)局部變量auto 變量的…

李洋瘋狂C語言之關于自增自減遇到的一些問題

今天講到自增的時候&#xff0c;遇到個難點&#xff0c;單個的自增自減運算還是挺簡單的&#xff0c;但是如果是多個自增自減&#xff0c;就會變得比較麻煩&#xff0c;在windows環境和Linux環境中也會得到不一樣的結果&#xff0c;windows中比較簡單&#xff0c;他會將所有前綴…

Servlet的入門

什么是Servlet? Servlet是運行在服務端的java小程序,是sun公司提供的一套規范,用來處理客戶端請求.響應給瀏覽器的動態資源.Servlet是JavaWeb三大組件之一(Setvlet.Filter.Listener),且最重要. Servlet的作用? 用來處理從客戶端發送過來的請求,并對該請求做出響應. Servlet的…

快速部署ldap服務

快速部署ldap服務 作者&#xff1a;尹正杰 版權聲明&#xff1a;原創作品&#xff0c;謝絕轉載&#xff01;否則將追究法律責任。 一.LDAP概述 1.什么是目錄服務(1)目錄是一類為了瀏覽和搜索數據二十幾的特殊的數據庫&#xff0c;例如&#xff1a;最知名的的微軟公司的活動目錄…

expected at least 1 bean which qualifies as autowire candidate. Dependency a...

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 啟動 sringboot 項目報錯&#xff1a; expected at least 1 bean which qualifies as autowire candidate for this dependency. 原因…

李洋瘋狂C語言之break和continue的區別

1、break (1) 只能在循環體內和switch語句體內使用break語句。 (2) 當break出現在循環體中的switch語句體內時&#xff0c;其作用只是跳出該switch語句體。 (3) 當break出現在循環體中&#xff0c;但并不在switch語句體內時&#xff0c;則在執行break后&#xff0c;跳出本層…

Install OpenCL on Debian, Ubuntu and Mint orderly

Libraries – can’t have enough If you read different types of manuals how to compile OpenCL software on Linux, then you can get dizzy of all the LD-parameters. Also when installing the SDKs from AMD, Intel and NVIDIA, you get different locations for libra…

linux7 配置mysql5.7字符集編碼

linux 安裝后 mysql5.7 字符集默認是拉丁&#xff0c;不能存儲中文&#xff0c;修改步驟如下&#xff1a; 在 vim /etc/mysql/my.cnf 修改配置文件 在[mysqld] 下添加如下配置 character-set-serverutf8 init_connectSET NAMES utf8 重啟mysql服務 systemctl restart mysqld.…

解決:java.io.IOException: invalid constant type: 15

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 啟動 dubbo 服務報錯&#xff1a; java.io.IOException: invalid constant type: 15 我的情況是項目本身 是用的1.7 。而我自己用的…

liunx常用命令筆記

安裝軟件教程 linux安裝java&#xff1a;https://www.cnblogs.com/lamp01/p/8932740.html linux安裝mysql&#xff1a;https://www.cnblogs.com/daemon-/p/9009360.html linux安裝redis&#xff1a;https://blog.csdn.net/qq_30764991/article/details/81564652 linux安裝nginx…

李洋瘋狂C語言之編程實現統計某年某月份的天數

今天的題目&#xff1a;編程實現統計某年某月的天數 例如&#xff1a; 輸入&#xff1a;2017.7 輸出&#xff1a;31天 先附上我自己想的方法&#xff0c;由于幾個功能放一起太繁瑣&#xff0c;于是我想把他們分為三個函數&#xff0c;分別來實現這個功能&#xff1a; #incl…

MQ 之 RocketMQ

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 RocketMQ 是出自 A 公司的開源產品&#xff0c;用 Java 語言實現&#xff0c;在設計時參考了 Kafka&#xff0c;并做出了自己的一些改進…

好久沒敲代碼了(強行補上今天的博客。。。)

流水賬日記&#xff08;哈哈&#xff09; 今天沒課&#xff0c;早上好好的睡了個懶覺&#xff08;雖然還是很困- -&#xff09;&#xff1b; 哥幾個把昨天買的排骨洗了做了個排骨湯&#xff0c;雖然不如家里做的好吃&#xff0c;但對此時的我們來說已經是美味了&#xff0c;晚…

Ubuntu下使用AMD APP編寫OpenCL程序

對于Ubuntu或其近親&#xff08;Lubuntu、Kubuntu、Mint等&#xff09;編寫OpenCL程序也不會太難。由于本例用的是AMD APP SDK&#xff0c;因此需要AMD的GPU以及相關驅動。首先&#xff0c;去AMD官網下載GPU驅動——AMD Catalyst。如果你用的是APU并且還有一塊獨立顯卡的話&…

jdk的安裝與配置

Linux一、安裝JDK 從sun網站上直接下載JDK&#xff1a;http://java.sun.com/j2se/1.4.2/download.html提供了兩個下載j2re-1_4_2_10-linux-i586.bin 13.75 MB, j2re-1_4_2_10-linux-i586-rpm.bin 13.27 MB&#xff1a;1、RPM in self-extracting file (j2re-1_4_2_10-linux…

李洋瘋狂C語言之n個人報數,報到3的退出,最后留在場上的是原來的第幾位(約瑟夫環)

今天老師布置了個題目&#xff0c;約瑟夫環&#xff0c;俗稱猴子選大王。n個人報數&#xff0c;報到3的退出&#xff0c;最后留在場上的時原來的第幾位 #include <stdio.h>int main() {int i, n, q, p 0; //計數 i ,人數 n ,報數 p ,場上人數 qprintf ("input…

搭建Vue腳手架(vue-cli)并創建一個項目

1、 安裝nodejs環境 官網下載&#xff1a;https://nodejs.org/en/download/ 一直默認就行&#xff0c;路徑可以改變但要記得到 安裝完成后cmd&#xff0c;輸入node -v ,npm -v 如果能看到node和npm的版本號了&#xff0c;說明已經安裝成功 2、安裝vue-cli 有npm和cnpm兩種方式…