- 軟件大小:105.00M
- 軟件語言:中文
- 軟(ruǎn)件類型:國產軟件
- 軟件類別:免(miǎn)費軟件 / 編程工具
- 更新時間(jiān):2017-06-29 14:46
- 運行環(huán)境:WinAll, WinXP, Win7, Win8, Win10
- 軟件等(děng)級:
- 軟件廠商:
- 官方網(wǎng)站:暫無
5.51M/中文/5.0
32.59M/英文/10.0
96.24M/中文(wén)/10.0
6.41M/中文/10.0
6.06M/中文/10.0
AMD APP SDK是一組高級的軟硬件技術。這款軟件能夠使圖形處理(lǐ)器(AMDGPU)和係統(tǒng)的x86內核(hé)(CPU)共同協作。幫(bāng)助用戶(hù)快而高效的完成任務。歡迎選哦的用戶來下載使用(yòng)。
AMD APP,是AMD Accelerated Parallel Processing的縮寫。中文譯作(zuò)AMD加速並行(háng)處理技(jì)術。是AMD針對旗(qí)下圖(tú)形處(chù)理器(GPU)所(suǒ)推出的通用並行(háng)計算(suàn)技術。利用這種技術可以(yǐ)充分發(fā)揮(huī)AMD GPU的並行運算能力,用於對軟(ruǎn)件進(jìn)行(háng)加速運算(suàn)或進行大型(xíng)的科學運算。AMD APP技術的(de)前身稱作ATI Stream。2010年10月,隨著AMD Radeon HD6800係列顯卡的發布,ATI品牌正式被AMD取代。ATI Stream技術也隨著技術(shù)升級並更(gèng)名為AMD APP技術。AMD APP的競爭對手是nVIDIA CUDA。(來(lái)自百度百科)
AMD最(zuì)近發(fā)布了支持最新的OpenCL 2.0標準的最新通用計(jì)算開發包(bāo)AMD APP SDK 3.0。這標誌著(zhe)異構計(jì)算發展道路上(shàng)的(de)一(yī)個新的裏程碑。OpenCL 2.0實施了很多(duō)AMD所倡導的新的異構係統架構。值(zhí)得注意的是(shì),GPU和CPU設備之間的數據結構指針內存共享的(de)概念可以大大地(dì)簡化GPU參與(yǔ)加速計算的步驟。比起利用OpenCL 1.2,GPU設備利用了OpenCL 2.0排隊功能進行計算任務,為計算內核提供(gòng)了一種更(gèng)加強(qiáng)悍的編程模(mó)型。OpenCL 1.2的通用地址空間是一個強大的(de)編程優勢,但是OpenCL 2.0 引(yǐn)用了(le)一種新的(de)內存對象,叫Pipe,這個(gè)在(zài)采用FIFO機製進行數(shù)據(jù)采集時起到重要的(de)作用。OpenCL的這些還有其他優勢將會幫助你利用現(xiàn)代異(yì)構係統性能的巨大潛力。
安裝過程,我們一般選擇默認(rèn)路徑就行,直接點下一步完成安裝。如果選擇默認自動安裝,那麽會自動(dòng)生成變量
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位機)。
如果不是(shì)選擇默認安裝路徑,那(nà)麽就需要(yào)人為(wéi)修(xiū)改。
係統(tǒng)環境變量PATH需要作(zuò)如下修改,32位(wèi)機和64位(wèi)機分別添加
$(AMDAPPSDKROOT)\bin\x86,對應的就是(shì)C:\Program Files\AMD APP SDK\3.0-0-Beta\bin\x86
$(AMDAPPSDKROOT)\bin\x86_64,對應(yīng)的就是C:\Program Files(x86)\AMD APP SDK\3.0-0-Beta\bin\x86_64
安裝好AMDAPPSDK之後,在命令行下運(yùn)行clinfo命令,將顯(xiǎn)示出你支(zhī)持OpenCL的(de)硬(yìng)件信息。
我們(men)先新建一(yī)個簡單(dān)的工程(chéng),不妨(fáng)取(qǔ)名為Simpleproject,然後編譯連接運行。代碼(mǎ)的內容我(wǒ)們(men)先不探討,在下文中(zhōng)會有詳細介(jiè)紹。
#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;
}
不出意外的(de)話,編譯(yì)過不了,有下(xià)麵的提示。
fatal error C1083: Cannot open include file: 'Cl/cl.h': No such file or directory
顯然(rán),這是(shì)因為工(gōng)程需要的頭文件我們的環(huán)境(jìng)並沒有把它包(bāo)含進(jìn)來,所以,要做如下(xià)配置:
打開項(xiàng)目的Property Pages,在C/C++ -> General ->Additional Include Directories 中添加(jiā)
$(AMDAPPSDKROOT)/include;
點擊(jī)Build工程之後,出現了下麵錯誤。這是由於(yú)我們(men)並沒有把(bǎ)工程需要(yào)的連接庫文件(jiàn)添加(jiā)進來的問題。需要作如下配置。
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
打開項(xiàng)目的Property Pages,在Linker -> General ->Additional Library Directories 中(zhōng)添加
$(AMDAPPSDKROOT)\lib\x86\;
在(zài)Linker -> Input ->Additional Dependencies中選擇(zé)Edit,然後添加
OpenCL.lib
Inherited values中默認的(de)值應該為:
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
程序運行成功。至此(cǐ),AMD APP SDK 3.0的下載安裝(zhuāng)和配置都已經完(wán)成了,不明白之(zhī)處請(qǐng)參閱手(shǒu)冊。
請描述(shù)您所遇到的錯誤(wù),我們將盡(jìn)快予以修正,謝(xiè)謝!
*必填項,請輸入內容