OpenCL Overview - The Khronos Group Inc

文章推薦指數: 80 %
投票人數:10人

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



請為這篇文章評分?