Merge pull request #142688 from rowanG077/update-intel-compute-runtime
This commit is contained in:
commit
b956d146ab
@ -5,7 +5,8 @@
|
|||||||
, runCommandLocal
|
, runCommandLocal
|
||||||
, bison
|
, bison
|
||||||
, flex
|
, flex
|
||||||
, llvmPackages_8
|
, llvmPackages_11
|
||||||
|
, lld_11
|
||||||
, opencl-clang
|
, opencl-clang
|
||||||
, python3
|
, python3
|
||||||
, spirv-llvm-translator
|
, spirv-llvm-translator
|
||||||
@ -14,7 +15,13 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
llvmPkgs = llvmPackages_8 // {
|
vc_intrinsics_src = fetchFromGitHub {
|
||||||
|
owner = "intel";
|
||||||
|
repo = "vc-intrinsics";
|
||||||
|
rev = "e5ad7e02aa4aa21a3cd7b3e5d1f3ec9b95f58872";
|
||||||
|
sha256 = "Vg1mngwpIQ3Tik0GgRXPG22lE4sLEAEFch492G2aIXs=";
|
||||||
|
};
|
||||||
|
llvmPkgs = llvmPackages_11 // {
|
||||||
inherit spirv-llvm-translator;
|
inherit spirv-llvm-translator;
|
||||||
};
|
};
|
||||||
inherit (llvmPkgs) llvm;
|
inherit (llvmPkgs) llvm;
|
||||||
@ -24,18 +31,18 @@ in
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "intel-graphics-compiler";
|
pname = "intel-graphics-compiler";
|
||||||
version = "1.0.4241";
|
version = "1.0.8744";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "intel";
|
owner = "intel";
|
||||||
repo = "intel-graphics-compiler";
|
repo = "intel-graphics-compiler";
|
||||||
rev = "igc-${version}";
|
rev = "igc-${version}";
|
||||||
sha256 = "1jp3c67ppl1x4pazr5nzy52615cpx0kyckaridhc0fsmrkgilyxq";
|
sha256 = "G5+dYD8uZDPkRyn1sgXsRngdq4NJndiCJCYTRXyUgTA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ clang cmake bison flex python3 ];
|
nativeBuildInputs = [ clang cmake bison flex python3 ];
|
||||||
|
|
||||||
buildInputs = [ clang opencl-clang spirv-llvm-translator llvm ];
|
buildInputs = [ clang opencl-clang spirv-llvm-translator llvm lld_11 ];
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
||||||
@ -53,9 +60,12 @@ stdenv.mkDerivation rec {
|
|||||||
ln -s clang $out/clang-${versions.major (getVersion clang)}
|
ln -s clang $out/clang-${versions.major (getVersion clang)}
|
||||||
ln -s ${opencl-clang}/lib/* $out/
|
ln -s ${opencl-clang}/lib/* $out/
|
||||||
ln -s ${lib.getLib libclang}/lib/clang/${getVersion clang}/include/opencl-c.h $out/
|
ln -s ${lib.getLib libclang}/lib/clang/${getVersion clang}/include/opencl-c.h $out/
|
||||||
|
ln -s ${lib.getLib libclang}/lib/clang/${getVersion clang}/include/opencl-c-base.h $out/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
"-DVC_INTRINSICS_SRC=${vc_intrinsics_src}"
|
||||||
|
"-DINSTALL_SPIRVDLL=0"
|
||||||
"-DCCLANG_BUILD_PREBUILDS=ON"
|
"-DCCLANG_BUILD_PREBUILDS=ON"
|
||||||
"-DCCLANG_BUILD_PREBUILDS_DIR=${prebuilds}"
|
"-DCCLANG_BUILD_PREBUILDS_DIR=${prebuilds}"
|
||||||
"-DIGC_PREFERRED_LLVM_VERSION=${getVersion llvm}"
|
"-DIGC_PREFERRED_LLVM_VERSION=${getVersion llvm}"
|
||||||
|
@ -2,29 +2,30 @@
|
|||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
|
||||||
, lit
|
, lit
|
||||||
, llvm_8
|
, llvm_11
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "SPIRV-LLVM-Translator";
|
pname = "SPIRV-LLVM-Translator";
|
||||||
version = "8.0.1-2";
|
version = "unstable-2021-06-13";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "KhronosGroup";
|
owner = "KhronosGroup";
|
||||||
repo = "SPIRV-LLVM-Translator";
|
repo = "SPIRV-LLVM-Translator";
|
||||||
rev = "v${version}";
|
rev = "c67e6f26a7285aa753598ef792593ac4a545adf9";
|
||||||
sha256 = "0hxalc3fkliqs61hpr97phbm3qsx4b8vgnlg30aimzr6aas403r5";
|
sha256 = "sha256-1s3lVNTQDl+pUvbzSMsp3cOUSm6I4DzqJxnLMeeE3F4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config cmake llvm_8.dev ];
|
nativeBuildInputs = [ pkg-config cmake llvm_11.dev ];
|
||||||
|
|
||||||
buildInputs = [ llvm_8 ];
|
buildInputs = [ llvm_11 ];
|
||||||
|
|
||||||
checkInputs = [ lit ];
|
checkInputs = [ lit ];
|
||||||
|
|
||||||
cmakeFlags = [ "-DLLVM_INCLUDE_TESTS=ON" ];
|
cmakeFlags = [
|
||||||
|
"-DLLVM_INCLUDE_TESTS=ON"
|
||||||
|
];
|
||||||
|
|
||||||
# FIXME: CMake tries to run "/llvm-lit" which of course doesn't exist
|
# FIXME: CMake tries to run "/llvm-lit" which of course doesn't exist
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
, cmake
|
, cmake
|
||||||
, git
|
, git
|
||||||
|
|
||||||
, llvmPackages_8
|
, llvmPackages_11
|
||||||
, spirv-llvm-translator
|
, spirv-llvm-translator
|
||||||
|
|
||||||
, buildWithPatches ? true
|
, buildWithPatches ? true
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
llvmPkgs = llvmPackages_8 // {
|
llvmPkgs = llvmPackages_11 // {
|
||||||
inherit spirv-llvm-translator;
|
inherit spirv-llvm-translator;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -31,7 +31,8 @@ let
|
|||||||
});
|
});
|
||||||
|
|
||||||
passthru = rec {
|
passthru = rec {
|
||||||
|
spirv-llvm-translator = llvmPkgs.spirv-llvm-translator;
|
||||||
|
llvm = addPatches "llvm" llvmPkgs.llvm;
|
||||||
libclang = addPatches "clang" llvmPkgs.libclang;
|
libclang = addPatches "clang" llvmPkgs.libclang;
|
||||||
|
|
||||||
clang-unwrapped = libclang.out;
|
clang-unwrapped = libclang.out;
|
||||||
@ -43,14 +44,21 @@ let
|
|||||||
patchesOut = stdenv.mkDerivation rec {
|
patchesOut = stdenv.mkDerivation rec {
|
||||||
pname = "opencl-clang-patches";
|
pname = "opencl-clang-patches";
|
||||||
inherit (library) version src patches;
|
inherit (library) version src patches;
|
||||||
|
# Clang patches assume the root is the llvm root dir
|
||||||
|
# but clang root in nixpkgs is the clang sub-directory
|
||||||
|
postPatch = ''
|
||||||
|
for filename in patches/clang/*.patch; do
|
||||||
|
substituteInPlace "$filename" \
|
||||||
|
--replace "a/clang/" "a/" \
|
||||||
|
--replace "b/clang/" "b/"
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
[ -d patches ] && cp -r patches/ $out || mkdir $out
|
[ -d patches ] && cp -r patches/ $out || mkdir $out
|
||||||
mkdir -p $out/clang $out/spirv
|
mkdir -p $out/clang $out/llvm
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
spirv-llvm-translator = addPatches "spirv" llvmPkgs.spirv-llvm-translator;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
library = let
|
library = let
|
||||||
@ -59,15 +67,15 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "opencl-clang";
|
pname = "opencl-clang";
|
||||||
version = "unstable-2019-08-16";
|
version = "unstable-2021-06-22";
|
||||||
|
|
||||||
inherit passthru;
|
inherit passthru;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "intel";
|
owner = "intel";
|
||||||
repo = "opencl-clang";
|
repo = "opencl-clang";
|
||||||
rev = "94af090661d7c953c516c97a25ed053c744a0737";
|
rev = "fd68f64b33e67d58f6c36b9e25c31c1178a1962a";
|
||||||
sha256 = "05cg89m62nqjqm705h7gpdz4jd4hiczg8944dcjsvaybrqv3hcm5";
|
sha256 = "sha256-q1YPBb/LY67iEuQx1fMUQD/I7OsNfobW3yNfJxLXx3E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -11,13 +11,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "intel-compute-runtime";
|
pname = "intel-compute-runtime";
|
||||||
version = "20.34.17727";
|
version = "21.42.21270";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "intel";
|
owner = "intel";
|
||||||
repo = "compute-runtime";
|
repo = "compute-runtime";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "19scbbr6jf3yp2v7z8xyzzm01g44jym7xfkf1dz64d5nhvjw6ig5";
|
sha256 = "N9MsDcsL8kBWxfZjhukcxZiSJnXxqMgWF0etOhf2/AE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
|
Loading…
Reference in New Issue
Block a user