{"id":19244,"date":"2025-09-12T15:19:02","date_gmt":"2025-09-12T15:19:02","guid":{"rendered":"http:\/\/www.max-sperling.bplaced.net\/?p=19244"},"modified":"2025-09-13T08:06:27","modified_gmt":"2025-09-13T08:06:27","slug":"oneapi-dpc-intel","status":"publish","type":"post","link":"http:\/\/www.max-sperling.bplaced.net\/?p=19244","title":{"rendered":"HPC across Intel, NVIDIA and AMD (oneAPI)"},"content":{"rendered":"<p><strong>Introduction<\/strong><\/p>\n<ol>\n<li>oneAPI focuses on HPC (High-Performance Computing).<\/li>\n<li>A part of oneAPI is DPC++ (Data Parallel C++).<\/li>\n<li>It provides parallelism for heterogeneous systems.<\/li>\n<li>DPC++ uses SYCL as programming model.<\/li>\n<li>It&#8217;s compiler dpcpp is based on Clang\/LLVM.<\/li>\n<\/ol>\n<p>This allows you to run parallelized computations on the GPU without the need to distinguish between CUDA (NVIDIA) and ROCm (AMD).<\/p>\n<hr>\n<p><strong>Workflow<\/strong><\/p>\n<pre>\r\n            SYCL\/C++ code \r\n(containing e.g. sycl::queue.parallel_for)\r\n                 \u2193\r\n               dpcpp\r\n                 \u2193\r\n         -----------------\r\n         \u2193               \u2193\r\n      CPU code        GPU Code\r\n      x64\/ARM\/...     - Intel: SPIR-V (via LLVM SPIR)\r\n                      - NVIDIA: PTX (via LLVM NVPTX)\r\n                      - AMD: HSACO (via LLVM AMDGPU)\r\n         \u2193               \u2193\r\n         -----------------\r\n                \u2193\r\n            Executable\r\n(contains CPU\/GPU code and links SYCL runtime)\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Introduction oneAPI focuses on HPC (High-Performance Computing). A part of oneAPI is DPC++ (Data Parallel C++). It provides parallelism for<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false},"categories":[27],"tags":[],"_links":{"self":[{"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=\/wp\/v2\/posts\/19244"}],"collection":[{"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=19244"}],"version-history":[{"count":35,"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=\/wp\/v2\/posts\/19244\/revisions"}],"predecessor-version":[{"id":19279,"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=\/wp\/v2\/posts\/19244\/revisions\/19279"}],"wp:attachment":[{"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=19244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=19244"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=19244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}