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
延伸文章資訊
- 1OpenCL Overview - The Khronos Group Inc
OpenCL™ (Open Computing Language) is an open, royalty-free standard for cross-platform, parallel ...
- 2OpenCL 學習筆記(ㄧ): 第一個OpenCL 程式 - HackMD
目前最火紅的GPU 語言為CUDA 和OpenCL,本文將只探討OpenCL 要如何使用?早期的GPU 是專注在圖形運算,如果要用GPU 作運算必須利用繪圖介面,例如OpenGL ,雖然不是不能...
- 3OpenCL - 維基百科,自由的百科全書
OpenCL(Open Computing Language,開放計算語言)是一個為異構平台編寫程式的框架,此異構平台可由CPU、GPU、DSP、FPGA或其他類型的處理器與硬體加速器所組成。
- 4【課程十五】OpenCL 高效能平行運算上機課程(兩日)
OpenCL (Open Computing Language)是基於C及C++語言,以同一種語言實現跨越CPUs、GPUs、CELL、DSP等異質(heterogeneous)執行平台,使其同...
- 5AI運算加速系列-OpenCL 高效能平行運算實作班(資展國際)
深度學習OpenCL (Open Computing Language)是基於C及C++語言,以同一種語言實現跨越CPUs、GPUs、CELL、DSP等異質(heterogeneous)執行平台...