amd app sdk

amd app sdk

版本:v3.0 中文版大小:105.00M

类别: 编程工具 系统:WinAll, WinXP, Win7, Win8, Win10

立即下载
  • amd app sdk v3.0 中文版0

AMD APP SDK是一组高级的软硬件技术。这款软件能够使图形处理器(AMDGPU)和系统的x86内核(CPU)共同协作。帮助用户快而高效的完成任务。欢迎选哦的用户来下载使用。

AMD APP SDK官网介绍

AMD APP,是AMD Accelerated Parallel Processing的缩写。中文译作AMD加速并行处理技术。是AMD针对旗下图形处理器(GPU)所推出的通用并行计算技术。利用这种技术可以充分发挥AMD GPU的并行运算能力,用于对软件进行加速运算或进行大型的科学运算。AMD APP技术的前身称作ATI Stream。2010年10月,随着AMD Radeon HD6800系列显卡的发布,ATI品牌正式被AMD取代。ATI Stream技术也随着技术升级并更名为AMD APP技术。AMD APP的竞争对手是nVIDIA CUDA。(来自百度百科)

amd app sdk官方下载

AMD最近发布了支持最新的OpenCL 2.0标准的最新通用计算开发包AMD APP SDK 3.0。这标志着异构计算发展道路上的一个新的里程碑。OpenCL 2.0实施了很多AMD所倡导的新的异构系统架构。值得注意的是,GPU和CPU设备之间的数据结构指针内存共享的概念可以大大地简化GPU参与加速计算的步骤。比起利用OpenCL 1.2,GPU设备利用了OpenCL 2.0排队功能进行计算任务,为计算内核提供了一种更加强悍的编程模型。OpenCL 1.2的通用地址空间是一个强大的编程优势,但是OpenCL 2.0 引用了一种新的内存对象,叫Pipe,这个在采用FIFO机制进行数据采集时起到重要的作用。OpenCL的这些还有其他优势将会帮助你利用现代异构系统性能的巨大潜力。

AMD APP SDK安装方法

安装过程,我们一般选择默认路径就行,直接点下一步完成安装。如果选择默认自动安装,那么会自动生成变量

AMDAPPSDKROOT=C:\Program Files\AMD APP SDK\3.0-0-Beta\(32位机)

AMDAPPSDKROOT=C:\Program Files(x86)\AMD APP SDK\3.0-0-Beta\(64位机)。

如果不是选择默认安装路径,那么就需要人为修改。

系统环境变量PATH需要作如下修改,32位机和64位机分别添加

$(AMDAPPSDKROOT)\bin\x86,对应的就是C:\Program Files\AMD APP SDK\3.0-0-Beta\bin\x86

$(AMDAPPSDKROOT)\bin\x86_64,对应的就是C:\Program Files(x86)\AMD APP SDK\3.0-0-Beta\bin\x86_64

安装好AMDAPPSDK之后,在命令行下运行clinfo命令,将显示出你支持OpenCL的硬件信息。

AMD APP SDK配置

 我们先新建一个简单的工程,不妨取名为Simpleproject,然后编译连接运行。代码的内容我们先不探讨,在下文中会有详细介绍。

#include <Cl/cl.h>

#include <stdio.h>

#define NWITEMS 512

//A simple memset kernel

const char *source = 

"__kernel void memset( __global uint *dst ) \n"

"{ \n"

" dst[get_global_id(0)] = get_global_id(0); \n"

"} \n";

int main(int argc, char ** argv)

{

// 1. Get a platform.

cl_platform_id platform;

clGetPlatformIDs( 1, &platform, NULL );

// 2. Find a gpu device.

cl_device_id device;

clGetDeviceIDs( platform, CL_DEVICE_TYPE_GPU,1,&device,NULL);

// 3. Create a context and command queue on that device.

cl_context context = clCreateContext( NULL, 1, &device, NULL, NULL, NULL);

cl_command_queue queue = clCreateCommandQueue( context, device, 0, NULL );

// 4. Perform runtime source compilation, and obtain kernel entry point.

cl_program program = clCreateProgramWithSource( context, 1, &source, NULL, NULL );

clBuildProgram( program, 1, &device, NULL, NULL, NULL );

cl_kernel kernel = clCreateKernel( program, "memset", NULL );

// 5. Create a data buffer.

cl_mem buffer = clCreateBuffer( context, CL_MEM_WRITE_ONLY, NWITEMS*sizeof(cl_float), NULL, NULL);

// 6. Launch the kernel. Let OpenCL pick the local work size.

size_t global_work_size = NWITEMS;

clSetKernelArg(kernel, 0, sizeof(buffer), (void*) &buffer);

clEnqueueNDRangeKernel( queue, kernel, 1, NULL, &global_work_size, NULL, 0, NULL, NULL);

clFinish( queue );

// 7. Look at the results via synchronous buffer map.

cl_uint *ptr;

ptr = (cl_uint *) clEnqueueMapBuffer( queue, buffer, CL_TRUE, CL_MAP_READ, 0, NWITEMS * sizeof(cl_uint), 0, NULL, NULL, NULL );

int i;

for(i=0; i < NWITEMS; i++)

printf("%d %d\n", i, ptr[i]);

return 0;

}

   不出意外的话,编译过不了,有下面的提示。

fatal error C1083: Cannot open include file: 'Cl/cl.h': No such file or directory

   显然,这是因为工程需要的头文件我们的环境并没有把它包含进来,所以,要做如下配置:

   打开项目的Property Pages,在C/C++ -> General  ->Additional Include Directories 中添加

$(AMDAPPSDKROOT)/include;


   点击Build工程之后,出现了下面错误。这是由于我们并没有把工程需要的连接库文件添加进来的问题。需要作如下配置。

1>SimpleProject.obj : error LNK2019: unresolved external symbol _clGetPlatformIDs@12 referenced in function _main

1>SimpleProject.obj : error LNK2019: unresolved external symbol _clGetDeviceIDs@24 referenced in function _main

1>SimpleProject.obj : error LNK2019: unresolved external symbol _clCreateContext@24 referenced in function _main

1>SimpleProject.obj : error LNK2019: unresolved external symbol _clCreateBuffer@24 referenced in function _main

1>SimpleProject.obj : error LNK2019: unresolved external symbol _clCreateProgramWithSource@20 referenced in function _main

1>SimpleProject.obj : error LNK2019: unresolved external symbol _clBuildProgram@24 referenced in function _main

1>SimpleProject.obj : error LNK2019: unresolved external symbol _clCreateKernel@12 referenced in function _main

1>SimpleProject.obj : error LNK2019: unresolved external symbol _clSetKernelArg@16 referenced in function _main

1>SimpleProject.obj : error LNK2019: unresolved external symbol _clFinish@4 referenced in function _main

1>SimpleProject.obj : error LNK2019: unresolved external symbol _clEnqueueMapBuffer@44 referenced in function _main

1>SimpleProject.obj : error LNK2019: unresolved external symbol _clEnqueueNDRangeKernel@36 referenced in function _main

1>SimpleProject.obj : error LNK2019: unresolved external symbol _clCreateCommandQueue@20 referenced in function _main

   打开项目的Property Pages,在Linker -> General  ->Additional Library Directories 中添加

$(AMDAPPSDKROOT)\lib\x86\;

   在Linker -> Input  ->Additional Dependencies中选择Edit,然后添加

OpenCL.lib

   Inherited values中默认的值应该为:

kernel32.lib

user32.lib

gdi32.lib

winspool.lib

comdlg32.lib

advapi32.lib

shell32.lib

ole32.lib

oleaut32.lib

uuid.lib

odbc32.lib

odbccp32.lib

AMD APP SDK

 程序运行成功。至此,AMD APP SDK 3.0的下载安装和配置都已经完成了,不明白之处请参阅手册。

查看全部

更新时间:2017-06-29
网友评论
我要跟贴
取消
同类推荐
热门精品
最新应用