Introduce Intel 2024, 2025, and SYCL programs #191
2 Participants
Notifications
Due Date
No due date set.
Depends on
#181 Enable custom sys-devices system feature
rarias/jungle
Reference: rarias/jungle#191
Reference in New Issue
Block a user
Delete Branch "pkgs/tasycl"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Migrated from: rarias/bscpkgs#3
sycl+ompss is broken still: http://weasel:3001/eval/48?compare=bsc-ci&full=0#tabs-newfixed: http://weasel:3001/eval/51
Things done:
Introduce Intel oneapi 2024 and 2025
Reworked existing intel oneapi 2023 to use the apt information from the update script above.
Introduce Intel oneapi open source compiler 6.2.1 as a monolithic llvm build.
Added a modified OmpSs-2 compiler wrapper (in
clangOmpss2Nodes.forIcpx) than can be used as a SYCL host compiler keeping the proper flags for SYCL. (Seetest/compilers/icpx-ompss2.nixfor an example.Added some SYCL related packages using the new compilers:
Added PoCL (A Portable OpenCL runtime) that can be used to run OpenCL (and by extension SYCL) programs.
Not working:
Working, but barely tested:
Introduce Intel 2024, 2025, tasycl and oneMathto WIP: Introduce Intel 2024, 2025, tasycl and oneMath@@ -78,0 +88,4 @@intel2025-icx-c = hello-c.override { stdenv = final.intelPackages_2025.stdenv; };intel2024-icx-cpp = hello-cpp.override { stdenv = final.intelPackages_2024.stdenv; };intel2025-icx-cpp = hello-cpp.override { stdenv = final.intelPackages_2025.stdenv; };# intel2023-sycl = hello-sycl.override { intelPackages = final.intelPackages_2023; }; # brokenI can package the 2023 version the same way we do the 2024/5 and remove the old one, but it may break things.
I suggest to leave it as-is for now and only change it if we need it.
@@ -0,0 +45,4 @@dontConfigure = true;# NODES requires access to /sys/devices to request NUMA informationrequiredSystemFeatures = [ "sys-devices" ];This requires #181
Last week, someone opened a new PR packaging intel llvm in nixpkgs
I also had a successful prototype here:
3ac19eb970it compiles but is missing the compiler wrappers.The one from nixpkgs does not have CUDA support, mine does. I have yet to test it properly, but the UR adapter for CUDA works and is picked up by sycl-ls, so I am moderately hopeful that we can get it to work (and maybe upstream it).
I don't think we have a need for the proprietary compiler right now, so after the holidays, I'll test the viability of using the open source versions instead now that they are feasible in nix.
731766c179to1e9d37a3ec1e9d37a3ecto60133da65360133da653to6e879efeee6e879efeeeto797ba0b73c797ba0b73cto9260bce8419260bce841toe8a51dc271WIP: Introduce Intel 2024, 2025, tasycl and oneMathto Introduce Intel 2024, 2025, and SYCL programse8a51dc271to19e53990398787677df3toa3764f2f19a3764f2f19to33b49d162333b49d1623to1c75372f92d68b0d7cf4toc475151b7a0720e2a979to28cea86814Thanks a lot for all the work here, specially the dependency solver in Haskell for .deb packages!
I did some tests with the Intel compilers and it seems to be working fine. Regarding SYCL and PoCL, I only performed a very lightweight review, but I didn't saw anything wrong.
I hope at some point nixpkgs upstream adds support for Intel packages so we don't have to carry the maintenance burden ourselves.
28cea86814to0140b887bb