[{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/259710422","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/259710422/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/259710422/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v25.10.0","id":259710422,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOCGdIIM4Pet3W","tag_name":"v25.10.0","target_commitish":"develop","name":"AdaptiveCpp 25.10.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-11-05T16:36:58Z","updated_at":"2025-11-05T17:59:35Z","published_at":"2025-11-05T16:37:13Z","assets":[],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v25.10.0","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v25.10.0","body":"## Highlights\r\n\r\n### Introducing the AdaptiveCpp deployment model: Compile once, ship to all\r\n\r\nAdaptiveCpp 25.10 introduces a deployment model for the distribution of AdaptiveCpp-compiled binaries. Users can now run `acpp --acpp-deploy` to let AdaptiveCpp collect all libraries that a binary will need at runtime. This can be conveniently used to create self-contained application packages -- together with AdaptiveCpp's generic JIT compiler, this makes it easy and convenient to distribute binaries that can offload kernels to NVIDIA, AMD, and Intel GPUs, as well as CPUs.\r\n\r\nSee [here](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/deployment.md) for details.\r\n\r\nThe deployment infrastructure works across all of the programming models supported by AdaptiveCpp: SYCL, PCUDA (CUDA/HIP) and C++ standard parallelism (stdpar).\r\n**Via AdaptiveCpp [PCUDA](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/pcuda.md), existing CUDA source code can be recompiled and deployed to GPUs and CPUs from all vendors as well.**\r\n\r\n### Stdpar Multi-queue-scheduling (MQS)\r\n\r\nAdaptiveCpp is now the first stdpar (C++ stdandard parallelism offloading) compiler that can automatically leverage multiple devices, if available. This is achieved with the experimental MQS functionality. \r\nIf the application exposes independent kernels that might executed in parallel on different devices, then MQS can significantly improve performance.\r\n\r\nSee [here](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/stdpar.md#experimental-automatic-utilization-of-multiple-devices-using-mqs-multi-queue-scheduling) for details.\r\n\r\n### More optimizations\r\n\r\n* AdaptiveCpp 25.10 enables additional optimizations, in particular `ACPP_ALLOCATION_TRACKING` is now enabled by default. This allows AdaptiveCpp to automatically detect cases at JIT-time when input pointers for kernels don't alias, which the JIT-compiler can then capitalize on. For some applications (e.g. the `dslash` benchmark), performance improvements over 50% have been observed.\r\n* Performance of certain stdpar algorithms has been improved significantly (`and_of`, `all_of` and friends)\r\n* AdaptiveCpp now automatically sets up GPUs for P2P access in the CUDA and HIP backends\r\n* AdaptiveCpp now submits all work eagerly from the calling thread, instead of offloading to a worker thread. This avoids certain NUMA pitfalls that have been observed in the past.\r\n\r\n### Others\r\n\r\n* Added support for `KHR_QUEUE_EMPTY`  SYCL extension\r\n* Added support for `KHR_MAX_WORK_GROUP_QUERIES`  SYCL extension\r\n* Added new AdaptiveCpp extension `ACPP_EXT_QUEUE_PROPERTY_PRIORITY_RANGE` ([details](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/extensions.md#acpp_ext_queue_property_priority_range))\r\n* Added support for AdaptiveCpp [config files](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/env_variables.md#configuration-files), which allow application vendors to configure desired AdaptiveCpp settings that were previously only exposed via environment variables\r\n* Added more stdpar algorithms for offloading\r\n* Added support for ROCm 7 and CUDA 13\r\n* Boost is now no longer a core dependency. Boost is now only needed when the user wishes to build the unit tests.\r\n* `patch` is no longer a build-time dependency\r\n* Many other improvements and bug fixes!\r\n\r\n## Benchmarks\r\n\r\nPerformance of the SYCL and PCUDA models of AdaptiveCpp is illustrated in the following benchmarks. These applications are available in multiple programming models, including SYCL and CUDA. This allows us to compile both the SYCL and CUDA versions of the benchmarks with AdaptiveCpp, and run both versions on hardware from different vendors.\r\n\r\n\r\n### Benchmark notes\r\n\r\n* Results shown are the *speedup over the vendor-native compiler*, i.e. nvcc-compiled CUDA on NVIDIA, hipcc-compiled HIP on AMD.\r\n* The AL1/AL2 in the AdaptiveCpp results denotes the value of the `ACPP_ADAPTIVITY_LEVEL` environment variable (either set to 1 or 2), which controls the aggressiveness of additional JIT-time optimizations that AdaptiveCpp performs. The AL2 results were obtained after 2-3 application runs when performance has converged.\r\n* The **SYCL results correspond to the SYCL version of the benchmark when compiled with AdaptiveCpp**, and the **PCUDA results correspond to the CUDA version of the code compiled with AdaptiveCpp**.\r\n* It is a non-trivial task to align multiple compilers and programming models such that results are comparable. For example, different compilers and programming models may have different defaults regarding the accuracy to which math builtins are calculated, or to what extent fast math is used by default. In general, it is easier to enable all optimizations rather than finding a common middle ground. This is why for these benchmarks, we compiled with `-O3 -ffast-math` universally, which aligns most compilers. For hipcc, `-fno-hip-fp32-correctly-rounded-divide-sqrt` was used in addition to align the behavior with the other compilers.\r\n* AdaptiveCpp was built against LLVM 18, CUDA 12.1 and ROCm 6.3. On the A100 system, CUDA 12.9 and LLVM 20 was used.\r\n* The AdaptiveCpp results were all obtained using its default generic JIT compiler (`--acpp-targets=generic`)\r\n* Results on Intel GPU have been omitted for brevity because results there closely mirror the ones from AdaptiveCpp 25.02 (see https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v25.02.0).\r\n\r\n**The figures below may be freely shared under CC-by license, with attribution to the AdaptiveCpp project.**\r\n\r\n<img width=\"3500\" height=\"1750\" alt=\"reference-perf-cuda-a100-2510-opt-target-NVIDIA A100\" src=\"https://github.com/user-attachments/assets/8da1ee91-9ade-4a21-bbe1-dd6201a1f64d\" />\r\n<img width=\"3500\" height=\"1750\" alt=\"reference-perf-cuda-a5000-2510-opt-target-NVIDIA RTX A5000\" src=\"https://github.com/user-attachments/assets/e07f0458-bd89-4b66-8056-c7b58fda0e94\" />\r\n<img width=\"3500\" height=\"1750\" alt=\"reference-perf-hip-rprovii-2510-opt-target-AMD Radeon Pro VII\" src=\"https://github.com/user-attachments/assets/5a22e8b9-22ee-408a-80a3-2eae65d611ac\" />\r\n\r\n\r\n## What's Changed in Detail\r\n\r\n**Full Changelog**: https://github.com/AdaptiveCpp/AdaptiveCpp/compare/v25.02.0...v25.10.0\r\n\r\n## New Contributors\r\n* @ath0mos made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1758\r\n* @EkremA made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1842\r\n* @bv2k4 made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1868\r\n* @AndBrn743 made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1897\r\n","reactions":{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/259710422/reactions","total_count":13,"+1":0,"-1":0,"laugh":0,"hooray":12,"confused":0,"heart":1,"rocket":0,"eyes":0},"mentions_count":4},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/215912940","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/215912940/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/215912940/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v25.02.0","id":215912940,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOCGdIIM4M3pHs","tag_name":"v25.02.0","target_commitish":"develop","name":"AdaptiveCpp 25.02.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2025-05-09T18:21:05Z","updated_at":"2025-05-09T18:22:51Z","published_at":"2025-05-09T18:22:51Z","assets":[],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v25.02.0","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v25.02.0","body":"# More supported programming models for more flexibility\r\n\r\n## Highlights\r\n\r\n### Introducing AdaptiveCpp portable CUDA (PCUDA)\r\n\r\nAdaptiveCpp 25.02 introduces support for a new programming model in its generic JIT compiler: **The portable CUDA (PCUDA) model**. This programming model is a dialect of the CUDA and HIP programming model. **AdaptiveCpp PCUDA allows taking CUDA or HIP source code, recompile with AdaptiveCpp, and obtain a single single binary that can dispatch kernels to CPUs, Intel GPUs, AMD GPUs, NVIDIA GPUs (or all at the same time).**\r\n\r\nSee the [documentation](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/pcuda.md) for what is already implemented; currently only a subset of the CUDA and HIP API is implemented.\r\n\r\nThe PCUDA mode is **fully interoperable with the existing programming models that AdaptiveCpp supports (SYCL and C++ standard parallelism offloading)**, so you can mix-and-match CUDA/HIP, SYCL and C++ standard parallelism code in your kernels as desired.\r\n\r\nNote that PCUDA is **not** a layer on top of SYCL; instead we have added **native** support for the CUDA and HIP programming models to our compiler. There is no additional overhead associated with PCUDA.\r\n\r\nPossible use cases for PCUDA include:\r\n* Working with existing CUDA/HIP code bases;\r\n* Iterative porting of existing CUDA/HIP code bases;\r\n* Fairer compiler comparisons between AdaptiveCpp and `nvcc` or `hipcc`, since the exact same (or at least very similar) input code can be used for benchmarks;\r\n* Users who have a preference for a lower-level, more C-style API compared to what SYCL or stdpar offers;\r\n* When a more stable ABI for the runtime library is needed, since PCUDA has a C instead of a C++ interface like SYCL;\r\n* When compile times are critical (PCUDA has substantially lower compiler times compared to SYCL due to being more based on C than C++)\r\n* When kernel submission latency matters (PCUDA currently has a moderately lower submission latency compared to SYCL)\r\n\r\nIn AdaptiveCpp, **PCUDA complements SYCL and C++ standard parallelism offloading** by acknowledging that different needs are best served with different tools. Users who prefer a more modern C++ model, or users who need more explicit control over managing multiple devices from different backends with wildly different characteristics are better served with SYCL.\r\n\r\nNote also that PCUDA is a *dialect* of the CUDA and HIP languages. While we expect many user programs to run as is (or with very little changes), there are differences due to the different compiler designs between AdaptiveCpp and nvcc/hipcc. This e.g. affects how code specialization for different targets work. AdaptiveCpp, as a portable single-pass JIT compiler, handles this very differently compared to the ahead-of-time, vendor-specific, multi-pass compilers nvcc/hipcc [(documentation)](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/pcuda.md#differences-between-pcuda-and-hipcuda).\r\n\r\nBecause of this, AdaptiveCpp PCUDA generally is not expected to work out of the box for NVIDIA's or AMD's highly optimized device libraries like CUB or rocPRIM which typically leverage such mechanisms. Furthermore, we do not support any action that breaks the CUDA EULA, such as running NVIDIA code on non-NVIDIA hardware.\r\n\r\nSee the benchmarks below for an impression of how PCUDA performs.\r\n\r\n### Linking AdaptiveCpp into LLVM\r\n\r\nAdaptiveCpp 25.02 can now also be built directly into LLVM, resulting in a clang/LLVM distribution with AdaptiveCpp *integrated into it*. This in particular allows for a more robust Windows and MacOS support, and allows us to support AdaptiveCpp's generic JIT compiler on Windows (CPU and CUDA backends currently tested and supported).\r\nFor more details, refer to the [installation instructions](https://adaptivecpp.github.io/AdaptiveCpp/installing/#building-an-llvm-toolchain-with-adaptivecpp-linked-in-experimental-but-also-for-windows).\r\nFor Windows, we now provide binary builds to download and get started straight away:\r\n[Download latest AdaptiveCpp for Windows from `develop` branch](https://nightly.link/AdaptiveCpp/AdaptiveCpp/workflows/windows-acppllvm/develop/AdaptiveCpp-LLVM20-Win.zip).\r\n\r\nWhile MacOS has been tested with the OpenMP library-only compilation-flow for a while already, building AdaptiveCpp into LLVM is currently the only way we validate the generic JIT compiler on MacOS (CPU only).\r\nSee the installation documentation for more details: [2-stage build instructions](https://adaptivecpp.github.io/AdaptiveCpp/installing/#using-a-2-stage-build-mac).\r\n\r\n\r\n### Other highlights\r\n\r\n* New extension: [ACPP_EXT_TARGET_NUMA_NODE_PROPERTY](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/extensions.md#acpp_ext_target_numa_node_property) - allows specifying a NUMA node when allocating SYCL USM memory on a CPU device.\r\n* Support for LLVM 19 and 20\r\n* Many fixes and improvements!\r\n\r\n## Benchmarks\r\n\r\nPerformance of the SYCL and PCUDA models of AdaptiveCpp is illustrated in the following benchmarks. These applications are available in multiple programming models, including SYCL and CUDA. This allows us to compile both the SYCL and CUDA versions of the benchmarks with AdaptiveCpp, and run both versions on hardware from different vendors.\r\n\r\n### Benchmark notes\r\n\r\n* Results shown are the *speedup over the vendor-native compiler*, i.e. nvcc-compiled CUDA on NVIDIA, hipcc-compiled HIP on AMD, and oneAPI-compiled SYCL on Intel.\r\n* The AL1/AL2 in the AdaptiveCpp results denotes the value of the `ACPP_ADAPTIVITY_LEVEL` environment variable (either set to 1 or 2), which controls the aggressiveness of additional JIT-time optimizations that AdaptiveCpp performs. The AL2 results were obtained after 2-3 application runs when performance has converged.\r\n* The **SYCL results correspond to the SYCL version of the benchmark when compiled with AdaptiveCpp**, and the **PCUDA results correspond to the CUDA version of the code compiled with AdaptiveCpp**.\r\n* It is a non-trivial task to align multiple compilers and programming models such that results are comparable. For example, different compilers and programming models may have different defaults regarding the accuracy to which math builtins are calculated, or to what extent fast math is used by default. In general, it is easier to enable all optimizations rather than finding a common middle ground. This is why for these benchmarks, we compiled with `-O3 -ffast-math` universally, which aligns most compilers. For hipcc, `-fno-hip-fp32-correctly-rounded-divide-sqrt` was used in addition to align the behavior with the other compilers.\r\n* AdaptiveCpp was built against LLVM 18, CUDA 12.1 and ROCm 6.3. On Intel GPU, the OpenCL backend was used.\r\n* The AdaptiveCpp results were all obtained using its default generic JIT compiler (`--acpp-targets=generic`)\r\n\r\n**The figures below may be freely shared under CC-by license, with attribution to the AdaptiveCpp project.**\r\n\r\n### NVIDIA RTX A5000\r\n![reference-perf-cuda-a5000](https://github.com/user-attachments/assets/d02ad266-723c-46e0-9107-06f1c9929333)\r\n\r\n### AMD Radeon Pro VII\r\n\r\n![reference-perf-hip-rprovii](https://github.com/user-attachments/assets/21af70d6-8819-494c-b0c6-1c632d081ec7)\r\n\r\n### Intel UHD630\r\n![reference-perf-ocl-uhd630](https://github.com/user-attachments/assets/d2319b8a-2efd-4169-87fa-8e7f845ee9f7)\r\n\r\n## What's Changed in Detail\r\n**Full Changelog**: https://github.com/AdaptiveCpp/AdaptiveCpp/compare/v24.10.0...v25.02.0\r\n\r\n## New Contributors\r\n* @thomasRoglin made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1684\r\n* @Stastez made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1730\r\n* @devajithvs made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1678\r\n* @Oblomov made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1754\r\n* @MatejKafka made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1768\r\n* @KipHamiltons made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1774\r\n* @Aympab made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1782\r\n* @dmitriy-sobolev made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1802\r\n","reactions":{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/215912940/reactions","total_count":19,"+1":0,"-1":0,"laugh":0,"hooray":10,"confused":0,"heart":0,"rocket":9,"eyes":0},"mentions_count":8},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/191765928","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/191765928/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/191765928/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v24.10.0","id":191765928,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOCGdIIM4Lbh2o","tag_name":"v24.10.0","target_commitish":"develop","name":"AdaptiveCpp 24.10.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2024-12-20T22:57:04Z","updated_at":"2024-12-20T23:01:44Z","published_at":"2024-12-20T23:00:52Z","assets":[],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v24.10.0","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v24.10.0","body":"## Even more performance and more features\r\n\r\nThis release increases performance even further, while also adding various new features. \r\n\r\nUsers are encouraged to read the [performance guide](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/performance.md) for directions as to how to get the most out of the AdaptiveCpp stack.\r\n\r\n## Highlights\r\n\r\n* **More performance:** AdaptiveCpp 24.10 introduces additional JIT-time optimizations, especially at the default `ACPP_ADAPTIVITY_LEVEL=1` setting. Users may see substantial performance improvements for some kernels.\r\n* `ACPP_ALLOCATION_TRACKING=1` was added which can enable the JIT compiler to include even more information about memory usage in code generation, further improving performance in some cases.\r\n* Added full **support for the SYCL 2020 group algorithms** library in the default generic JIT compiler on all backends.\r\n* **Additional C++ parallel STL algorithms** supported for offloading:\r\n    * `std::inclusive_scan`\r\n    * `std::exclusive_scan`\r\n    * `std::transform_inclusive_scan`\r\n    * `std::transform_exclusive_scan`\r\n    * `std::merge`\r\n    * `std::sort`\r\n    * *Note*: While these algorithms are expected to perform decently, the current implementations have known opportunities for further optimization.\r\n* **Introducing the `acpp::algorithms` library:** The algorithms underneath the C++ parallel STL offloading support are now also documented and exposed on the SYCL level for users who wish to invoke them from SYCL with a higher degree of control: https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/algorithms.md\r\n* Added **framework for JIT-time reflection** to generic JIT compiler. This allows e.g for convenient code specialization for different targets in a JIT scenario.\r\n* **New extensions**:\r\n    * `AdaptiveCpp_restrict_ptr` to express `noalias`/`__restrict__` semantics for pointer kernel arguments with the generic JIT compiler. https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/extensions.md#acpp_ext_restrict_ptr\r\n    * `AdaptiveCpp_jit::compile_if` as a powerful API for JIT-time reflection and code specialization based on properties only known at JIT-time (e.g. hardware type or capability). https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/extensions.md#acpp_ext_jit_compile_if\r\n## Benchmarks\r\n\r\n### Benchmark notes\r\n\r\n* The AL1/AL2 in the AdaptiveCpp results denotes the value of the `ACPP_ADAPTIVITY_LEVEL` environment variable (either set to `1` or `2`), which controls the aggressiveness of additional JIT-time optimizations that AdaptiveCpp performs. The AL2 results were obtained after 2-3 application runs when performance has converged.\r\n* It is a non-trivial task to align multiple compilers and programming models such that results are comparable. For example, different compilers and programming models may have different defaults regarding the accuracy to which math builtins are calculated, or to what extent fast math is used by default. In general, it is easier to enable all optimizations rather than finding a common middle ground. This is why for these benchmarks, we compiled with `-O3 -ffast-math` universally, which aligns most compilers. For `hipcc`,  `-fno-hip-fp32-correctly-rounded-divide-sqrt` was used in addition to align the behavior with the other compilers.\r\n* AdaptiveCpp was built against LLVM 15, CUDA 12.1 and ROCm 5.4. On Intel GPU, the OpenCL backend was used.\r\n* The AdaptiveCpp results were all obtained using its default generic JIT compiler (`--acpp-targets=generic`)\r\n* For the easywave results with AdaptiveCpp, we used the additional `-DACPP_ALLOW_INSTANT_SUBMISSION=1` compilation flag in line with the recommendations in the AdaptiveCpp [performance guide](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/performance.md). \r\n* icpx/oneAPI for AMD crashed when attempting to compile easywave, so these results are missing.\r\n\r\n**The figures below may be freely shared under CC-by license, with attribution to the AdaptiveCpp project.**\r\n\r\n### Performance compared to CUDA and oneAPI on NVIDIA GPU\r\n\r\n\r\n![perf_2410_nv](https://github.com/user-attachments/assets/9566055f-bf21-4103-b6c0-865e096f9728)\r\n### Performance compared to HIP and oneAPI on AMD GPU\r\n\r\n![perf_2410_amd](https://github.com/user-attachments/assets/81540425-be8f-4835-adae-8a640aeb3745)\r\n\r\n### Performance compared to oneAPI on Intel GPU\r\n\r\n![perf_2410_intel](https://github.com/user-attachments/assets/b0e95f34-a1d1-4038-b35b-1b0c454b2093)\r\n\r\n\r\n## What's Changed in Detail\r\n\r\n**Full Changelog**: https://github.com/AdaptiveCpp/AdaptiveCpp/compare/v24.06.0...v24.10.0\r\n\r\n## New Contributors\r\n* @wolfwood made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1553\r\n* @kazuki made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1557\r\n* @Arpan3323 made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1571\r\n* @MarkusBuettner made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1587\r\n* @VaiTon made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1615\r\n* @carbotaniuman made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1623\r\n* @ferdymercury made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1629\r\n","reactions":{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/191765928/reactions","total_count":8,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":8,"eyes":0},"mentions_count":7},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/167494535","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/167494535/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/167494535/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v24.06.0","id":167494535,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOCGdIIM4J-8OH","tag_name":"v24.06.0","target_commitish":"develop","name":"AdaptiveCpp 24.06.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2024-07-29T14:11:45Z","updated_at":"2024-07-29T23:31:55Z","published_at":"2024-07-29T14:16:02Z","assets":[],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v24.06.0","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v24.06.0","body":"## The fastest heterogeneous C++ compiler - free from vendor politics\r\n\r\nThis release increases performance even further, while also adding various new features. AdaptiveCpp 24.06 is now without a doubt one of the leading heterogeneous C++ compilers when it comes to performance. In many cases, it is faster than vendor-supported compiler stacks such as CUDA or oneAPI. At the same time, as a purely community-driven project, is is completely free from vendor politics, giving the community back control over their preferred programming models.\r\n\r\nUsers are encouraged to read the [performance guide](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/performance.md) for directions as to how to get the most out of the AdaptiveCpp stack.\r\n\r\n## Highlights\r\n\r\n* Run your application more often for more performance: AdaptiveCpp 24.06 introduces additional JIT-time optimizations that allow it to progressively emit more and more optimized kernels over multiple kernel and application runs. This functionality is controlled via the `ACPP_ADAPTIVITY_LEVEL` environment variable. This release introduces support for the more aggressive `ACPP_ADAPTIVITY_LEVEL=2` setting.\r\n* C++ standard parallelism offloading: AdaptiveCpp can now also offload the `std::execution::par` execution policy on devices which support strong forward progress guarantees. In this case, there is experimental support for `std::atomic` and `std::atomic_ref` in device code.\r\n* Runtime latency optimizations when using the generic JIT compiler (the AdaptiveCpp default compiler). Kernel submission latency is down by up to ~30% in our testing.\r\n* Improved SYCL 2020 support, including e.g. SYCL 2020 reductions with the generic JIT compiler, or the `buffer` and `multi_ptr` interfaces.\r\n* OpenCL backend is more feature complete; our unit test suite now compiles and runs cleanly with the OpenCL backend.\r\n* Major new feature: [Dynamic functions](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/extensions.md#acpp_ext_dynamic_functions) allow explicitly programming for the JIT-compilation case, and allow the programmer to explicitly express e.g. JIT-time polymorphism (where the definition of a function is only hardwired at runtime during JIT compilation) or kernel fusion-like semantics.\r\n* Introduces the `sycl::specialized` [extension](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/extensions.md#acpp_ext_specialized), which hints to the JIT compiler that a runtime kernel argument should be replaced with a constant at JIT-time. This makes AdaptiveCpp the first SYCL implementation to support specialization semantics across all backends thanks to its unified JIT compiler.\r\n* Deprecates most of the remaining old [macros](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/macros.md) starting with `HIPSYCL_*, __hipsycl*` and adds new versions following `ACPP_*, __acpp_*` naming scheme. Users are encouraged to migrate to the new names.\r\n\r\n\r\n## Benchmarks\r\n\r\nThe following benchmarks explore the performance of the new `ACPP_ADAPTIVITY_LEVEL=2` (AL2) feature as well as performance in general.\r\n\r\n### Benchmark notes\r\n\r\n* The AL1/AL2 in the AdaptiveCpp results denotes the value of the `ACPP_ADAPTIVITY_LEVEL` environment variable, which controls the aggressiveness of additional JIT-time optimizations that AdaptiveCpp supports. The AL2 results were obtained after 2-3 application runs when performance has converged.\r\n* It is a non-trivial task to align multiple compilers and programming models such that results are comparable. For example, different compilers and programming models may have different defaults regarding the accuracy to which math builtins are calculated, or to what extent fast math is used by default. In general, it is easier to enable all optimizations rather than finding a common middle ground. This is why for these benchmarks, we compiled with `-O3 -ffast-math` universally, which aligns most compilers. For `hipcc`,  `-fno-hip-fp32-correctly-rounded-divide-sqrt` was used in addition to align the behavior with the other compilers.\r\n* These results are not comparable to earlier results we have published due to differences in compiler flags and methodology.\r\n* AdaptiveCpp was built against LLVM 15, CUDA 12.1 and ROCm 5.4. On Intel GPU, the OpenCL backend was used.\r\n* The AdaptiveCpp results were all obtained using its default generic JIT compiler (`--acpp-targets=generic`)\r\n* In the earlier AdaptiveCpp 24.02 release, the generic JIT compiler did not yet support all functionality needed by cloverleaf, and therefore could not compile it. Cloverleaf results are thus missing for the previous release AdaptiveCpp 24.02.\r\n* For the easywave results with AdaptiveCpp, we used the additional `-DACPP_ALLOW_INSTANT_SUBMISSION=1` compilation flag in line with the recommendations in the AdaptiveCpp [performance guide](https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/performance.md). \r\n* icpx/oneAPI for AMD crashed when attempting to compile easywave, so these results are missing.\r\n\r\n**The figures below may be freely shared under CC-by license, with attribution to the AdaptiveCpp project.**\r\n\r\n### Performance compared to CUDA and oneAPI on NVIDIA GPU\r\n\r\n![perf_2406](https://github.com/user-attachments/assets/9b566661-b756-4c28-9ef0-ac7f8deffc09)\r\n\r\n### Performance compared to HIP and oneAPI on AMD GPU\r\n![perf_2406_amd](https://github.com/user-attachments/assets/154ee35d-ca11-4b0a-acbe-bab37ab7cf8f)\r\n\r\n### Performance compared to oneAPI on Intel GPU\r\n![perf_2406_intel](https://github.com/user-attachments/assets/86c3ca00-c4d7-4bd7-8665-23afaecf6803)\r\n\r\n\r\n\r\n## What's Changed in Detail\r\n\r\n**Full Changelog**: https://github.com/AdaptiveCpp/AdaptiveCpp/compare/v24.02.0...v24.06.0\r\n\r\n## New Contributors\r\n* @Abdulrahman295 made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1411\r\n* @feltech made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1410\r\n* @chsasank made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1419\r\n* @badumbatish made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1427\r\n* @Luigi-Crisci made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1430\r\n* @marcosolanki made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1486\r\n","reactions":{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/167494535/reactions","total_count":19,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":19,"eyes":0},"mentions_count":6},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/145739745","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/145739745/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/145739745/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v24.02.0","id":145739745,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOCGdIIM4Ir8_h","tag_name":"v24.02.0","target_commitish":"develop","name":"AdaptiveCpp 24.02.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2024-03-11T14:48:36Z","updated_at":"2024-03-11T17:15:11Z","published_at":"2024-03-11T17:09:37Z","assets":[],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v24.02.0","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v24.02.0","body":"# Maxing out SYCL performance\r\n\r\nAdaptiveCpp 24.02 introduces multiple compiler improvements, making it one of the best SYCL compilers - and in many cases the best - in the world when it comes to extracting performance from the hardware.\r\n\r\n**If you are not using it already, try it now and perhaps save some compute time!**\r\n\r\nThe following performance results have been obtained with AdaptiveCpp's generic single-pass compiler (`--acpp-targets=generic`).\r\n\r\n*Note: oneAPI by default compiles with `-ffast-math`, while AdaptiveCpp does not enable fast math by default. All benchmarks have been explicitly compiled with `-fno-fast-math` to align compiler behavior, except where noted otherwise.*\r\n\r\n![perf_2402_nvidia](https://github.com/AdaptiveCpp/AdaptiveCpp/assets/11861762/1766fe38-048a-4e7e-a1ba-e38e8cfe364a)\r\n\r\n![perf_2402_amd](https://github.com/AdaptiveCpp/AdaptiveCpp/assets/11861762/a8bad795-f5f9-4ed2-83a5-4fbd5d940707)\r\n*Note: oneAPI for AMD does not correctly round `sqrt()` calls even if `-fno-fast-math` is passed, using approximate builtins instead. This loss of precision can substantially skew benchmark results, resulting in misleading performance results. AdaptiveCpp 24.02 correctly rounds math functions by default. To align precision and allowed compiler optimizations, AdaptiveCpp was allowed to use approximate `sqrt` builtins as well for the AMD results.*\r\n\r\n![perf_2402_intel](https://github.com/AdaptiveCpp/AdaptiveCpp/assets/11861762/d69be019-6529-4c8b-8bf3-57301dd5c0a3)\r\n\r\n*Note: AdaptiveCpp was running on the Intel GPU through OpenCL, while DPC++ was using its default backend Level Zero, which allows for more low-level control. Some of the differences may be explained by the different backend runtimes underneath the SYCL implementations.*\r\n\r\n# World's fastest compiler for C++ standard parallelism offload\r\n\r\nAdaptiveCpp 24.02 ships with the world's fastest compiler for offloading C++ standard parallelism constructs. This functionality was already part of 23.10, however AdaptiveCpp includes multiple important improvements. It can substantially outperform vendor compilers, and is the **world's only compiler that can demonstrate C++ standard parallelism offloading performance across Intel, NVIDIA and AMD hardware**. Consider the following performance results for the CloverLeaf, TeaLeaf and miniBUDE benchmarks:\r\n\r\n![apps_stdpar_normalized](https://github.com/AdaptiveCpp/AdaptiveCpp/assets/11861762/64538a29-6623-4da6-9611-6263cb61f392)\r\n\r\n* The *green* bars show AdaptiveCpp 24.02 speedup over NVIDIA nvc++ on NVIDIA A100;\r\n* The *red* bars show AdaptiveCpp 24.02 speedup over AMD roc-stdpar on AMD Instinct MI100;\r\n* The *blue* bars show AdaptiveCpp 24.02 speedup over Intel `icpx -fsycl-pstl-offload=gpu` on Intel Data Center GPU Max 1550.\r\n* The *dashed blue*  line indicates performance +/- 20%.\r\n\r\nIn particular, note that AdaptiveCpp does not depend on the XNACK hardware feature to obtain performance on AMD GPUs. XNACK is an elusive feature that is not available on most consumer hardware, and usually not enabled on most production HPC systems.\r\n\r\n# New features: Highlights\r\n\r\n* No targets specification needed anymore! AdaptiveCpp now by default compiles with `--acpp-targets=generic`. This means that a simple compiler invocation such as `acpp -o test -O3 test.cpp` will create a binary that can run on Intel, NVIDIA and AMD GPUs. **AdaptiveCpp 24.02 is the world's only SYCL compiler that does not require specifying compilation targets to generate a binary that can run \"everywhere\".**\r\n* **New JIT backend: Host CPU**. `--acpp-targets=generic` can now also target the host CPU through the generic JIT compiler. This can lead to performance improvements over the old `omp` compiler. E.g. on AMD Milan, babelstream's dot benchmark was observed to improve from 280GB/s to 380GB/s. This also means that it is no longer necessary to target `omp` to run on the CPU. `generic` is sufficient, and will likely perform better. Not having to compile for `omp` explicitly can also reduce compile times noticably (we observed e.g. ~15% for babelstream).\r\n* **Persistent on-disk kernel cache**: AdaptiveCpp 24.02 ships with an on-disk kernel cache for JIT compilations occuring when using `--acpp-targets=generic`. This can substantially reduce JIT overheads.\r\n* **Automatic runtime specialization of kernels**: When using `--acpp-targets=generic`, AdaptiveCpp can now automatically apply optimizations to kernels at JIT-time based on runtime knowledge. This can lead to noticable speedups in some cases, although the full potential of this is expected to only become apparent with future AdaptiveCpp versions.\r\n    *  This means that achieving best possible performance might require running the application multiple times, as AdaptiveCpp will try to JIT-compile increasingly specialized kernels with each application run. This can be controlled using the `ACPP_ADAPTIVITY_LEVEL` environment variable. Set it to 0 to recover the old behavior. The default is currently 1. **If you are running benchmarks, you may have to update your benchmarking infrastructure to run applications multiple times.**\r\n\r\n\r\n# What's Changed in Detail\r\n\r\n**Full Changelog**: https://github.com/AdaptiveCpp/AdaptiveCpp/compare/v23.10.0...v24.02.0\r\n\r\n## New Contributors\r\n* @blinkfrog made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1251\r\n* @acmnpv made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1368\r\n* @archibate made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1118\r\n\r\n","reactions":{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/145739745/reactions","total_count":22,"+1":3,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":5,"rocket":14,"eyes":0},"mentions_count":3},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/127279259","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/127279259/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/127279259/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v23.10.0","id":127279259,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOCGdIIM4HliCb","tag_name":"v23.10.0","target_commitish":"develop","name":"AdaptiveCpp 23.10.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2023-10-30T20:51:14Z","updated_at":"2023-10-31T15:23:49Z","published_at":"2023-10-31T15:23:49Z","assets":[],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v23.10.0","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v23.10.0","body":"# Highlights\r\n\r\nThis release contains several major features, and introduces a major shift in the project's capabilities:\r\n\r\n* **New project name: AdaptiveCpp**. This release is the first release with the new name, and contains renamed, user-facing components. This includes e.g. renamed compiler (`acpp`), compiler flags (e.g. `--acpp-targets`), cmake integration and more. The old name is still supported for backward compatibility during a transitional period. For details on why this renaming occured, see https://github.com/AdaptiveCpp/AdaptiveCpp/issues/1147\r\n* **The world's first single-pass SYCL compiler (`--acpp-targets=generic`):** This release is the first release to contain our new single-pass compiler. This is the world's only SYCL compiler which does not need to parse the code multiple times to generate a binary. Instead, during the regular host compilation, LLVM IR for kernels is extracted and embedded in the binary. At runtime, this IR is then JIT-compiled to whatever is needed (currently supported is PTX, amdgcn and SPIR-V)\r\n   * As such, this new compiler design is also the first SYCL compiler to introduce a **unified code representation across backends**\r\n   * **\"Compile once, run anywhere\"** -  the new design guarantees that every binary generated by `acpp --acpp-targets=generic` can directly be executed on all supported GPUs from Intel, NVIDIA and AMD. The new approach can **dramatically reduce compile times**, especially when many devices need to be targeted since the code still is only parsed a single time.\r\n   * See the paper for more details: https://dl.acm.org/doi/10.1145/3585341.3585351\r\n* The **world's first SYCL implementation to support automatic offloading of C++ parallel STL algorithms (`--acpp-stdpar`)**. This heterogeneous programming model was until now primarily supported by NVIDIA's nvc++ for NVIDIA GPUs. AdaptiveCpp not only supports it for NVIDIA, AMD and Intel GPUs, but also conveniently allows to generate a binary that can dispatch to all supported devices using the new single-pass compiler. See here for details on this new experimental feature: https://github.com/AdaptiveCpp/AdaptiveCpp/blob/develop/doc/stdpar.md\r\n* **Production support for Intel GPUs** through the new single-pass compiler\r\n* **New OpenCL backend** - this new backend supports targeting OpenCL SPIR-V devices, such as Intel's CPU and GPU OpenCL runtimes, bringing the total number of supported backends to five.\r\n* Many bug fixes and performance optimizations!\r\n\r\n\r\n## What's changed\r\n\r\nThe full list of changes it too long for release pages; please see here for a comprehensive list of all changes:\r\n**Full Changelog**: https://github.com/AdaptiveCpp/AdaptiveCpp/compare/v0.9.4...v23.10.0\r\n\r\n## New Contributors\r\n* @RaulPPelaez made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/967\r\n* @Momellouky made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1017\r\n* @tdavidcl made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/965\r\n* @tom91136 made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1065\r\n* @0dminnimda made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1080\r\n* @eirrgang made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1069\r\n* @jamesreinders made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1157\r\n* @bashbaug made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1163\r\n* @karolherbst made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1177\r\n* @Calandracas606 made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1204\r\n* @gogo2 made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1209\r\n\r\n","reactions":{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/127279259/reactions","total_count":6,"+1":0,"-1":0,"laugh":0,"hooray":6,"confused":0,"heart":0,"rocket":0,"eyes":0},"mentions_count":11},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/125786932","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/125786932/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/125786932/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v23.10.0-alpha","id":125786932,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOCGdIIM4Hf1s0","tag_name":"v23.10.0-alpha","target_commitish":"develop","name":"AdaptiveCpp 23.10.0 alpha prerelease","draft":false,"immutable":false,"prerelease":true,"created_at":"2023-10-18T22:31:26Z","updated_at":"2023-10-20T01:37:37Z","published_at":"2023-10-19T12:03:29Z","assets":[],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v23.10.0-alpha","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v23.10.0-alpha","body":"This is a prerelease for the upcoming 23.10.0 to provide a testing target.\r\n\r\n## What's Changed (incomplete, see full changelog below)\r\n* Add generic SSCP compilation flow: Single pass compiler to generic LLVM IR + runtime JIT by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/862\r\n* [SSCP][NFC] Update installation requirements for SSCP by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/904\r\n* [Doc] Update install-llvm.md by @nmnobre in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/905\r\n* Update Level Zero installation instructions by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/906\r\n* [SSCP][L0] Avoid passing nullptr as pointee value to zeKernelSetArgumentValue by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/910\r\n* [SSCP] Handle llvm.lifetime.start/end intrinsic when moving allocas to different AS by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/911\r\n* [SSCP][llvm-to-spirv] Handle freeze instruction, which is unsupported by llvm-spirv translator by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/914\r\n* [SSCP] Avoid spilling function pointer type into SSCP IR due to host barrier pointer in nd_item by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/913\r\n* [SSCP][llvm-to-ptx] Respect NVVM wanting alloca instructions in addrspace 0 by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/915\r\n* [SSCP] Avoid using typeid in LLVMToBackend to allow RTTI-less LLVM by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/920\r\n* Fix API compat with LLVM 16 ToT. by @fodinabor in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/918\r\n* [SSCP] Remove stack protection attributes in device code by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/922\r\n* [SSCP] Handle global variable address spaces by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/921\r\n* Add comparison operators to test if `multi_ptr == nullptr` by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/924\r\n* install-rocm.md: Problem with ROCm 5.0 and SSCP by @al42and in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/927\r\n* Explicitly convert paths to `std::string`  by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/926\r\n* Bump version to 0.9.4 by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/928\r\n* [SSCP] Use information from llvm::DataLayout to correctly calculate parameter offset in kernel lambda by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/925\r\n* Resolve -Wpessimizing-move warning by @al42and in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/931\r\n* [SSCP][llvm-to-spirv] Add support for pointer wrapping by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/930\r\n* [SSCP][llvm-to-spirv] Enable Intel llvm-spirv translator extensions by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/932\r\n* [SSCP] Enable aggressive inlining for all backends by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/933\r\n* [doc] Mention that the repositories are outdated. by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/935\r\n* Fix parsing backend string by @al42and in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/936\r\n* [doc] Fix formatting of compilation flow documentation by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/938\r\n* Update `sycl::vec` class to reflect SYCL 2020 requirements  by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/907\r\n* [Renaming][NFC] Change logo and top-level readme by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/943\r\n* [Renaming][NFC] Update SYCL implementations image by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/947\r\n* [Renaming] Fix CI paths by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/944\r\n* Logo: Add text-to-path version of logo, and double check image size by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/946\r\n* [Renaming][NFC] Update documentation hipSYCL->Open SYCL by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/950\r\n* [Renaming] Remove internal syclcc references to hipSYCL; accept Open SYCL arguments by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/948\r\n* [SYCL 2020] Initial marray implementation by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/884\r\n* [Renaming] Rename all targets containing hipSYCL except for hipSYCL-rt by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/951\r\n* Generic half (fp16) support by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/885\r\n* Add half int constructor by @normallytangent in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/957\r\n* Change sycl::noinit to sycl::no_init by @RaulPPelaez in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/967\r\n* Tweaks and fixes for math built-ins by @nmnobre in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/960\r\n* Add type aliases `halfn = vec<half, n>` by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/970\r\n* [SSCP] Fix sinpi/cospi builtins for SPIR-V targets by @al42and in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/975\r\n* [SSCP] Add atomic support by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/941\r\n* [CI] Add LLVM 16. by @fodinabor in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/980\r\n* [Renaming] Support new name in cmake integration by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/958\r\n* [half] Add numeric_limits and hash for half by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/984\r\n* [CI] Update to version 22.11 of the Nvidia HPC SDK by @nmnobre in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/986\r\n* [SSCP][CI] Add SSCP compile testing to CI by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/981\r\n* [SSCP] Do not use OpenMP CXX flags/link line by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/988\r\n* Append environment variable for flags in syclcc by @normallytangent in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/982\r\n* Addendum to #832 for CUDA/HIP devices by @nmnobre in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/989\r\n* Add operators for +,-,*,/ for `half` with other scalar types by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/969\r\n* [CI] Fix CI for forks still using hipSYCL as repo name 😇  by @fodinabor in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/995\r\n* Add isfinite, isinf, isnormal and signbit relational built-ins by @nmnobre in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/959\r\n* [Doc] Tweak instructions to build w/ LLVM by @nmnobre in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/937\r\n* Remove Ubuntu 18.04 from CI by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/997\r\n* [CBS] Fix creating wi-loop for barrier-free kernel, if the kernel has… by @fodinabor in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/998\r\n* [CBS] Dynamically sized stack arrays. by @fodinabor in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/994\r\n* Check number of `Args...` of `vec` constructor in template parameter to allow SFINAE by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/954\r\n* Add -DWITH_SSCP_COMPILER=OFF to minimal install script by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1009\r\n* [Doc] Fix (very) minor spelling/grammar mistakes by @nmnobre in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1011\r\n* [Doc] fix a very minor typo by @Momellouky in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1017\r\n* [L0] Resolve API failures for USM pointer queries by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1021\r\n* Implement math builtin frexp, modf, sincos by @fxzjshm in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1007\r\n* Add a few missing operators to `id` class by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1018\r\n* Add `buffer(Container)` constructor by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/990\r\n* [SSCP] Fix S2 compilation for globals without initializer by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1020\r\n* [NFC] Add new publications to readme by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1026\r\n* Add missing operators for `range` class by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1027\r\n* Fix Windows GitHub CI by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/977\r\n* [LLVM] Fix compat with upstream LLVM by @fodinabor in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1003\r\n* [SSCP] Fix SSCP issues for LLVM 17 by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1028\r\n* [CI] Tidy up and test with ubuntu 22.04 by @nmnobre in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1004\r\n* [CI] Fix Windows CI (again) by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1032\r\n* [CI] Add GPU-based workflows & testing to CI by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1029\r\n* Implement SYCL2020 accessor offset semantics by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/992\r\n* [SYCL2020] Migrate information descriptors to their respective namespaces by @nmnobre in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/987\r\n* Add ldexp math built-in by @nmnobre in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/962\r\n* add clz builtin by @tdavidcl in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/965\r\n* Add unary +/- operators for `half` by @normallytangent in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1038\r\n* Fix CMake warnings by @al42and in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1041\r\n* Expose `Dimensions` template paramter for `{nd_}range`, `{nd_,h_}item` and `id` by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1016\r\n* Allow non-default-construbtible types for `buffer(Container)` and `buffer(Iterator, Iterator)` constructors  by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1033\r\n* [CI] Remove superfluous (and incorrect) cmake install prefix argument by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1042\r\n* Use `size_t` in decl and def of `createExitWithID` by @fodinabor in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1063\r\n* Keep CMake target rules if defined by @tom91136 in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1065\r\n* Fix build with ROCm Clang 5.5.0 by @al42and in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1040\r\n* Optimize submission process for eager submission case by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1054\r\n* Add aliases for `marray` by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1075\r\n* Use fixed width int types in SSCP builtin interface by @fxzjshm in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1076\r\n* Fix error when compiling with `-std=c++20` by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1083\r\n* [DOC] fix the broken link to the wiki article in the README.md by @0dminnimda in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1080\r\n* Fix comment about (cuda|hip)StreamCreateWithPriority by @al42and in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1086\r\n* Return device architecture in info::device::version by @al42and in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1084\r\n* Implement iterators for the accessor class by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1008\r\n* Let hipSYCL-rt be a non-transitive dependency. by @eirrgang in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1069\r\n* [SSCP][llvm-to-spirv] Use pown(double, i32) since IGC does not support pown(double, i64) by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1091\r\n* [L0] Take EUs into account when calculating compute units by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1106\r\n* Add C++ standard parallelism offloading support by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1088\r\n* Add OpenCL backend by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1109\r\n* Fix fill with offset by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1111\r\n* [OpenCL] Fix accessing build log by @fxzjshm in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1115\r\n* [stdpar] Don't use hipMemcpy and hipMemset due to performance issue with shared allocations by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1120\r\n* [SSCP] Strip module level inline assembly from device code by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1123\r\n* Use `FindCUDAToolkit` for cmake versions >= 3.17 by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1124\r\n* Pass CUDA libraries in FindCUDA.cmake as a list by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1127\r\n* [stdpar] Implement `{m,aligned_}alloc` and `free` by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1114\r\n* [NFC] Add image of compiler stack to documentation by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1126\r\n* Allow for non-default-constructible iterators in `std::for_each_n` by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1132\r\n* [CI] Run self-hosted runners only for actions started from main repository by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1133\r\n* [Renaming] Migrate syclcc flags and content to new name; add acpp alias by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1137\r\n* Bump version to 23.10.0 by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1136\r\n* [Renaming] Add AdaptiveCpp cmake infrastructure, migrate tests to use new cmake integration by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1144\r\n* [Renaming][NFC] Migrate to new name in documentation and images by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1142\r\n* [renaming] Rename opensycl-hcf-tool and opensycl-info to acpp-hcf-tool and acpp-info by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1149\r\n* [renaming] libopensycl-clang.so -> libacpp-clang.so by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1153\r\n* [renaming] Use AdaptiveCpp in debug output instead of hipSYCL by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1152\r\n* [renaming] Support ACPP_* environment variables by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1151\r\n* update build instructions - easy by @jamesreinders in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1157\r\n* [NFC] Add note to describe potential perf pitfall due to OpenMP runtime mismatch by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1158\r\n* Fix compilation error with LLVM 18 by @tom91136 in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1159\r\n* [renaming] Remove obsolete file by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1160\r\n* Add workaround for clang CUDA header incompatibility by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1161\r\n* [HipLike] add header noinline workaround for gcc-13 by @tdavidcl in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1162\r\n* add parallel_for overloads with a number by @bashbaug in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1163\r\n* Add `get_backend` to Interop handle by @normallytangent in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1141\r\n* Fix HIPSYCL_RT_SANITIZE cmake option by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1171\r\n* Fix UB in test cases by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1173\r\n* [renaming] libopensycl-common -> libacpp-common, libhipSYCL-rt -> libacpp-rt by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1174\r\n* Fix clang-16 and newer include path by @karolherbst in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1177\r\n* Update the path to include directory in AdaptiveCpp's installation by @normallytangent in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1170\r\n* [SSCP][llvm-to-ptx] Strip debug information to avoid JIT failures when using -g by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1168\r\n* [SSCP] Handle circular references in globals by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1166\r\n* Redesign execution hints to avoid dynamic memory allocation and allow faster queries by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1178\r\n* buffer allocation: Avoid requesting alignments not supported by backends by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1184\r\n* [SSCP][llvm-to-spirv] Don't error if requested local memory is unused by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1185\r\n* [CI] Update nvc++ to 23.9 and resolve nvc++ CI issues by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1181\r\n* [renaming] Support ACPP_DEBUG_LEVEL in compiler and tools by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1186\r\n* [SSCP][llvm-to-spirv] Do not use cmake INSTALL_DIR to install llvm-spirv translator by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1172\r\n* [SSCP] Fix excessive global pruning introduced in #1166 by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1187\r\n* [OpenCL] Fix typo potentially causing USM pointer queries to fail by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1192\r\n* [SSCP][llvm-to-spirv] Also strip debug information for SPIR-V JIT by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1191\r\n* [OpenCL] Correctly initialize is_from_host_backend when querying USM pointer info by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1193\r\n* Introduce small_vector support by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1182\r\n* [CI][CBS] Enable LLVM 17 in CI by @fodinabor in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1195\r\n* Print more detailed version information; allow custom version suffix by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1167\r\n* [L0] Handle USM pointer queries in a more robust way if the pointer is unknown by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1197\r\n* Update `sycl::exception` class to SYCL2020 by @nilsfriess in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1066\r\n* [CI] Expand LIT infrastructure to SSCP and add some SSCP CI tests by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1196\r\n* Add instant submission mode by @illuhad in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1128\r\n\r\n## New Contributors\r\n* @RaulPPelaez made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/967\r\n* @Momellouky made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1017\r\n* @tdavidcl made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/965\r\n* @tom91136 made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1065\r\n* @0dminnimda made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1080\r\n* @eirrgang made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1069\r\n* @jamesreinders made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1157\r\n* @bashbaug made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1163\r\n* @karolherbst made their first contribution in https://github.com/AdaptiveCpp/AdaptiveCpp/pull/1177\r\n\r\n**Full Changelog**: https://github.com/AdaptiveCpp/AdaptiveCpp/compare/v0.9.4...v23.10.0-alpha","reactions":{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/125786932/reactions","total_count":2,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":2,"eyes":0},"mentions_count":16},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/89940761","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/89940761/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/89940761/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v0.9.4","id":89940761,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOCGdIIM4FXGMZ","tag_name":"v0.9.4","target_commitish":"feature/bump-to-094","name":"hipSYCL 0.9.4","draft":false,"immutable":false,"prerelease":false,"created_at":"2023-01-23T16:48:30Z","updated_at":"2023-10-26T00:50:38Z","published_at":"2023-01-23T16:58:19Z","assets":[],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v0.9.4","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v0.9.4","body":"\r\n\r\n**This is a maintenance release, intended as a last stop before major additions. It therefore does not include major functionality already available on the develop branch such as the generic single-pass compiler.**\r\n\r\n## Build instruction addendum\r\n\r\nFor build instructions and issues that were discovered post-release (e.g. about compatibility with LLVM versions that were not yet released at the time), please see here:\r\nhttps://github.com/AdaptiveCpp/AdaptiveCpp/wiki/Build-instructions-for-old-versions#hipsycl-094\r\n\r\n## What's Changed\r\n* Add minimal install script by @illuhad in https://github.com/illuhad/hipSYCL/pull/819\r\n* Fix handling of HCF object id when both CUDA and HIP are in explicit multipass by @illuhad in https://github.com/illuhad/hipSYCL/pull/831\r\n* Fix device::max_work_item_sizes by @nmnobre in https://github.com/illuhad/hipSYCL/pull/832\r\n* Add HIPSYCL_SYCLCC_EXTRA_COMPILE_OPTIONS by @al42and in https://github.com/illuhad/hipSYCL/pull/824\r\n* [CBS] Cope with a minor LLVM API change. by @fodinabor in https://github.com/illuhad/hipSYCL/pull/843\r\n* [CI] Enable LLVM 15. by @fodinabor in https://github.com/illuhad/hipSYCL/pull/844\r\n* replace activemask with ballot function by @DieGoldeneEnte in https://github.com/illuhad/hipSYCL/pull/838\r\n* Make embedded_pointer store pointer which than convert to unique_id rather than the other way round by @illuhad in https://github.com/illuhad/hipSYCL/pull/821\r\n* Update comment on nvc++ workaround in mem_fence() by @nmnobre in https://github.com/illuhad/hipSYCL/pull/849\r\n* Use -isystem instead of -I for hipSYCL headers to avoid warnings with high warning levels by @illuhad in https://github.com/illuhad/hipSYCL/pull/859\r\n* Add implicit conversion for item<1> to size_t by @illuhad in https://github.com/illuhad/hipSYCL/pull/847\r\n* Remove comparing `my_id` since it does not exist in class item by @nilsfriess in https://github.com/illuhad/hipSYCL/pull/868\r\n* Remove unnecessary/wrong consts by @nilsfriess in https://github.com/illuhad/hipSYCL/pull/876\r\n* Fix hipSYCL clang plugin path on MacOS by @illuhad in https://github.com/illuhad/hipSYCL/pull/883\r\n* Add vec deduction guides and fix swizzles when directly accessed using .elem() by @illuhad in https://github.com/illuhad/hipSYCL/pull/866\r\n* Ensure that `device{} == device{default_selector{}}` by @nilsfriess in https://github.com/illuhad/hipSYCL/pull/888\r\n* [CBS] Cleanup globals if unused loads still around by @fodinabor in https://github.com/illuhad/hipSYCL/pull/887\r\n* WIP: Fix MacOS build CI by @normallytangent in https://github.com/illuhad/hipSYCL/pull/882\r\n* Rename `global_mem_cache_type::write_only` to `read_write` by @nilsfriess in https://github.com/illuhad/hipSYCL/pull/875\r\n* Fix LLVM 16 compat. by @fodinabor in https://github.com/illuhad/hipSYCL/pull/893\r\n* Add clang include path from lib64. (Fix building on opensuse tumbleweed) by @marknefedov in https://github.com/illuhad/hipSYCL/pull/898\r\n\r\n## New Contributors\r\n* @marknefedov made their first contribution in https://github.com/illuhad/hipSYCL/pull/898\r\n\r\n**Full Changelog**: https://github.com/illuhad/hipSYCL/compare/v0.9.3...v0.9.4","reactions":{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/89940761/reactions","total_count":4,"+1":0,"-1":0,"laugh":0,"hooray":4,"confused":0,"heart":0,"rocket":0,"eyes":0},"mentions_count":8},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/75925433","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/75925433/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/75925433/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v0.9.3","id":75925433,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOCGdIIM4Ehoe5","tag_name":"v0.9.3","target_commitish":"develop","name":"hipSYCL 0.9.3","draft":false,"immutable":false,"prerelease":false,"created_at":"2022-08-31T16:32:41Z","updated_at":"2022-08-31T16:34:31Z","published_at":"2022-08-31T16:34:31Z","assets":[],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v0.9.3","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v0.9.3","body":"## Highlights\r\n\r\n* Improved compatibility with new clang versions and ROCm clang\r\n* New extensions, e.g.\r\n  * coarse grained events. These are zero-construction-cost events at the expense of lower synchronization performance, and hence a good match if the returned event of an operation is not expected to be used\r\n  * queue priorities for in-order queues on certain backends\r\n* Added `hip.explicit-multipass` compilation flow\r\n* Multiple optimizations that can potentially reduce runtime overheads substantially\r\n  * Use event pools in CUDA/HIP backends\r\n  * Use asynchronous garbage collector thread to clean up old DAG nodes to remove garbage collection from the kernel submission path\r\n  * Use `std::weak_ptr` instead of `shared_ptr` to express dependencies in the DAG; making old DAG nodes and their associated events eligible earlier for reuse by the event pool.\r\n* In-order queues map 1:1 to dedicated CUDA or HIP streams for more explicit scheduling control\r\n* Unified kernel cache and data format for all explicit multipass compilation flow (hipSYCL container format, HCF)\r\n* Manage hipSYCL runtime lifetime by refcounting all SYCL objects created by the user instead of just having a global object; this can resolve errors when terminating the program on some backends.\r\n* Simplify deployment when no `std::filesystem` is available\r\n* New tool: `hipsycl-hcf-tool` to inspect and edit HCF files\r\n* New tool: `hipsycl-info` to print information about detected devices.\r\n\r\n## What's Changed (details)\r\n* Fix SPIR-V isnan() builtin by @illuhad in https://github.com/illuhad/hipSYCL/pull/710\r\n* Don't spill OpenMP pragmas and add .sycl as file ending by @illuhad in https://github.com/illuhad/hipSYCL/pull/711\r\n* Update installation scripts by @sbalint98 in https://github.com/illuhad/hipSYCL/pull/677\r\n* Fix typo in macro name causing harmless warnings by @al42and in https://github.com/illuhad/hipSYCL/pull/715\r\n* Check all dyn casts in analyzeModule. by @fodinabor in https://github.com/illuhad/hipSYCL/pull/717\r\n* Align name mangling in clang 13 host pass with upstream clang and restrict uses of createDeviceMangleContext() by @illuhad in https://github.com/illuhad/hipSYCL/pull/720\r\n* Add missing include directive for unordered_map by @normallytangent in https://github.com/illuhad/hipSYCL/pull/735\r\n* Make random number generators for embedded_pointer unique id thread_local by @illuhad in https://github.com/illuhad/hipSYCL/pull/738\r\n* Fix multi-threaded task processing by @illuhad in https://github.com/illuhad/hipSYCL/pull/739\r\n* dag_node: Only use backend wait() functionality if we are not yet complete by @illuhad in https://github.com/illuhad/hipSYCL/pull/742\r\n* Describe boost 1.78 build system bug in documentation by @illuhad in https://github.com/illuhad/hipSYCL/pull/744\r\n* Add released LLVM 14 to Linux CIs. by @fodinabor in https://github.com/illuhad/hipSYCL/pull/747\r\n* Add global kernel cache and HCF infrastructure by @illuhad in https://github.com/illuhad/hipSYCL/pull/736\r\n* Fix fiinding boost library path for boost with cmake intgeration  by @sbalint98 in https://github.com/illuhad/hipSYCL/pull/748\r\n* Use reference-counting of user SYCL objects to manage runtime lifetime by @illuhad in https://github.com/illuhad/hipSYCL/pull/749\r\n* Restrict queries of event state by @illuhad in https://github.com/illuhad/hipSYCL/pull/750\r\n* Fix signature of __hipsycl_atomic_store for double and float by @al42and in https://github.com/illuhad/hipSYCL/pull/751\r\n* [CUDA][HIP] Add event pool by @illuhad in https://github.com/illuhad/hipSYCL/pull/757\r\n* Add coarse grained events extension by @illuhad in https://github.com/illuhad/hipSYCL/pull/754\r\n* Make max cached nodes configurable by @illuhad in https://github.com/illuhad/hipSYCL/pull/759\r\n* [cbs] Fix compatibility issues with upstream Clang/LLVM by @aaronmondal in https://github.com/illuhad/hipSYCL/pull/763\r\n* [CBS] Fix runtime issues with opaque pointers by @fodinabor in https://github.com/illuhad/hipSYCL/pull/765\r\n* [Plugin] Resolve version macros in HIPSYCL_STRINGIFY by @aaronmondal in https://github.com/illuhad/hipSYCL/pull/773\r\n* Add missing sycl::nd_range::get_group_range function by @al42and in https://github.com/illuhad/hipSYCL/pull/775\r\n* Add HIPSYCL_RT_SANITIZE cmake option by @illuhad in https://github.com/illuhad/hipSYCL/pull/779\r\n* Update ROCm installation documentation by @illuhad in https://github.com/illuhad/hipSYCL/pull/780\r\n* Remove unnecessary linking against boost for the clang plugin by @illuhad in https://github.com/illuhad/hipSYCL/pull/781\r\n* Use weak_ptr in node requirements list by @illuhad in https://github.com/illuhad/hipSYCL/pull/771\r\n* [CI] fix compilation on MSVC 2017 by @fxzjshm in https://github.com/illuhad/hipSYCL/pull/784\r\n* dag_submitted_ops: Manage node lifetime by asynchronously waiting instead of event queries by @illuhad in https://github.com/illuhad/hipSYCL/pull/761\r\n* Optimize queue::wait() by waiting on nodes in reverse submission order by @illuhad in https://github.com/illuhad/hipSYCL/pull/787\r\n* Remove OpenMP dependency for sequential backend by @illuhad in https://github.com/illuhad/hipSYCL/pull/786\r\n* Optimize inorder queue::wait() by @illuhad in https://github.com/illuhad/hipSYCL/pull/788\r\n* Add support for HIP explicit multipass by @illuhad in https://github.com/illuhad/hipSYCL/pull/790\r\n* Add hipsycl-info tool by @illuhad in https://github.com/illuhad/hipSYCL/pull/791\r\n* Fix ThreadSanitizer complaint about worker_thread::_continue by @al42and in https://github.com/illuhad/hipSYCL/pull/794\r\n* Avoid printing unprintable from memset_operation::dump by @al42and in https://github.com/illuhad/hipSYCL/pull/795\r\n* Fix linking errors with libstdc++ < 9 by @al42and in https://github.com/illuhad/hipSYCL/pull/667\r\n* Use device managers in allocators instead of setting device directly by @illuhad in https://github.com/illuhad/hipSYCL/pull/796\r\n* Work around nvc++ bug by not having empty if target branches in mem_fence() by @illuhad in https://github.com/illuhad/hipSYCL/pull/798\r\n* Manually check version of clang if ROCm is used. by @fodinabor in https://github.com/illuhad/hipSYCL/pull/800\r\n* Implement sincos and sinh math builtins by @nmnobre in https://github.com/illuhad/hipSYCL/pull/802\r\n* Add dedicated backend queues for inorder queues and priority queue support by @illuhad in https://github.com/illuhad/hipSYCL/pull/770\r\n* Add HIPSYCL_EXT_QUEUE_PRIORITY flag by @al42and in https://github.com/illuhad/hipSYCL/pull/804\r\n* Fix CMake error with ROCm 4.5 Clang by @al42and in https://github.com/illuhad/hipSYCL/pull/806\r\n* Add option to compile tests with reduced local mem usage by @illuhad in https://github.com/illuhad/hipSYCL/pull/805\r\n* omp.library-only: Fix incorrect addition of master group offset to group id by @illuhad in https://github.com/illuhad/hipSYCL/pull/814\r\n* Bump version to 0.9.3 by @illuhad in https://github.com/illuhad/hipSYCL/pull/803\r\n\r\n\r\n## New Contributors\r\n* @normallytangent made their first contribution in https://github.com/illuhad/hipSYCL/pull/735\r\n* @aaronmondal made their first contribution in https://github.com/illuhad/hipSYCL/pull/763\r\n* @nmnobre made their first contribution in https://github.com/illuhad/hipSYCL/pull/802\r\n\r\nThank you to our first-time contributors!\r\n\r\n\r\n**Full Changelog**: https://github.com/illuhad/hipSYCL/compare/v0.9.2...v0.9.3","mentions_count":8},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/59532725","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/59532725/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/59532725/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v0.9.2","id":59532725,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOCGdIIM4DjGW1","tag_name":"v0.9.2","target_commitish":"develop","name":"hipSYCL 0.9.2","draft":false,"immutable":false,"prerelease":false,"created_at":"2022-02-14T17:07:50Z","updated_at":"2022-02-14T17:20:49Z","published_at":"2022-02-14T17:16:43Z","assets":[],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v0.9.2","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v0.9.2","body":"# Changes  compared to the previous release 0.9.1 (selection)\r\n\r\nThe following is an incomplete list of changes and improvements:\r\n\r\n## Highlights\r\n\r\n* Initial support for **operating as a pure CUDA library for NVIDIA's proprietary nvc++ compiler**, without any additional hipSYCL compiler magic. In this flow, LLVM is not required and new NVIDIA hardware can be targeted as soon as NVIDIA adds support in nvc++.\r\n* Initial support for **dedicated compiler support in the CPU backend**. These new compilation passes can greatly improve performance of nd_range parallel for kernels on CPU. **This allows executing SYCL code efficiently on any CPU supported by LLVM**.\r\n* **Scoped parallelism API v2** for a more performance portable programming model\r\n* Reimplement explicit multipass support for clang >= 13. This allows targeting multiple backends simultaneously, and was previously only supported on clang 11. Kernel names in the binary are now always demangleable as `__hipsycl_kernel<KernelNameT>` or `__hipsycl_kernel<KernelBodyT>`.\r\n\r\n## SYCL support\r\n\r\n* Support for new SYCL 2020 features such as `atomic_ref`, device selector API, device aspect API and others\r\n* Support for SYCL 2020 final group algorithm interface\r\n* Add support for the profiling API\r\n* ... more\r\n\r\n## Extensions\r\n\r\n* Add initial support for multi-device queue hipSYCL extension to automatically distribute work across multiple devices\r\n* Add initial support for `queue::get_wait_list()` hipSYCL extension to allow barrier-like semantics at the queue level\r\n* Add `accessor_variant` extension which allows accessors to automatically optimize the internal data layout of the accessor object depending on how they were constructed. This can save registers on device without any changes needed by the user.\r\n* Add `handler::update_device()` extension in analogy to already existing `update_host()`. This can be e.g. used to prefetch data.\r\n* Complete buffer-USM interoperability API\r\n* Add support for explicit buffer policy extension and asynchronous buffers\r\n\r\nSee the documentation on [extensions](https://github.com/illuhad/hipSYCL/blob/develop/doc/extensions.md) for more details.\r\n\r\n## Optimizations\r\n\r\n* Automatic work distribution across multiple streams\r\n* Fix massive performance bug caused by a bug in the kernel cache in the Level Zero backend\r\n* Optimize CUDA backend to perform aggressive CUDA module caching in an explicit multipass scenario. This can greatly improve performance of the `cuda.explicit-multipass` compilation flow when multiple translation units are involved.\r\n* Several performance fixes and improvements in the hipSYCL runtime. Especially when spawning many tasks, performance can now be significantly better.\r\n* ... more\r\n\r\n## Bug fixes and other improvements\r\n\r\nYes, a lot of them :-)\r\n","reactions":{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/59532725/reactions","total_count":5,"+1":2,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":3,"eyes":0}},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/40646537","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/40646537/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/40646537/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v0.9.1","id":40646537,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"MDc6UmVsZWFzZTQwNjQ2NTM3","tag_name":"v0.9.1","target_commitish":"develop","name":"hipSYCL 0.9.1","draft":false,"immutable":false,"prerelease":false,"created_at":"2021-03-29T16:34:02Z","updated_at":"2021-03-29T16:44:13Z","published_at":"2021-03-29T16:38:59Z","assets":[],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v0.9.1","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v0.9.1","body":"# hipSYCL 0.9.1\r\n\r\n*-- This release is dedicated to the memory of Oliver M. Some things just end too soon.*\r\n\r\n## New major features\r\n\r\n* **Add new \"explicit multipass\" compilation model**, allowing to simultaneously target all of hipSYCL's backends. **This means hipSYCL can now compile to a binary that runs can run on devices from multiple vendors**. Details on the compilation flow can be found here: https://github.com/illuhad/hipSYCL/blob/develop/doc/compilation.md\r\n* **Introduce plugin architecture for backends of the hipSYCL runtime**. This means hipSYCL now looks for backend plugins at runtime, allowing to extend an already existing hipSYCL installation with support for additional hardware without changing the already installed components.\r\n* **Initial, experimental support for Intel GPUs using Level Zero and SPIR-V**\r\n* **Introducing initial support for large portions of oneDPL** using our fork at https://github.com/hipSYCL/oneDPL\r\n* hipSYCL is now also tested on Windows in CI, although Windows support is still experimental.\r\n\r\n## New features and extensions\r\n* **Command group properties** that can influence how kernels or other operations are scheduled or executed:\r\n    * `hipSYCL_retarget` command group property. Execute an operation submitted to a queue on an arbitrary device instead of the one the queue is bound to.\r\n    * `hipSYCL_prefer_group_size<Dim>` command group property. Provides a recommendation to hipSYCL which group size to choose for basic parallel for kernels.\r\n    * `hipSYCL_prefer_execution_lane` command group property. Provides a hint to the runtime on which backend queue (e.g. CUDA stream) an operation should be executed. This can be used to optimize kernel concurrency or overlap of data transfers and compute in case the hipSYCL scheduler does not already automatically submit an optimal configuration.\r\n* **Comprehensive interoperability framework between buffers and USM pointers**. This includes extracting USM pointers from existing `buffer` objects, turning any `buffer` into a collection of USM pointers, as well as constructing `buffer` objects on top of existing USM pointers.\r\n* The `hipSYCL_page_size` buffer property can be used to enable data state tracking inside a buffer at a granularity below the buffer size. This can be used to **allow multiple kernels to concurrently write to the same buffer** as long as they access different hipSYCL data management pages. Unlike subbuffers, this also works with **multi-dimensional strided memory accesses**.\r\n* Synchronous `sycl::mem_advise()` as free function\r\n* `handler::prefetch_host()` and `queue::prefetch_host()` for a simpler mechanism of prefetching USM allocations to host memory.\r\n* **Explicit buffer policies to make programmer intent clearer** as well as **asynchronous buffer types that do not block in the destructor**, which can improve performance. For example, `auto v = sycl::make_async_view(ptr, range)` constructs a buffer that operates directly on the input pointer and does not block in the destructor.\r\n* `HIPSYCL_VISIBLITY_MASK` environment variable can be used to select which backends should be loaded.\r\n\r\nSee https://github.com/illuhad/hipSYCL/blob/develop/doc/extensions.md for a list of all hipSYCL extensions with more details.\r\n\r\n## Optimizations and improvements\r\n* Hand-tuned **optimizations for SYCL 2020 group algorithms**\r\n* **Automatic distribution of kernels across multiple CUDA/HIP streams**\r\n* Improved support for newer ROCm versions\r\n* SYCL 2020 accessor deduction guides and `host_accessor`\r\n* Improve handling of Multi-GPU setups\r\n* **Significant performance improvements for** `queue::wait()`\r\n* Early DAG optimizations to improve handling of complex and large dependency graphs\r\n* Optimizations to **elide unnecessary synchronization** between DAG nodes\r\n\r\n## Bug fixes and other improvements\r\n\r\nYes, a lot of them!"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/35100346","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/35100346/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/35100346/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v0.9.0","id":35100346,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"MDc6UmVsZWFzZTM1MTAwMzQ2","tag_name":"v0.9.0","target_commitish":"develop","name":"hipSYCL 0.9.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2020-12-10T13:51:51Z","updated_at":"2020-12-10T14:02:36Z","published_at":"2020-12-10T13:55:00Z","assets":[],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v0.9.0","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v0.9.0","body":"# hipSYCL 0.9.0\r\n\r\nhipSYCL 0.9 is packed with tons of new features compared to the older 0.8 series:\r\n\r\n# Support for key SYCL 2020 features\r\n\r\nhipSYCL 0.9.0 introduces support for several key SYCL 2020 features, including:\r\n* **Unified shared memory** provides a pointer-based memory model as an alternative to the traditional buffer-accessor model\r\n* SYCL 2020 **generalized backend model and backend interoperability** provides generic mechanisms for interoperability between the underlying backend objects and SYCL\r\n* **Queue shortcuts** for kernel invocation and USM memory management functions\r\n* **Inorder queues** to submit kernels in order when a task graph is not required\r\n* **Unnamed kernal lambdas** (requires building hipSYCL against clang >= 10)\r\n* **Subgroups**\r\n* **Group algorithms** for parallel primitives at work group and subgroup level (Note that the interface may change slightly with the release of SYCL 2020 final, optimization is ongoing)\r\n* **Reductions** provide a simple way to carry out arbitrary amounts of reduction operations across all work items of a kernel using either predefined or user-provided reduction operators (Note that the interface may change slightly with the release of SYCL 2020 final, optimization is ongoing). Currently only scalar reductions are supported. Multiple simultaneous reductions *are* supported. In addition to the requirements of the SYCL specification, we also support reductions for the hierarchical and scoped parallelism models.\r\n* ... and more! See here for more information on the SYCL 2020 coverage of current hipSYCL: https://github.com/hipSYCL/featuresupport\r\n\r\n# Unique hipSYCL extensions\r\n\r\nThere are two new extensions in hipSYCL 0.9.0:\r\n* **Enqueuing custom backend operations** for highly efficient backend interoperability: https://github.com/illuhad/hipSYCL/blob/develop/doc/enqueue-custom-operation.md\r\n* **Scoped parallellism** is a novel kernel execution model designed for performance portability between host and device backends: https://github.com/illuhad/hipSYCL/blob/develop/doc/scoped-parallelism.md\r\n\r\n# New runtime library\r\n\r\nhipSYCL 0.9.0 is the first release containing the entirely rewritten, brand new runtime library, which includes features such as:\r\n\r\n  * **Single library for all backends** (`libhipSYCL-rt`) instead of libraries for each backend (`libhipSYCL_cpu`, `libhipSYCL_cuda` etc)\r\n  * **Strict seperation between backend specific code and generic code**, clear, simple interface to add new backends, making it easy to add additional backends in the future\r\n  * **Multiple runtime backends can now be active at the same time and interact**\r\n  * SYCL interface is now header-only; bootstrap mode in `syclcc` is no longer required and has been removed. **When building hipSYCL, only the runtime needs to be compiled which can be done with any regular C++ compiler.** This should simplify the build process greatly.\r\n  * Architecture supports **arbitrary execution models in different backends** - queue/stream based, task graphs etc.\r\n  * **CUDA and CPU backends do not depend on HIP API anymore**. The CUDA backend now goes directly to CUDA without going through HIP, and the CPU backend goes directly to OpenMP without going through hipCPU. hipCPU and HIP submodules are no longer required and have been removed.\r\n  * **Strict separation between SYCL interface and runtime**, making it easy to expose new features (e.g. SYCL 2020) in the SYCL interface by leveraging the SYCL runtime interfaces underneath.\r\n  * For each operation, SYCL interface can pass additional information to runtime/scheduler using hints framework. **Device on which an operation is executed is just another hint for the runtime.**\r\n  * **Support for lazy DAG execution** (Note: Only partially activated by default)\r\n  * **Almost entirely callback-free execution model in CUDA/ROCm backends for potentially higher task throughput**\r\n  * **New memory management system and improved multi-GPU support**\r\n     - manages arbitrary allocations on multiple devices\r\n     - manages memory potentially below buffer granularity, using 3D page table to track invalid memory regions (not yet fully exposed)\r\n  * Backend queues (e.g. CUDA streams) are maintained by the backend in a pool, the scheduler then distributes operations across the queues. **No matter how many `sycl::queues` exist, compute/memory-overlap always works equally well.** This means a `sycl::queue` is now nothing more than an interface to the runtime.\r\n  * **Vastly improved error handling**. Proper implementation of async errors/error handlers. Task execution will be cancelled when an error is detected.\r\n  * **ROCm backend: Add support for 3D data transfers**\r\n\r\n# `syclcc` and compilation improvements\r\n* new `--hipsycl-targets` flag that allows to compile for multiple targets and backends, e.g. `syclcc --hipsycl-targets=\"omp;hip:gfx906,gfx900\"` compiles for the OpenMP backend as well as for Vega 10 and Vega 20. Note that simultaneous compilation for both NVIDIA and AMD GPUs is not supported due to clang limitations.\r\n* The compiler arguments and linker flags passed to backend compilers are now all exposed in cmake (and `syclcc.json`), giving the user more control to adapt the compilation flow to individual requirements. This can be helpful for uncommon setup scenarios where different flags may be required.\r\n\r\n# Performance improvements\r\n\r\n* New execution model for `nd_range` parallel for on CPU, bringing several orders of magnitudes of performance. Note that `nd_range` parallel for is inherently difficult to implement in library-only CPU backends, and basic `parallel for` or our scoped parallelism extension should be preferred if possible.\r\n\r\n# Fixes and other improvements\r\n\r\nYes, a lot of them :-)\r\n\r\n\r\n"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/20220027","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/20220027/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/20220027/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v0.8.0","id":20220027,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"MDc6UmVsZWFzZTIwMjIwMDI3","tag_name":"v0.8.0","target_commitish":"master","name":"hipSYCL 0.8.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2019-09-24T16:08:22Z","updated_at":"2020-04-29T22:11:57Z","published_at":"2019-09-24T17:44:57Z","assets":[{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15100260","id":15100260,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MTAwMjYw","name":"hipSYCL-0.8.0-20190924-archlinux-x86_64.pkg.tar.xz","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/x-xz","state":"uploaded","size":347168,"digest":null,"download_count":55,"created_at":"2019-09-24T17:38:51Z","updated_at":"2019-09-24T17:44:57Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0/hipSYCL-0.8.0-20190924-archlinux-x86_64.pkg.tar.xz"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15100280","id":15100280,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MTAwMjgw","name":"hipSYCL-0.8.0-20190924-centos-7.x86_64.rpm","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/x-rpm","state":"uploaded","size":395832,"digest":null,"download_count":45,"created_at":"2019-09-24T17:40:42Z","updated_at":"2019-09-24T17:44:57Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0/hipSYCL-0.8.0-20190924-centos-7.x86_64.rpm"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15100230","id":15100230,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MTAwMjMw","name":"hipSYCL-0.8.0-20190924-ubuntu-18.04.deb","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/vnd.debian.binary-package","state":"uploaded","size":350880,"digest":null,"download_count":85,"created_at":"2019-09-24T17:35:51Z","updated_at":"2019-09-24T17:44:57Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0/hipSYCL-0.8.0-20190924-ubuntu-18.04.deb"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15100259","id":15100259,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MTAwMjU5","name":"hipSYCL-base-0.8.0-20190924-archlinux-x86_64.pkg.tar.xz","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/x-xz","state":"uploaded","size":258480060,"digest":null,"download_count":42,"created_at":"2019-09-24T17:38:50Z","updated_at":"2019-09-24T17:44:57Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0/hipSYCL-base-0.8.0-20190924-archlinux-x86_64.pkg.tar.xz"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15100279","id":15100279,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MTAwMjc5","name":"hipSYCL-base-0.8.0-20190924-centos-7.x86_64.rpm","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/x-rpm","state":"uploaded","size":374533448,"digest":null,"download_count":35,"created_at":"2019-09-24T17:40:42Z","updated_at":"2019-09-24T17:44:57Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0/hipSYCL-base-0.8.0-20190924-centos-7.x86_64.rpm"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15100229","id":15100229,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MTAwMjI5","name":"hipSYCL-base-0.8.0-20190924-ubuntu-18.04.deb","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/vnd.debian.binary-package","state":"uploaded","size":270762636,"digest":null,"download_count":91,"created_at":"2019-09-24T17:35:51Z","updated_at":"2019-09-24T17:44:57Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0/hipSYCL-base-0.8.0-20190924-ubuntu-18.04.deb"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15100258","id":15100258,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MTAwMjU4","name":"hipSYCL-rocm-0.8.0-20190924-archlinux-x86_64.pkg.tar.xz","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/x-xz","state":"uploaded","size":597252096,"digest":null,"download_count":42,"created_at":"2019-09-24T17:38:50Z","updated_at":"2019-09-24T17:44:57Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0/hipSYCL-rocm-0.8.0-20190924-archlinux-x86_64.pkg.tar.xz"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15100278","id":15100278,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MTAwMjc4","name":"hipSYCL-rocm-0.8.0-20190924-centos-7.x86_64.rpm","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/x-rpm","state":"uploaded","size":747038208,"digest":null,"download_count":34,"created_at":"2019-09-24T17:40:42Z","updated_at":"2019-09-24T17:44:57Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0/hipSYCL-rocm-0.8.0-20190924-centos-7.x86_64.rpm"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15100228","id":15100228,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MTAwMjI4","name":"hipSYCL-rocm-0.8.0-20190924-ubuntu-18.04.deb","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/vnd.debian.binary-package","state":"uploaded","size":636349880,"digest":null,"download_count":67,"created_at":"2019-09-24T17:35:50Z","updated_at":"2019-09-24T17:44:57Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0/hipSYCL-rocm-0.8.0-20190924-ubuntu-18.04.deb"}],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v0.8.0","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v0.8.0","body":"**Note: hipSYCL 0.8.0 is deprecated**, *users are encouraged to use our [package repositories](https://github.com/illuhad/hipSYCL/blob/master/install/scripts/README.md#installing-from-repositories) instead*\r\n\r\nThis is the release of hipSYCL 0.8.0. We provide the following packages:\r\n\r\n* hipSYCL-base provides the basic LLVM compiler stack that is needed in any case\r\n* hipSYCL-rocm provides a compatible ROCm stack that additionally allows hipSYCL to target AMD GPUs\r\n* hipSYCL provides the actual hipSYCL libraries, tools and headers\r\n\r\nWhile we cannot provide matching CUDA packages for NVIDIA support due to legal reasons, scripts for installing a matching CUDA distribution as well as scripts to generate CUDA packages are provided. You will find further information in the readme here on github.\r\n\r\nAt the moment, Arch Linux, CentOS 7 and Ubuntu 18.04 packages are provided.\r\n"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/20124298","assets_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/20124298/assets","upload_url":"https://uploads.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/20124298/assets{?name,label}","html_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/tag/v0.8.0-rc1","id":20124298,"author":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"MDc6UmVsZWFzZTIwMTI0Mjk4","tag_name":"v0.8.0-rc1","target_commitish":"master","name":"hipSYCL 0.8.0 Release Candidate 1","draft":false,"immutable":false,"prerelease":true,"created_at":"2019-09-19T14:54:58Z","updated_at":"2019-09-19T23:40:00Z","published_at":"2019-09-19T23:40:00Z","assets":[{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15022110","id":15022110,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MDIyMTEw","name":"hipSYCL-0.8.0-20190919-arch-x86_64.pkg.tar.xz","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/x-xz","state":"uploaded","size":345328,"digest":null,"download_count":31,"created_at":"2019-09-19T22:55:30Z","updated_at":"2019-09-19T23:40:00Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0-rc1/hipSYCL-0.8.0-20190919-arch-x86_64.pkg.tar.xz"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15021883","id":15021883,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MDIxODgz","name":"hipSYCL-0.8.0-20190919-ubuntu-18.04.deb","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/vnd.debian.binary-package","state":"uploaded","size":348252,"digest":null,"download_count":33,"created_at":"2019-09-19T22:34:18Z","updated_at":"2019-09-19T23:40:00Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0-rc1/hipSYCL-0.8.0-20190919-ubuntu-18.04.deb"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15022109","id":15022109,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MDIyMTA5","name":"hipSYCL-base-0.8.0-20190919-arch-x86_64.pkg.tar.xz","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/x-xz","state":"uploaded","size":252582068,"digest":null,"download_count":31,"created_at":"2019-09-19T22:55:29Z","updated_at":"2019-09-19T23:40:00Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0-rc1/hipSYCL-base-0.8.0-20190919-arch-x86_64.pkg.tar.xz"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15021882","id":15021882,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MDIxODgy","name":"hipSYCL-base-0.8.0-20190919-ubuntu-18.04.deb","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/vnd.debian.binary-package","state":"uploaded","size":263383156,"digest":null,"download_count":28,"created_at":"2019-09-19T22:34:17Z","updated_at":"2019-09-19T23:40:00Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0-rc1/hipSYCL-base-0.8.0-20190919-ubuntu-18.04.deb"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15022108","id":15022108,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MDIyMTA4","name":"hipSYCL-rocm-0.8.0-20190919-arch-x86_64.pkg.tar.xz","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/x-xz","state":"uploaded","size":602200272,"digest":null,"download_count":30,"created_at":"2019-09-19T22:55:29Z","updated_at":"2019-09-19T23:40:00Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0-rc1/hipSYCL-rocm-0.8.0-20190919-arch-x86_64.pkg.tar.xz"},{"url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/releases/assets/15021881","id":15021881,"node_id":"MDEyOlJlbGVhc2VBc3NldDE1MDIxODgx","name":"hipSYCL-rocm-0.8.0-20190919-ubuntu-18.04.deb","label":null,"uploader":{"login":"illuhad","id":11861762,"node_id":"MDQ6VXNlcjExODYxNzYy","avatar_url":"https://avatars.githubusercontent.com/u/11861762?v=4","gravatar_id":"","url":"https://api.github.com/users/illuhad","html_url":"https://github.com/illuhad","followers_url":"https://api.github.com/users/illuhad/followers","following_url":"https://api.github.com/users/illuhad/following{/other_user}","gists_url":"https://api.github.com/users/illuhad/gists{/gist_id}","starred_url":"https://api.github.com/users/illuhad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/illuhad/subscriptions","organizations_url":"https://api.github.com/users/illuhad/orgs","repos_url":"https://api.github.com/users/illuhad/repos","events_url":"https://api.github.com/users/illuhad/events{/privacy}","received_events_url":"https://api.github.com/users/illuhad/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/vnd.debian.binary-package","state":"uploaded","size":642097396,"digest":null,"download_count":30,"created_at":"2019-09-19T22:34:17Z","updated_at":"2019-09-19T23:40:00Z","browser_download_url":"https://github.com/AdaptiveCpp/AdaptiveCpp/releases/download/v0.8.0-rc1/hipSYCL-rocm-0.8.0-20190919-ubuntu-18.04.deb"}],"tarball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/tarball/v0.8.0-rc1","zipball_url":"https://api.github.com/repos/AdaptiveCpp/AdaptiveCpp/zipball/v0.8.0-rc1","body":"This is a prerelease of hipSYCL 0.8.0. In particular, it serves to test new packages of the entire hipSYCL stack. We provide the following packages:\r\n* `hipSYCL-base` provides the basic LLVM compiler stack that is needed in any case\r\n* `hipSYCL-rocm` provides a compatible ROCm stack that additionally allows hipSYCL to target AMD GPUs\r\n* `hipSYCL` provides the actual hipSYCL libraries, tools and headers\r\n\r\nWhile we cannot provide matching CUDA packages due to legal reasons, CUDA installation scripts will be provided for the actual hipSYCL 0.8.0 release.\r\n\r\nAt the moment, Arch Linux and Ubuntu 18.04 packages are provided. "}]