rocmPackages.clr: replace rocm-opencl-icd

This commit is contained in:
Madoura 2023-10-05 11:52:09 -05:00
parent a3a45bea58
commit ae91d1330e
No known key found for this signature in database
GPG Key ID: 1B9BB76A2B71922D
3 changed files with 42 additions and 1 deletions

View File

@ -1,5 +1,6 @@
{ lib
, stdenv
, callPackage
, fetchFromGitHub
, rocmUpdateScript
, makeWrapper
@ -13,6 +14,7 @@
, rocm-runtime
, roctracer
, rocminfo
, rocm-smi
, numactl
, libGL
, libxml2
@ -35,6 +37,11 @@ in stdenv.mkDerivation (finalAttrs: {
pname = "clr";
version = "5.7.0";
outputs = [
"out"
"icd"
];
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
repo = "clr";
@ -106,6 +113,10 @@ in stdenv.mkDerivation (finalAttrs: {
# Just link rocminfo, it's easier
ln -s ${rocminfo}/bin/* $out/bin
# Replace rocm-opencl-icd functionality
mkdir -p $icd/etc/OpenCL/vendors
echo "$out/lib/libamdocl64.so" > $icd/etc/OpenCL/vendors/amdocl64.icd
'';
passthru = {
@ -134,6 +145,13 @@ in stdenv.mkDerivation (finalAttrs: {
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
impureTests = {
clr-icd = callPackage ./test.nix {
inherit rocm-smi;
clr = finalAttrs.finalPackage;
};
};
};
meta = with lib; {

View File

@ -0,0 +1,23 @@
{ lib
, makeImpureTest
, clinfo
, clr
, rocm-smi
}:
makeImpureTest {
name = "clr-icd";
testedPackage = "rocmPackages.clr";
nativeBuildInputs = [ clinfo rocm-smi ];
OCL_ICD_VENDORS = "${clr.icd}/etc/OpenCL/vendors";
testScript = ''
# Test fails if the number of platforms is 0
clinfo | grep -E 'Number of platforms * [1-9]'
rocm-smi | grep -A1 GPU
'';
meta = with lib; {
maintainers = teams.rocm.members;
};
}

View File

@ -86,7 +86,7 @@ in rec {
# Replaces hip, opencl-runtime, and rocclr
clr = callPackage ./clr {
inherit rocmUpdateScript hip-common hipcc rocm-device-libs rocm-comgr rocm-runtime roctracer rocminfo;
inherit rocmUpdateScript hip-common hipcc rocm-device-libs rocm-comgr rocm-runtime roctracer rocminfo rocm-smi;
inherit (llvm) clang;
stdenv = llvm.rocmClangStdenv;
};