diff options
Diffstat (limited to 'pkgs/development/python-modules')
-rw-r--r-- | pkgs/development/python-modules/openai-triton/default.nix | 3 | ||||
-rw-r--r-- | pkgs/development/python-modules/openai-triton/llvm.nix | 125 |
2 files changed, 1 insertions, 127 deletions
diff --git a/pkgs/development/python-modules/openai-triton/default.nix b/pkgs/development/python-modules/openai-triton/default.nix index 89545f03265..e1ac9cb4cef 100644 --- a/pkgs/development/python-modules/openai-triton/default.nix +++ b/pkgs/development/python-modules/openai-triton/default.nix @@ -1,5 +1,4 @@ { lib -, callPackage , config , buildPythonPackage , fetchFromGitHub @@ -15,6 +14,7 @@ , ncurses , libxml2 , lit +, llvm , filelock , torchWithRocm , python @@ -35,7 +35,6 @@ let # be executed on the GPU. # Cf. https://nixos.org/manual/nixpkgs/unstable/#sec-cross-infra ptxas = "${pkgsTargetTarget.cudaPackages.cuda_nvcc}/bin/ptxas"; # Make sure cudaPackages is the right version each update (See python/setup.py) - llvm = callPackage ./llvm.nix { }; # Use a custom llvm, see llvm.nix for details in buildPythonPackage rec { pname = "triton"; diff --git a/pkgs/development/python-modules/openai-triton/llvm.nix b/pkgs/development/python-modules/openai-triton/llvm.nix deleted file mode 100644 index 70ea69a9b15..00000000000 --- a/pkgs/development/python-modules/openai-triton/llvm.nix +++ /dev/null @@ -1,125 +0,0 @@ -{ config -, lib -, stdenv -, fetchFromGitHub -, pkg-config -, cmake -, ninja -, git -, doxygen -, sphinx -, libxml2 -, libxcrypt -, libedit -, libffi -, mpfr -, zlib -, ncurses -, python3Packages -, buildDocs ? true -, buildMan ? true -, buildTests ? true -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "triton-llvm"; - version = "14.0.6-f28c006a5895"; - - outputs = [ - "out" - ] ++ lib.optionals buildDocs [ - "doc" - ] ++ lib.optionals buildMan [ - "man" - ]; - - # See https://github.com/openai/triton/blob/main/python/setup.py and https://github.com/ptillet/triton-llvm-releases/releases - src = fetchFromGitHub { - owner = "llvm"; - repo = "llvm-project"; - rev = "f28c006a5895fc0e329fe15fead81e37457cb1d1"; - hash = "sha256-vffu4HilvYwtzwgq+NlS26m65DGbp6OSSne2aje1yJE="; - }; - - nativeBuildInputs = [ - pkg-config - cmake - ninja - git - python3Packages.python - ] ++ lib.optionals (buildDocs || buildMan) [ - doxygen - sphinx - python3Packages.recommonmark - ]; - - buildInputs = [ - libxml2 - libxcrypt - libedit - libffi - mpfr - ]; - - propagatedBuildInputs = [ - zlib - ncurses - ]; - - sourceRoot = "${finalAttrs.src.name}/llvm"; - - cmakeFlags = [ - "-DLLVM_TARGETS_TO_BUILD=${ - let - # Targets can be found in - # https://github.com/llvm/llvm-project/tree/f28c006a5895fc0e329fe15fead81e37457cb1d1/clang/lib/Basic/Targets - # NOTE: Unsure of how "host" would function, especially given that we might be cross-compiling. - llvmTargets = [ "AMDGPU" "NVPTX" ] - ++ lib.optionals stdenv.isAarch64 [ "AArch64" ] - ++ lib.optionals stdenv.isx86_64 [ "X86" ]; - in - lib.concatStringsSep ";" llvmTargets - }" - "-DLLVM_ENABLE_PROJECTS=llvm;mlir" - "-DLLVM_INSTALL_UTILS=ON" - ] ++ lib.optionals (buildDocs || buildMan) [ - "-DLLVM_INCLUDE_DOCS=ON" - "-DMLIR_INCLUDE_DOCS=ON" - "-DLLVM_BUILD_DOCS=ON" - # "-DLLVM_ENABLE_DOXYGEN=ON" Way too slow, only uses one core - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_HTML=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals buildTests [ - "-DLLVM_INCLUDE_TESTS=ON" - "-DMLIR_INCLUDE_TESTS=ON" - "-DLLVM_BUILD_TESTS=ON" - ]; - - postPatch = '' - # `CMake Error: cannot write to file "/build/source/llvm/build/lib/cmake/mlir/MLIRTargets.cmake": Permission denied` - chmod +w -R ../mlir - - # FileSystem permissions tests fail with various special bits - rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test - rm unittests/Support/Path.cpp - - substituteInPlace unittests/Support/CMakeLists.txt \ - --replace "Path.cpp" "" - ''; - - doCheck = buildTests; - requiredSystemFeatures = [ "big-parallel" ]; - - meta = with lib; { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = "https://github.com/llvm/llvm-project"; - license = with licenses; [ ncsa ]; - maintainers = with maintainers; [ SomeoneSerge Madouura ]; - platforms = platforms.linux; - # Consider the derivation broken if we're not building for CUDA or ROCm, or if we're building for aarch64 - # and ROCm is enabled. See https://github.com/RadeonOpenCompute/ROCm/issues/1831#issuecomment-1278205344. - broken = stdenv.isAarch64 && !config.cudaSupport; - }; -}) |