OpenCL Overview - The Khronos Group Inc
文章推薦指數: 80 %
OpenCL™ (Open Computing Language) is an open, royalty-free standard for cross-platform, parallel programming of diverse accelerators found in supercomputers, ... Skiptomaincontent Togglenavigation Developers ActiveStandards 3DCommerce ANARI Camera COLLADA DataFormat EGL glTF KTX NNEF OpenCL OpenGL OpenGLES OpenGLSC OpenVG OpenVX OpenXR SafetyCritical SPIR SYCL Vulkan VulkanSC WebGL ExploratoryGroups Overview HeterogeneousCommunication InactiveStandards OpenKCAM OpenKODE OpenMAX OpenML OpenSLES OpenWF StreamInput WebCL Registry Advisors Github KhronosForums KhronosSlack Videos&Presentations ReferenceGuides Books Jobs RequestforQuotes Merchandise Conformance APIAdopterprogram APIAdopters ConformantProducts FileFormatAdopterProgram FileFormatAdopters TrademarkGuidelines IPFrameworkBriefing AdopterLogin CertificationProgram CertifiedViewers CertificantLogin Membership JointheKhronosGroup KhronosMembers IPFramework Createanaccount MemberLogin News&Events Newsroom PressReleases KhronosBlog Newsletter Shareyournews Events ConferenceCodeofConduct MarketingwithKhronos About Overview ContactUs LogoPacks Directors&Officers WorkingGroupOfficers DiversityandInclusion TechnicalSupport KhronieAwards MemberLogin Search Search OpenStandardforParallelProgrammingofHeterogeneousSystems OpenCL™(OpenComputingLanguage)isanopen,royalty-freestandardforcross-platform,parallel programmingofdiverseacceleratorsfoundinsupercomputers,cloudservers,personalcomputers, mobiledevicesandembeddedplatforms.OpenCLgreatlyimprovesthespeedandresponsivenessofa widespectrumofapplicationsinnumerousmarketcategoriesincludingprofessionalcreativetools, scientificandmedicalsoftware,visionprocessing,andneuralnetworktrainingandinferencing. OpenCL3.0FinalisHere! TheOpenCL3.0FinalizedSpecificationwasreleasedonSeptember30th2020 Read theBlogaboutthefinalreleaseofOpenCL3.0 ProvisionalPressRelease ProvisionalLaunchPresentation OpenCL3.0realignstheOpenCLroadmaptoenabledeveloper-requestedfunctionalitytobebroadly deployedbyhardwarevendors,anditsignificantlyincreasesdeploymentflexibilityby empoweringconformantOpenCLimplementationstofocusonfunctionalityrelevanttotheirtarget markets.OpenCL3.0alsointegratessubgroupfunctionalityintothecorespecification,ships withanewunifiedAPIandOpenCLC3.0languagespecificationsandintroducesextensionsfor asynchronousdatacopiestoenableanewclassofembeddedprocessors. OpenCL3.0Materials Specification SDK OpenCLGuide OpenCLBlogs Issues Discussions Resources ReferenceGuide IndustrySupportforOpenCL “OpenCListhemostpervasive,cross-vendor,openstandardforlow-level heterogeneousparallelprogramming—widelyusedbyapplications,libraries, engines,andcompilersthatneedtoreachthewidestrangeofdiverse processors.OpenCL2.Xdeliverssignificantfunctionality,butOpenCL1.2has provenitselfasthebaselineneededbyallvendorsandmarkets.OpenCL3.0 integratestightlyorganizedoptionalityintothemonolithic2.2specification, boostingdeploymentflexibilitythatwillenableOpenCLtoraisethebaron pervasivelyavailablefunctionalityinfuturecorespecifications.” NeilTrevett VicePresidentatNVIDIA,Presidentofthe KhronosGroupandOpenCLWorkingGroupChair “InrecentyearstherehasbeenanimpressiveadoptionofOpenCLtodrive heterogeneousprocessingsystemswithinmany marketsegments.ThisupdatetoOpenCL3.0bringsimportantflexibilitybenefits thatwillallowmanyevolving industries,fromAIandHPCtoautomotive,tofocusontheirspecific requirementsandembraceopenstandards.Codeplay isexcitedtoenablehardwarevendorstosupportOpenCL3.0andtotake advantageoftheflexibilityprovidedinits ecosystemofsoftwareproducts.” AndrewRichards FounderandCEOofCodeplaySoftware “Withitsfocusondeploymentflexibility,weseeOpenCL3.0asan excellentstepforwardinprovidingcriticalfeatures fordevelopers,withtheabilitytoaddfunctionalityovertime.Thisreallyis astepforwardfortheOpenCLecosystem, allowingdeveloperstowriteportableapplicationsthatdependonwidely acceptedfunctionality.CurrentlyshippingGPUs basedonthePowerVRRoguearchitecturewillenjoyasignificantfeatureuplift includingSVM,GenericAddressSpaceand Work-groupFunctions.Uponfinalreleaseofthespecification,Imaginationwill shipaconformantOpenCL3.0 implementationwithsupportextendingacrossawiderangeofPowerVRGPUs, includingourlatestofferingwithIMG A-Series.” MarkButler VicePresidentofSoftwareEngineering, ImaginationTechnologies “Intelstronglysupportscross-architecturestandardsbeingdrivenacross thecomputeecosystemsuchasinOpenCL3.0and SYCL.Standards-based,unifiedprogrammingmodelswillenableefficiencyand unleashcreativityforourdeveloperswith theupcomingreleaseofournewXeGPUarchitecture.” JeffMcVeigh VicePresident,IntelArchitecture,Graphics andSoftware “NVIDIAwelcomesOpenCL3.0’sfocusondefiningabaselinetoenable developer-criticalfunctionalitytobewidely adoptedinfutureversionsofthespecification.NVIDIAwillshipaconformant OpenCL3.0whenthespecificationis finalizedandweareworkingtodefinetheVulkan®interopextensionthat, togetherwithlayeredOpenCLimplementations, willsignificantlyincreasedeploymentflexibilityforOpenCLdevelopers.” AnshumanBhat ComputeproductmanageratNVIDIA “OpenCL3.0isanimportantstepforwardinthedrivetounlockgreater performanceandinnovationacrossabroadening rangeofcomputingplatformsandapplications.Theflexibleextensionmodelwill helpourcustomersandsoftware partnerstakefulladvantageofthetremendouspotentialavailableinbothour existingandfutureapplication processors.Wearepleasedtohavehadtheopportunitytocontributetothis specificationandwelookforwardto supportingthefinalproduct.” BalajiCalidas DirectorofEngineeringatQualcomm “ManyofourcustomerswantaGPUprogramminglanguagethatrunsonall devices,andwithgrowingdeploymentinedge computingandmobile,thisneedisincreasing.OpenCListheonlysolutionfor accessingdiversesiliconacceleration andmanykeysoftwarestacksuseOpenCL/SPIR-Vasabackend.Weareveryhappy thatOpenCL3.0willdriveevenwider industryadoption,asitreassuresourcustomersthattheirpastandfuture investmentsinOpenCLarejustified.” VincentHindriksen FounderandCEOofStreamHPC “OpenCL3.0hasopenedupanewchapterfortheOpenCLAPIwhichhasserved asthestandardGPGPUAPIduringthepast10 years.WiththestreamlinedOpenCL3.0corefeatureset,OpenCL3.0willenable awholenewclassofembeddeddevicesto adoptOpenCLAPIforGPUComputeandML/AIprocessing,anditwillalsopavethe wayforwardforOpenCLtointeropor layerwiththeVulkanAPI.VeriSiliconwilldeployOpenCL3.0implementations quicklyonabroadrangeofourembedded GPUandVIPproductstoenableourcustomerstodevelopnewsetsofGPGPU/ML/AI applicationswiththeOpenCL3.0API.” WeijinDai ExecutiveVicePresidentandGMof IntellectualPropertyDivisionatVeriSilicon OpenCLisWidelyDeployedandUsed AcceleratedImplementations OpenCLforLow-levelParallelPrograming OpenCLspeedsapplicationsbyoffloadingtheirmostcomputationallyintensivecodeonto acceleratorprocessors-ordevices.OpenCLdevelopersuseCorC++-basedkernellanguagesto codeprogramsthatarepassedthroughadevicecompilerforparallelexecutiononaccelerator devices. HowOpenCLRelatestoOtherKhronosParallelAccelerationStandards OpenCLprovidestheindustrywiththelowest'close-to-metal'processor-agileexecutionlayerfor acceleratingapplications,librariesandengines,andalsoprovidingacodegenerationtarget forcompilers.Unlike'GPU-only'APIs,suchasVulkan,OpenCLenablesuseofadiverserangeof acceleratorsincludingmulti-coreCPUs,GPUs,DSPs,FPGAsanddedicatedhardwaresuchas inferencingengines. OpenCLDeploymentFlexibility Astheindustrylandscapeofplatformsanddevicesgrowsmorecomplex,toolsareevolvingthe enableOpenCLapplicationstobedeployedontoplatformsthatdonothaveavailablenative OpenCLdrivers.Forexample,theopensourceclspvcompilerandclvkAPItranslatorenableOpenCLapplicationstoberun overaVulkanrun-time.ThisgivesOpenCLdeveloperssignificantflexibilityonwhereandhow theycandeploytheirOpenCLapplications. OpensourcesoftwaretoolsenableOpenCLkernelstobeexecutedover multipletargetAPIs OpenCLProgrammingModel AnOpenCLapplicationissplitintohostanddevicepartswithhostcodewrittenusingageneral programminglanguagesuchasCorC++andcompiledbyaconventionalcompilerforexecutionona hostCPU. Thedevicecompilationphasecanbedoneonline,i.e.duringexecutionofanapplicationusing specialAPIcalls.Itcanalternativelybecompiledbeforeexecutingtheapplicationintothe machinebinaryorspecialportableintermediaterepresentationdefinedbyKhronoscalledSPIR-V.Therearealsodomainspecificlanguages andframeworksthatcancompiletoOpenCLeitherusingsource-to-sourcetranslationsor generatingbinary/SPIR-V,forexampleHalide. Traditionalvs OpenCLprogrammingparadigm ApplicationhostcodeisfrequentlywritteninCorC++butbindingsforotherlanguagesarealso available,suchasPython.KernelprogramscanbewritteninadialectofC(OpenCLC)orC++ (C++forOpenCL)thatenablesadevelopertoprogramcomputationallyintensivepartsoftheir applicationinakernelprogram.AllversionsoftheOpenCLClanguagearebasedonC99.The communitydrivenC++forOpenCLlanguagebringstogethercapabilitiesofOpenCLandC++17. C++forOpenCLKernelLanguage TheOpenCLworkinggrouphastransitionedfromtheoriginalOpenCLC++kernellanguagefirst definedinOpenCL2.0toC++forOpenCLdevelopedbytheopensourcecommunitytoprovide improvedfeaturesandcompatibilitywithOpenCLC.C++forOpenCLissupportedbyClanganditsdocumentationcanbefoundhere.ItenablesdeveloperstousemostC++17featuresin OpenCLkernels.ItislargelybackwardscompatiblewithOpenCLC2.0enablingittobeusedto programacceleratorswithOpenCL2.0orabovewithconformantdriversthatsupportSPIR-V.Its implementationinClangcanbetrackedviatheOpenCL SupportPage. KernelLanguageExtensions Someextensionsareavailabletotheexistingpublishedkernellanguagestandards.Thefulllist ofsuchextensionsisdocumentedhere.Conformantcompilersanddriversmayoptionally supporttheextensionsandsothereisamechanismtodetecttheirsupportatthecompiletime. Developersshouldbeawarethatnotallextensionsmaybesupportedacrossalldevices. ConformantOpenCLImplementations HereyoucanviewalistofhardwarevendorswithConformant OpenCLImplementations RelatedDiscussions Worseperformancewhen-cl-fast-relaxed-mathbuildflagisenabled SFMLEOL-solution? clGetPlatformInfonotrecognizingmyGPUNvidiadevicewithUbuntu18OS Willthiskernelcreatebranching? DebugandoptimizationtoolforanOpenCLapplication VisitCommunityForums VisitSlackGroup RelatedNews NVIDIAdescribeshowtouseOpenCLSemaphoreandMemorySharingExtensionstointeropwithVulkan Binomial’sGPUtextureinterchangeencodernowsupportsOpenCLv1.2onOSX/Windows/Linux NewOpenCLHardwareDatabaseAddedtoGPUInfo.org C++forOpenCL2021KernelLanguageDocumentationReleasedforDeveloperFeedback KhronosReleasesOpenCL3.0.10Specification Morenews RelatedPress KhronosGroupReleasesOpenCL3.0 KhronosReleasesConformanceTestSuiteforSYCL1.2.1 TheKhronosGroupReleasesFinalizedSYCL1.2.1 KhronosUpdatesOpenCLandSYCLSpecificationsforHeterogeneousParallelProgramming KhronosLaunchesOpenCL2.0AdoptersProgram MorePressReleases devilish
延伸文章資訊
- 1TensorFlow採用OpenCL後端使GPU推理效能加倍 - iThome
OpenCL的設計更適合用於各種計算加速器,因此以OpenCL後端處理行動裝置GPU推理工作負載,比OpenGL後端效能好上許多.
- 2[OpenCL]OpenCL 總整理 - HackMD
[OpenCL]OpenCL 總整理=== ## 安裝[install packets](https://askubuntu.com/a/850594/655911) ## 編譯[what is.
- 3OpenCL_百度百科
OpenCL(全稱Open Computing Language,開放運算語言)是第一個面向異構系統通用目的並行編程的開放式、免費標準,也是一個統一的編程環境,便於軟件開發人員為高性能 ...
- 4OpenCL 學習筆記(ㄧ): 第一個OpenCL 程式 - HackMD
目前最火紅的GPU 語言為CUDA 和OpenCL,本文將只探討OpenCL 要如何使用?早期的GPU 是專注在圖形運算,如果要用GPU 作運算必須利用繪圖介面,例如OpenGL ,雖然不是不能...
- 5AI運算加速系列-OpenCL 高效能平行運算實作班(資展國際)
深度學習OpenCL (Open Computing Language)是基於C及C++語言,以同一種語言實現跨越CPUs、GPUs、CELL、DSP等異質(heterogeneous)執行平台...