Add tests for Intel OCL

This commit is contained in:
Aleix Boné 2025-12-15 12:58:51 +01:00
parent bd22d6650d
commit 0be0ebe359
No known key found for this signature in database
3 changed files with 54 additions and 28 deletions

View File

@ -83,7 +83,9 @@ let
hello-sycl = callPackage ./test/compilers/hello-sycl.nix { };
hello-syclompss = callPackage ./test/compilers/icpx-ompss2.nix { };
hello-sycl-pocl = (callPackage ./test/compilers/hello-sycl.nix { }).withPocl;
hello-sycl-intel = (callPackage ./test/compilers/hello-sycl.nix { }).withIntel;
hello-syclompss-pocl = (callPackage ./test/compilers/icpx-ompss2.nix { }).withPocl;
hello-syclompss-intel = (callPackage ./test/compilers/icpx-ompss2.nix { }).withIntel;
lto = callPackage ./test/compilers/lto.nix { };
asan = callPackage ./test/compilers/asan.nix { };

View File

@ -61,7 +61,8 @@ stdenv.mkDerivation (finalAttrs: {
cp test-output $out
'';
passthru.withPocl = finalAttrs.finalPackage.overrideAttrs (old: {
passthru = {
withPocl = finalAttrs.finalPackage.overrideAttrs (old: {
nativeBuildInputs = old.nativeBuildInputs ++ [ pocl ];
env = (old.env or { }) // {
POCL_DEBUG = "error,warn";
@ -76,4 +77,15 @@ stdenv.mkDerivation (finalAttrs: {
grep "Hello World! (on device)" $out
'';
});
withIntel = finalAttrs.finalPackage.overrideAttrs (old: {
env = (old.env or { }) // {
OCL_ICD_VENDORS = intelPackages.compiler + "/etc/OpenCL/vendors";
};
doInstallCheck = true;
installCheckPhase = ''
grep "Hello World! (on device)" $out
'';
});
};
})

View File

@ -49,7 +49,8 @@ intelPackages.stdenv.mkDerivation (finalAttrs: {
nosv
];
passthru.withPocl = finalAttrs.finalPackage.overrideAttrs (old: {
passthru = {
withPocl = finalAttrs.finalPackage.overrideAttrs (old: {
nativeBuildInputs = old.nativeBuildInputs ++ [ pocl ];
env = (old.env or { }) // {
POCL_DEBUG = "error,warn";
@ -65,6 +66,17 @@ intelPackages.stdenv.mkDerivation (finalAttrs: {
'';
});
withIntel = finalAttrs.finalPackage.overrideAttrs (old: {
env = (old.env or { }) // {
OCL_ICD_VENDORS = intelPackages.compiler + "/etc/OpenCL/vendors";
};
doInstallCheck = true;
installCheckPhase = ''
grep "Hello World! (on device)" $out
'';
});
};
dontUnpack = true;
dontConfigure = true;