AMD ver철ffentlicht Preview-Versionen kommender Entwicklertools

AMD hat auf sei짯ner Ent짯wick짯ler짯sei짯te Pre짯view-Ver짯sio짯nen der kom짯men짯den Ent짯wick짯ler짯tools Acce짯le짯ra짯ted Par짯al짯lel Pro짯ces짯sing (APP) Soft짯ware Deve짯lo짯p짯ment Kit (SDK) 2.9, CodeXL 1.3 sowie Bolt 1.1 zum Down짯load bereit짯ge짯stellt. Au횩er짯dem wird inter짯es짯sier짯ten Tes짯tern ein soge짯nann짯ter 쏤riends-of-AMD-Gutschein f체r die Teil짯nah짯me am AMD Deve짯lo짯per Sum짯mit 2013 (APU13) in Aus짯sicht gestellt, auf dem dann die neu짯en Ver짯sio짯nen offi짯zi짯ell vor짯ge짯stellt wer짯den sol짯len. Jenen Gut짯schein sol짯len die ers짯ten 100 Teil짯neh짯mer erhal짯ten, wel짯che die neu짯en Ver짯sio짯nen der Tools getes짯tet und anschlie짯횩end einen Fra짯ge짯bo짯gen aus짯ge짯f체llt haben. Wie gro횩 der Preis짯nach짯lass gegen짯체ber dem Nor짯mal짯preis von 695,- US-Dol짯lar aus짯f채llt, dazu schweigt sich AMD in sei짯nem Blog-Post jedoch aus. F체r Kurz짯ent짯schlos짯se짯ne k철nn짯te sich ein Blick jedoch lohnen.

AMD APP SDK 2.9

Das AMD APP SDK ist AMDs L철sung zur Ent짯wick짯lung par짯al짯le짯li짯sier짯ter Soft짯ware auf Basis der Open짯CL-Pro짯gram짯mier짯platt짯form. Mit der Ver짯철f짯fent짯li짯chung neu짯er APP SDKs wer짯den vor allem die Doku짯men짯ta짯ti짯on auf den neu짯es짯ten Stand gebracht und die Pro짯gram짯mier짯bei짯spie짯le erg채nzt bzw. 체ber짯ar짯bei짯tet. Zudem nutzt AMD die Gele짯gen짯heit, um neue Ver짯sio짯nen sei짯ner Tools zu ver짯철f짯fent짯li짯chen. Die Open짯CL-Lauf짯zeit짯um짯ge짯bung lie짯fert AMD mitt짯ler짯wei짯le als fes짯ten Bestand짯teil der Cata짯lyst-Trei짯ber짯pa짯ke짯te aus, sodass die짯se ste짯tig wei짯ter짯ent짯wi짯ckelt wird.

AMD APP SDK v2.9 includes the fol짯lo짯wing new features:

  • Linux sup짯port for Bolt: As the next step toward broad cross-OS sup짯port, Bolt now adds sup짯port for Linux. Bolt can be built with GCC 4.6.3 and abo짯ve, and will run on the fol짯lo짯wing dis짯tri짯bu짯ti짯ons: Open짯Su짯se 12.3, RHEL 6.4 64-bit, RHEL 6.3 32-bit, and Ubun짯tu 13.
  • Bolt: Mul짯ti짯Co짯re code paths have been added for all the rou짯ti짯nes inclu짯ding the new rou짯ti짯nes. All the rou짯ti짯nes now sup짯port the Open짯CL꽓, Mul짯ti짯Co짯re CPU (TBB), and Seri짯al paths. One new sam짯ple has been added to demons짯tra짯te the use of the fea짯tures of Bolt 1.1. For infor짯ma짯ti짯on on the per짯for짯mance impro짯ve짯ments, see 1.3, 쏫ey fea짯tures sup짯port짯ed in Bolt 1.1.
  • Open짯CV: AMD has been working clo짯se짯ly with the Open짯CV open source com짯mu짯ni짯ty to add hete짯ro짯ge짯neous acce짯le짯ra짯ti짯on capa짯bi짯li짯ty to the world셲 most popu짯lar com짯pu짯ter visi짯on libra짯ry. The짯se chan짯ges are alre짯a짯dy inte짯gra짯ted into Open짯CV and are rea짯di짯ly available for deve짯lo짯pers who want to impro짯ve the per짯for짯mance and effi짯ci짯en짯cy of their com짯pu짯ter visi짯on appli짯ca짯ti짯ons. The new samples illus짯tra짯te the짯se impro짯ve짯ments and high짯light how simp짯le it is to include them in your appli짯ca짯ti짯on. For infor짯ma짯ti짯on on the latest Open짯CV enhance짯ments, see Har짯ris blog.
  • AMD APP SDK 2.9 also includes new Open짯CL, Bolt 1.1, and Open짯CV samples including:
  • New Open짯CL samples:
    Dyna짯micO짯pen짯CLDe짯tec짯tion: A sam짯ple that shows how to dyna짯mi짯cal짯ly detect Open짯CL plat짯form avai짯la짯bi짯li짯ty on a machi짯ne and accor짯din짯gly run eit짯her an Open짯CL ver짯si짯on or a sequen짯ti짯al ver짯si짯on of the application.
    KMe짯an짯sAu짯to짯Clus짯te짯ring: A sam짯ple that demons짯tra짯tes the clus짯te짯ring of a given set of points into the most fit짯ting num짯ber of clus짯ters using the K몀eans clus짯te짯ring algo짯rithm and the Sil짯hou짯et짯te method.
    Buf짯fer짯Ima짯geInterOp: A sam짯ple that demons짯tra짯tes the inter짯ope짯ra짯bi짯li짯ty bet짯ween an Open짯CL Image object and the Open짯CL buf짯fer object.
    SimpleDX9: A sam짯ple that demons짯tra짯tes the inter짯ope짯ra짯bi짯li짯ty bet짯ween an Open짯CL buf짯fer and a DirectX9 buffer.
    Asyn짯cDa짯ta짯Trans짯fer: A sam짯ple that demons짯tra짯tes how to harness asyn짯chro짯no짯us memo짯ry trans짯fer in Open짯CL. The sam짯ple shows the over짯lap of ker짯nel exe짯cu짯ti짯on and data trans짯fer in a device.
    Con짯cur짯rent짯Ker짯nels: A sam짯ple that demons짯tra짯tes how to exe짯cu짯te more than one ker짯nel con짯curr짯ent짯ly using mul짯ti짯ple com짯mand queues.
  • New BOLT sample:
    Per짯lin짯Noi짯se: A sam짯ple that imple짯ments the Per짯lin noi짯se visu짯al effect using Bolt. The sam짯ple gene짯ra짯tes noi짯se simi짯lar to a cloud, which gets stored as a 2D Image.
  • New Open짯CV sample:
    Ges짯tu짯re짯Re짯co짯gni짯ti짯on: A sam짯ple that demons짯tra짯tes ges짯tu짯re reco짯gni짯ti짯on using Open짯NI libra짯ri짯es and the inter짯ope짯ra짯bi짯li짯ty bet짯ween Open짯CV-CL and Open짯NI. This sam짯ple works with .oni files and live feed from a 3D depth camera.
  • AMD APP SDK 2.9 includes sup짯port for the CMake build tool, which is popu짯lar among the deve짯lo짯per com짯mu짯ni짯ty. For Win짯dows, in addi짯ti짯on to CMake, Visu짯al Stu짯dio sup짯port is available.
  • AMD APP SDK 2.9 includes the AMD SDK Sam짯ple Brow짯ser. The AMD SDK Sam짯ple Brow짯ser pro짯vi짯des users with a uni짯fied GUI inter짯face to brow짯se through the various samples pre짯sent in AMD셲 SDKs and to access code, bench짯marks, and docu짯men짯ta짯ti짯on rela짯ted to the samples. The AMD SDK Sam짯ple Brow짯ser allows users to run advan짯ced sear짯ches, inclu짯ding full text sear짯ches, based on the SDK type, com짯ple짯xi짯ty, tech짯no짯lo짯gy, and con짯tent of the samples.
  • AMD APP SDK 2.9 also includes a com짯po짯nent-based instal짯ler, which installs com짯pon짯ents based on the com짯po짯nent sel짯ec짯tions made.

CodeXL 1.3

CodeXL ist eine Tool-Samm짯lung, die bei der Ent짯wick짯lung von Soft짯ware f체r hete짯ro짯ge짯ne Sys짯te짯me bestehend aus CPUs und GPUs hilf짯reich sein soll. Hier짯zu stellt CodeXL Funk짯tio짯nen bereit, mit denen sich leich짯ter Per짯for짯man짯ce짯pro짯ble짯me und Pro짯gram짯mier짯feh짯ler ohne Modi짯fi짯ka짯tio짯nen am Pro짯gramm짯code iden짯ti짯fi짯zie짯ren las짯sen. Eine Anlei짯tung sowie wei짯te짯re Infor짯ma짯tio짯nen las짯sen sich auf der Pro짯dukt짯sei짯te fin짯den.

The fol짯lo짯wing new fea짯tures for AMD CodeXL ver짯si짯on 1.3 expand plat짯form sup짯port and provide
impro짯ve짯ments to the deve짯lo짯per experience:

  • Remo짯te GPU debug짯ging and pro짯fil짯ing to enable ser짯ver and embedded customers.
  • The CPU Pro짯fi짯ler now sup짯ports Java inline func짯tions, has a revi짯sed Source Code view for bet짯ter navi짯ga짯ti짯on and usa짯bi짯li짯ty, and con짯ta짯ins a new pro짯fi짯le ses짯si짯on type for sam짯pling Cache Line Utilization.
  • Sta짯tic Open짯CL Ker짯nel Ana짯ly짯sis is now inte짯gra짯ted into CodeXL appli짯ca짯ti짯on and Visu짯al Stu짯dio exten짯si짯on, using a brand new user expe짯ri짯ence. The ana짯ly짯sis modu짯le sup짯ports the Sou짯thern Islands and Sea Islands fami짯lies of GPUs.
  • THe debug짯ger sup짯port was exten짯ded to the API, sta짯te varia짯bles and shader types of OpenGL up to and inclu짯ding OpenGL 4.3, and to the API of Open짯CL 1.2.

Bolt 1.1

Die HSA Bolt libra짯ry stellt opti짯mier짯te Rou짯ti짯nen f체r aller짯hand Stan짯dard짯an짯wen짯dungs짯f채l짯le bereit und soll dabei so ange짯legt sein, dass sie auf allen Sys짯te짯men genutzt wer짯den kann, die zur Hete짯ro짯ge짯neous Sys짯tem Archi짯tec짯tu짯re (HSA) kom짯pa짯ti짯bel sind. All짯ge짯mein wur짯de laut AMD bei der Defi짯ni짯ti짯on der ein짯zel짯nen HSA-Kom짯po짯nen짯ten gro짯횩er Wert auf die Por짯ta짯bi짯li짯t채t der hier짯mit erstell짯ten Anwen짯dun짯gen gelegt, wes짯halb die Pro짯gram짯mie짯rung unab짯h채n짯gig von der Ziel짯hard짯ware erfol짯gen kann. Ledig짯lich der HSA Fina짯li짯zer und der HSA Ker짯nel Dri짯ver sind her짯stel짯ler짯spe짯zi짯fisch. Au횩er짯dem stellt die Biblio짯thek sicher, dass die Anwen짯dung zumin짯dest auf den CPU-Ker짯nen l채uft, wenn das jewei짯li짯ge Sys짯tem die APIs C++ AMP oder Open짯CL nicht unter짯st체tzt. Mit der Bereit짯stel짯lung die짯ser Biblio짯thek m철ch짯te AMD die Kom짯ple짯xi짯t채t und Ent짯wick짯lungs짯zeit redu짯zie짯ren, sodass nicht l채n짯ger aus짯schlie횩짯lich weni짯ge Exper짯ten hete짯ro짯ge짯ne Sys짯te짯me pro짯gram짯mie짯ren k철n짯nen. C++-Entwickler sol짯len mit Hil짯fe die짯ser Biblio짯thek in der Lage sein, ihre daten짯par짯al짯le짯len Anwen짯dun짯gen zu beschleu짯ni짯gen, ohne genaue Kennt짯nis짯se 체ber die Pro짯gram짯mie짯rung mit Hil짯fe von C++ AMP oder Open짯CL haben zu m체ssen.

Zwi짯schen짯zeit짯lich hat AMD den Bolt-Code ver짯철f짯fent짯licht und treibt die Ent짯wick짯lung als Open-Source-Pro짯jekt vor짯an. Die wich짯tigs짯te Neue짯rung in Bolt 1.1 d체rf짯te die Unter짯st체t짯zung von Linux sein. Zuvor wur짯de aus짯schlie횩짯lich Win짯dows unter짯st체tzt. Au횩er짯dem sind eini짯ge Funk짯tio짯nen neu hin짯zu짯ge짯kom짯men und f체r bestehen짯de will man die Per짯for짯mance um bis zu 400 % ver짯bes짯sert haben. In den Release Notes ist eine voll짯st채n짯di짯ge Lis짯te s채mt짯li짯cher der짯zeit unter짯st체t짯zen Funk짯tio짯nen zu finden.

Key fea짯tures sup짯port짯ed in Bolt 1.1

  • Bolt func짯tions can be exe짯cu짯ted with four code paths (Open짯CL꽓, C++ AMP, Mul짯ti짯Co짯re CPU (TBB), and Seri짯al CPU). The default mode is 쏛uto짯ma짯tic: the GPU paths are first, then Mul짯ti짯Co짯re CPU (TBB), then Seri짯al CPU. The con짯trol goes to the other paths only if the sel짯ec짯ted path is not found. For짯cing the mode to any code path will run the func짯tion with that code path. All Bolt func짯tions have Open짯CL꽓, Mul짯ti짯Co짯re CPU(TBB), and Seri짯al path implementations.
  • The new func짯tions are: binary_search, mer짯ge, scat짯ter, scatter_if, gather, and gather_if.
  • The fol짯lo짯wing rou짯ti짯nes for the Open짯CL path demons짯tra짯te a 40300% impro짯ve짯ment in
    per짯for짯mance: (sie짯he Release Notes)
  • The fol짯lo짯wing Bolt func짯tions and code paths are sup짯port짯ed for Bolt 1.1: (sie짯he Release Notes)

 

Die Down짯loads f체r die Pre짯view-Ver짯sio짯nen des APP SDK 2.9, CodeXL 1.3 sowie Bolt 1.1 sind auf die짯ser Sei짯te zu fin짯den und das Umfra짯ge짯for짯mu짯lar gibt es hier. Als Trei짯ber, mit dem auch die aktu짯ells짯te Open짯CL-Lauf짯zeit짯um짯ge짯bung aus짯ge짯lie짯fert wird, emp짯fiehlt AMD den Cata짯lyst 13.11 Beta.

Quel짯le: AMD Entwickler-Blog