{"id":95540,"date":"2020-10-01T01:42:11","date_gmt":"2020-09-30T23:42:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/opublikovany-finalnye-speczifikaczii-opencl-3-0"},"modified":"2020-10-01T01:42:11","modified_gmt":"2020-09-30T23:42:11","slug":"opublikovany-finalnye-speczifikaczii-opencl-3-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/opublikovany-finalnye-speczifikaczii-opencl-3-0","title":{"rendered":"Final specifications for OpenCL 3.0 have been published.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>The Khronos Group, which is responsible for developing specifications for the OpenGL, Vulkan, and OpenCL families, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/blog\/opencl-3.0-specification-finalized-and-initial-khronos-open-source-opencl-sdk-released\">announced<\/a><\/noindex> has published the final specifications <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/registry\/OpenCL\/\">OpenCL 3.0<\/a><\/noindex>, which define the API and language extensions for organizing cross-platform parallel computations using multi-core CPUs, GPUs, FPGAs, DSPs, and other specialized chips, ranging from those used in supercomputers and cloud servers to chips found in mobile devices and embedded systems. The OpenCL standard is fully open and does not require licensing fees. <\/p>\n<p>Simultaneously <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/OpenCL-SDK\/\">has been published<\/a><\/noindex> an open OpenCL SDK with tools, examples, documentation, header files, C++ bindings, and C libraries for developing applications compatible with OpenCL 3.0. Additionally,  <noindex><a rel=\"nofollow\" href=\"http:\/\/lists.llvm.org\/pipermail\/cfe-dev\/2020-September\/066883.html\">it has been presented<\/a><\/noindex> an initial implementation of OpenCL 3.0 based on the Clang compiler, which is currently under review for patches to be included in the main LLVM body. Companies such as IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments, and Toshiba participated in the standard's development. <\/p>\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/assets\/uploads\/apis\/OpenCL-3.0-Launch-Apr20.pdf\"><img decoding=\"async\" alt=\"Final specifications for OpenCL 3.0 have been published. \" src=\"\/wp-content\/uploads\/2020\/09\/fae6dd404e3667b05e561abf6b23e8d9.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<p>The most notable <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/assets\/uploads\/apis\/OpenCL-3.0-Launch-Apr20.pdf\">Features<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/opencl\">OpenCL 3.0<\/a><\/noindex>:\n<\/p>\n<ul>\n<li class=\"l\"> The OpenCL 3.0 API now encompasses all versions of OpenCL (1.2, 2.x), without providing separate specifications for each version. OpenCL 3.0 allows for the core functionality to be extended through the integration of additional specifications that will layer in the form of options, without blocking the monolithic nature of OpenCL 1.2\/2.x.\n<\/li>\n<li class=\"l\"> Only the functionality corresponding to OpenCL 1.2 is mandatory, while all the features proposed in the OpenCL 2.x specifications are considered optional. This approach will simplify the creation of specialized implementations compatible with OpenCL 3.0 and broaden the range of devices on which OpenCL 3.0 can be used. For example, manufacturers can implement support for OpenCL 3.0 without implementing separate capabilities from OpenCL 2.x. A query-checking system has been added in OpenCL 3.0 to assess support for individual API elements, along with special macros.\n<\/li>\n<li class=\"l\"> The unification with previously released specifications simplifies the translation of applications to OpenCL 3.0. OpenCL 1.2 applications will work on OpenCL 3.0 compliant devices without changes. OpenCL 2.x applications also will not require code modifications, but if the OpenCL 3.0 environment provides the necessary functionality (to ensure portability for future OpenCL 2.x applications, it is recommended to add checks to assess the support for the features used from OpenCL 2.x). Driver developers with OpenCL implementations will be able to easily upgrade their products to OpenCL 3.0 by only adding handling for API call queries and gradually enhancing functionality over time.\n<\/li>\n<li class=\"l\"> The OpenCL 3.0 specification aligns with the environment, extensions, and specifications of the universal intermediate representation SPIR-V, which is also utilized in the Vulkan API. Support for SPIR-V 1.3 has been incorporated into OpenCL 3.0 as an optional feature. Through the use of intermediate representation <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/registry\/spir-v\/\">SPIR-V<\/a><\/noindex> support for subgroup operations has been added for compute kernels.<br \/>\n<center><noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/assets\/uploads\/apis\/OpenCL-3.0-Launch-Apr20.pdf\"><img decoding=\"async\" alt=\"Final specifications for OpenCL 3.0 have been published. \" src=\"\/wp-content\/uploads\/2020\/09\/c79e0efdc0aa1d5f7bd2c284a5247336.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<\/li>\n<li class=\"l\"> Support has been added for an extension for performing asynchronous DMA operations, supported in DSP-like chips with direct memory access. Asynchronous DMA allows for the use of DMA transactions to transfer data between global and local memory in an asynchronous manner, parallel to ongoing computations or other data transfer operations.\n<\/li>\n<li class=\"l\"> The specification for parallel programming extensions for the C language has been updated to <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/registry\/OpenCL\/specs\/3.0-unified\/html\/OpenCL_C.html\">version 3.0<\/a><\/noindex>, and the development of OpenCL language extensions for C++ has been discontinued in favor of the 'C++ for OpenCL' project. C++ for OpenCL is a compiler based on Clang\/LLVM and <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/blog\/offline-compilation-of-opencl-kernels-into-spir-v-using-open-source-tooling\">translates<\/a><\/noindex> kernels into C++ and OpenCL C into the SPIR-V intermediate representation or low-level machine code. Through translation to SPIR-V, the assembly of C++ applications using the SYCL template library, which simplifies the creation of parallel applications, is also organized.\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/assets\/uploads\/apis\/OpenCL-3.0-Launch-Apr20.pdf\"><img decoding=\"async\" alt=\"Final specifications for OpenCL 3.0 have been published. \" src=\"\/wp-content\/uploads\/2020\/09\/faa2682ebe3c0e053c2132742a97d2c8.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<\/li>\n<li class=\"l\"> For translating OpenCL through the Vulkan API, a compiler has been proposed <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/google\/clspv\">clspv<\/a><\/noindex>, which transforms OpenCL kernels into Vulkan SPIR-V representation, and a layer <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kpet\/clvk\">clvk<\/a><\/noindex> to ensure the functioning of the OpenCL API over Vulkan.\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/assets\/uploads\/apis\/OpenCL-3.0-Launch-Apr20.pdf\"><img decoding=\"async\" alt=\"Final specifications for OpenCL 3.0 have been published. \" src=\"\/wp-content\/uploads\/2020\/09\/2c4712678e5c2ab1826a0841aca905f1.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Source: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=53810\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043d\u0446\u0435\u0440\u043d Khronos, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0439 \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 OpenGL, Vulkan \u0438 OpenCL, \u043e\u0431\u044a\u044f\u0432\u0438\u043b \u043e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 OpenCL 3.0, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0445 API \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u0421 \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u0440\u043e\u0441\u0441-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043c\u043d\u043e\u0433\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0445 CPU, GPU, FPGA, DSP \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0447\u0438\u043f\u043e\u0432, \u043e\u0442 \u0442\u0435\u0445, \u0447\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0441\u0443\u043f\u0435\u0440\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u0445 \u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445, \u0434\u043e \u0447\u0438\u043f\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u044c \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":95541,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-95540","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043d\u0446\u0435\u0440\u043d Khronos, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0439 \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 OpenGL, Vulkan \u0438 OpenCL,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/opublikovany-finalnye-speczifikaczii-opencl-3-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 OpenCL 3.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043d\u0446\u0435\u0440\u043d Khronos, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0439 \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 OpenGL, Vulkan \u0438 OpenCL,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/opublikovany-finalnye-speczifikaczii-opencl-3-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-30T23:42:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-30T23:42:11+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Final specifications for OpenCL 3.0 published | ProHoster","description":"The Khronos Group, which is responsible for developing specifications for the OpenGL, Vulkan, and OpenCL families,","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/opublikovany-finalnye-speczifikaczii-opencl-3-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 OpenCL 3.0 | ProHoster","og:description":"\u041a\u043e\u043d\u0446\u0435\u0440\u043d Khronos, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0439 \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 OpenGL, Vulkan \u0438 OpenCL,","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/opublikovany-finalnye-speczifikaczii-opencl-3-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-30T23:42:11+00:00","article:modified_time":"2020-09-30T23:42:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95540","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:03:22","updated":"2022-09-28 11:08:49","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/95540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=95540"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/95540\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/95541"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=95540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=95540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=95540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}