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.mzph.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两种方式…