Skip to content

cudaPackages: prefix libPath with lib in manifest builder#273779

Merged
ConnorBaker merged 1 commit intoNixOS:masterfrom
ConnorBaker:fix/cudaPackages-libPath-manifest-builder
Dec 13, 2023
Merged

cudaPackages: prefix libPath with lib in manifest builder#273779
ConnorBaker merged 1 commit intoNixOS:masterfrom
ConnorBaker:fix/cudaPackages-libPath-manifest-builder

Conversation

@ConnorBaker
Copy link
Contributor

@ConnorBaker ConnorBaker commented Dec 12, 2023

Description of changes

Closes #272797.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@ConnorBaker ConnorBaker added the 6.topic: cuda Parallel computing platform and API label Dec 12, 2023
@ConnorBaker ConnorBaker self-assigned this Dec 12, 2023
@ConnorBaker
Copy link
Contributor Author

ConnorBaker commented Dec 12, 2023

Note

Template nixpkgs-review command:

PR=273779; \
SYSTEM="aarch64-linux"; \
CUDA_SUPPORT="true"; \
CUDA_CAPABILITIES='[ "7.5" ]'; \
nixpkgs-review pr "$PR" \
  --system "$SYSTEM" \
  --no-shell \
  --checkout commit \
  --allow aliases \
  --build-args "--max-jobs 1" \
  --extra-nixpkgs-config "{
    allowUnfree = true;
    allowBroken = false;
    cudaSupport = ${CUDA_SUPPORT:-false};
    cudaCapabilities = ${CUDA_CAPABILITIES:-[]};
  }"

aarch64-darwin

Result of nixpkgs-review pr 273779 --extra-nixpkgs-config '{ allowUnfree = true; allowBroken = false; cudaSupport = false; cudaCapabilities = [ ]; }' run on aarch64-darwin 1

x86_64-darwin

Result of nixpkgs-review pr 273779 --extra-nixpkgs-config '{ allowUnfree = true; allowBroken = false; cudaSupport = false; cudaCapabilities = [ ]; }' run on x86_64-darwin 1

aarch64-linux

Jetson

Result of nixpkgs-review pr 273779 --extra-nixpkgs-config '{ allowUnfree = true; allowBroken = false; cudaSupport = true; cudaCapabilities = [ "7.2" ]; }' run on aarch64-linux 1

Non-Jetson

Result of nixpkgs-review pr 273779 --extra-nixpkgs-config '{ allowUnfree = true; allowBroken = false; cudaSupport = true; cudaCapabilities = [ "7.5" ]; }' run on aarch64-linux 1

3 packages failed to build:
  • cudaPackages_12.cutensor_1_3 (cudaPackages_12.cutensor_1_3.dev ,cudaPackages_12.cutensor_1_3.lib ,cudaPackages_12.cutensor_1_3.static)
  • cudaPackages_12.cutensor_1_4 (cudaPackages_12.cutensor_1_4.dev ,cudaPackages_12.cutensor_1_4.lib ,cudaPackages_12.cutensor_1_4.static)
  • cudaPackages_12.cutensor_1_5 (cudaPackages_12.cutensor_1_5.dev ,cudaPackages_12.cutensor_1_5.lib ,cudaPackages_12.cutensor_1_5.static)
7 packages built:
  • cudaPackages.cutensor (cudaPackages.cutensor.dev ,cudaPackages.cutensor.lib ,cudaPackages.cutensor.static)
  • cudaPackages.cutensor_1_3 (cudaPackages.cutensor_1_3.dev ,cudaPackages.cutensor_1_3.lib ,cudaPackages.cutensor_1_3.static)
  • cudaPackages.cutensor_1_4 (cudaPackages.cutensor_1_4.dev ,cudaPackages.cutensor_1_4.lib ,cudaPackages.cutensor_1_4.static)
  • cudaPackages.cutensor_1_5 (cudaPackages.cutensor_1_5.dev ,cudaPackages.cutensor_1_5.lib ,cudaPackages.cutensor_1_5.static)
  • cudaPackages.cutensor_1_6 (cudaPackages.cutensor_1_6.dev ,cudaPackages.cutensor_1_6.lib ,cudaPackages.cutensor_1_6.static)
  • cudaPackages_12.cutensor (cudaPackages_12.cutensor.dev ,cudaPackages_12.cutensor.lib ,cudaPackages_12.cutensor.static)
  • cudaPackages_12.cutensor_1_6 (cudaPackages_12.cutensor_1_6.dev ,cudaPackages_12.cutensor_1_6.lib ,cudaPackages_12.cutensor_1_6.static)

Non-CUDA

Result of nixpkgs-review pr 273779 --extra-nixpkgs-config '{ allowUnfree = true; allowBroken = false; cudaSupport = false; cudaCapabilities = [ ]; }' run on aarch64-linux 1

3 packages failed to build:
  • cudaPackages_12.cutensor_1_3 (cudaPackages_12.cutensor_1_3.dev ,cudaPackages_12.cutensor_1_3.lib ,cudaPackages_12.cutensor_1_3.static)
  • cudaPackages_12.cutensor_1_4 (cudaPackages_12.cutensor_1_4.dev ,cudaPackages_12.cutensor_1_4.lib ,cudaPackages_12.cutensor_1_4.static)
  • cudaPackages_12.cutensor_1_5 (cudaPackages_12.cutensor_1_5.dev ,cudaPackages_12.cutensor_1_5.lib ,cudaPackages_12.cutensor_1_5.static)
7 packages built:
  • cudaPackages.cutensor (cudaPackages.cutensor.dev ,cudaPackages.cutensor.lib ,cudaPackages.cutensor.static)
  • cudaPackages.cutensor_1_3 (cudaPackages.cutensor_1_3.dev ,cudaPackages.cutensor_1_3.lib ,cudaPackages.cutensor_1_3.static)
  • cudaPackages.cutensor_1_4 (cudaPackages.cutensor_1_4.dev ,cudaPackages.cutensor_1_4.lib ,cudaPackages.cutensor_1_4.static)
  • cudaPackages.cutensor_1_5 (cudaPackages.cutensor_1_5.dev ,cudaPackages.cutensor_1_5.lib ,cudaPackages.cutensor_1_5.static)
  • cudaPackages.cutensor_1_6 (cudaPackages.cutensor_1_6.dev ,cudaPackages.cutensor_1_6.lib ,cudaPackages.cutensor_1_6.static)
  • cudaPackages_12.cutensor (cudaPackages_12.cutensor.dev ,cudaPackages_12.cutensor.lib ,cudaPackages_12.cutensor.static)
  • cudaPackages_12.cutensor_1_6 (cudaPackages_12.cutensor_1_6.dev ,cudaPackages_12.cutensor_1_6.lib ,cudaPackages_12.cutensor_1_6.static)

x86_64-linux

Non-Jetson

Result of nixpkgs-review pr 273779 --extra-nixpkgs-config '{ allowUnfree = true; allowBroken = false; cudaSupport = true; cudaCapabilities = [ "7.5" ]; }' run on x86_64-linux 1

33 packages failed to build:
  • cudaPackages_12.cutensor_1_3 (cudaPackages_12.cutensor_1_3.dev ,cudaPackages_12.cutensor_1_3.lib ,cudaPackages_12.cutensor_1_3.static)
  • cudaPackages_12.cutensor_1_4 (cudaPackages_12.cutensor_1_4.dev ,cudaPackages_12.cutensor_1_4.lib ,cudaPackages_12.cutensor_1_4.static)
  • cudaPackages_12.cutensor_1_5 (cudaPackages_12.cutensor_1_5.dev ,cudaPackages_12.cutensor_1_5.lib ,cudaPackages_12.cutensor_1_5.static)
  • python310Packages.arviz
  • python310Packages.arviz.dist
  • python310Packages.augmax
  • python310Packages.augmax.dist
  • python310Packages.bambi
  • python310Packages.bambi.dist
  • python310Packages.dalle-mini
  • python310Packages.dalle-mini.dist
  • python310Packages.flax
  • python310Packages.flax.dist
  • python310Packages.pymc (python310Packages.pymc3)
  • python310Packages.pymc.dist (python310Packages.pymc3.dist)
  • python310Packages.vqgan-jax
  • python310Packages.vqgan-jax.dist
  • python311Packages.arviz
  • python311Packages.arviz.dist
  • python311Packages.augmax
  • python311Packages.augmax.dist
  • python311Packages.bambi
  • python311Packages.bambi.dist
  • python311Packages.dalle-mini
  • python311Packages.dalle-mini.dist
  • python311Packages.flax
  • python311Packages.flax.dist
  • python311Packages.pymc (python311Packages.pymc3)
  • python311Packages.pymc.dist (python311Packages.pymc3.dist)
  • python311Packages.vqgan-jax
  • python311Packages.vqgan-jax.dist
  • tts
  • tts.dist
44 packages built:
  • cudaPackages.cutensor (cudaPackages.cutensor.dev ,cudaPackages.cutensor.lib ,cudaPackages.cutensor.static)
  • cudaPackages.cutensor_1_3 (cudaPackages.cutensor_1_3.dev ,cudaPackages.cutensor_1_3.lib ,cudaPackages.cutensor_1_3.static)
  • cudaPackages.cutensor_1_4 (cudaPackages.cutensor_1_4.dev ,cudaPackages.cutensor_1_4.lib ,cudaPackages.cutensor_1_4.static)
  • cudaPackages.cutensor_1_5 (cudaPackages.cutensor_1_5.dev ,cudaPackages.cutensor_1_5.lib ,cudaPackages.cutensor_1_5.static)
  • cudaPackages.cutensor_1_6 (cudaPackages.cutensor_1_6.dev ,cudaPackages.cutensor_1_6.lib ,cudaPackages.cutensor_1_6.static)
  • cudaPackages_10.cutensor (cudaPackages_10.cutensor.dev ,cudaPackages_10.cutensor.lib ,cudaPackages_10.cutensor.static)
  • cudaPackages_10.cutensor_1_3 (cudaPackages_10.cutensor_1_3.dev ,cudaPackages_10.cutensor_1_3.lib ,cudaPackages_10.cutensor_1_3.static)
  • cudaPackages_10.cutensor_1_4 (cudaPackages_10.cutensor_1_4.dev ,cudaPackages_10.cutensor_1_4.lib ,cudaPackages_10.cutensor_1_4.static)
  • cudaPackages_10.cutensor_1_5 (cudaPackages_10.cutensor_1_5.dev ,cudaPackages_10.cutensor_1_5.lib ,cudaPackages_10.cutensor_1_5.static)
  • cudaPackages_10.cutensor_1_6 (cudaPackages_10.cutensor_1_6.dev ,cudaPackages_10.cutensor_1_6.lib ,cudaPackages_10.cutensor_1_6.static)
  • cudaPackages_12.cutensor (cudaPackages_12.cutensor.dev ,cudaPackages_12.cutensor.lib ,cudaPackages_12.cutensor.static)
  • cudaPackages_12.cutensor_1_6 (cudaPackages_12.cutensor_1_6.dev ,cudaPackages_12.cutensor_1_6.lib ,cudaPackages_12.cutensor_1_6.static)
  • python310Packages.chainer
  • python310Packages.chainer.dist
  • python310Packages.cupy
  • python310Packages.cupy.dist
  • python310Packages.einops
  • python310Packages.einops.dist
  • python310Packages.encodec
  • python310Packages.encodec.dist
  • python310Packages.k-diffusion
  • python310Packages.k-diffusion.dist
  • python310Packages.openllm
  • python310Packages.openllm.dist
  • python310Packages.rotary-embedding-torch
  • python310Packages.rotary-embedding-torch.dist
  • python310Packages.xarray-einstats
  • python310Packages.xarray-einstats.dist
  • python311Packages.chainer
  • python311Packages.chainer.dist
  • python311Packages.cupy
  • python311Packages.cupy.dist
  • python311Packages.einops
  • python311Packages.einops.dist
  • python311Packages.encodec
  • python311Packages.encodec.dist
  • python311Packages.k-diffusion
  • python311Packages.k-diffusion.dist
  • python311Packages.openllm
  • python311Packages.openllm.dist
  • python311Packages.rotary-embedding-torch
  • python311Packages.rotary-embedding-torch.dist
  • python311Packages.xarray-einstats
  • python311Packages.xarray-einstats.dist

Non-CUDA

Result of nixpkgs-review pr 273779 --extra-nixpkgs-config '{ allowUnfree = true; allowBroken = false; cudaSupport = false; cudaCapabilities = [ ]; }' run on x86_64-linux 1

3 packages failed to build:
  • cudaPackages_12.cutensor_1_3 (cudaPackages_12.cutensor_1_3.dev ,cudaPackages_12.cutensor_1_3.lib ,cudaPackages_12.cutensor_1_3.static)
  • cudaPackages_12.cutensor_1_4 (cudaPackages_12.cutensor_1_4.dev ,cudaPackages_12.cutensor_1_4.lib ,cudaPackages_12.cutensor_1_4.static)
  • cudaPackages_12.cutensor_1_5 (cudaPackages_12.cutensor_1_5.dev ,cudaPackages_12.cutensor_1_5.lib ,cudaPackages_12.cutensor_1_5.static)
16 packages built:
  • cudaPackages.cutensor (cudaPackages.cutensor.dev ,cudaPackages.cutensor.lib ,cudaPackages.cutensor.static)
  • cudaPackages.cutensor_1_3 (cudaPackages.cutensor_1_3.dev ,cudaPackages.cutensor_1_3.lib ,cudaPackages.cutensor_1_3.static)
  • cudaPackages.cutensor_1_4 (cudaPackages.cutensor_1_4.dev ,cudaPackages.cutensor_1_4.lib ,cudaPackages.cutensor_1_4.static)
  • cudaPackages.cutensor_1_5 (cudaPackages.cutensor_1_5.dev ,cudaPackages.cutensor_1_5.lib ,cudaPackages.cutensor_1_5.static)
  • cudaPackages.cutensor_1_6 (cudaPackages.cutensor_1_6.dev ,cudaPackages.cutensor_1_6.lib ,cudaPackages.cutensor_1_6.static)
  • cudaPackages_10.cutensor (cudaPackages_10.cutensor.dev ,cudaPackages_10.cutensor.lib ,cudaPackages_10.cutensor.static)
  • cudaPackages_10.cutensor_1_3 (cudaPackages_10.cutensor_1_3.dev ,cudaPackages_10.cutensor_1_3.lib ,cudaPackages_10.cutensor_1_3.static)
  • cudaPackages_10.cutensor_1_4 (cudaPackages_10.cutensor_1_4.dev ,cudaPackages_10.cutensor_1_4.lib ,cudaPackages_10.cutensor_1_4.static)
  • cudaPackages_10.cutensor_1_5 (cudaPackages_10.cutensor_1_5.dev ,cudaPackages_10.cutensor_1_5.lib ,cudaPackages_10.cutensor_1_5.static)
  • cudaPackages_10.cutensor_1_6 (cudaPackages_10.cutensor_1_6.dev ,cudaPackages_10.cutensor_1_6.lib ,cudaPackages_10.cutensor_1_6.static)
  • cudaPackages_12.cutensor (cudaPackages_12.cutensor.dev ,cudaPackages_12.cutensor.lib ,cudaPackages_12.cutensor.static)
  • cudaPackages_12.cutensor_1_6 (cudaPackages_12.cutensor_1_6.dev ,cudaPackages_12.cutensor_1_6.lib ,cudaPackages_12.cutensor_1_6.static)
  • python310Packages.cupy
  • python310Packages.cupy.dist
  • python311Packages.cupy
  • python311Packages.cupy.dist

@wegank
Copy link
Member

wegank commented Dec 12, 2023

Looks like something CUDA-related broke eval on master?

@ConnorBaker
Copy link
Contributor Author

@ofborg eval

@jonringer
Copy link
Contributor

This issue is in master. cuda 11.8 only has a single redistrib entry for cuda_compat which is linux-aarch64. So it fails trying to select a non-existent linux-x86_64 key.

@ConnorBaker
Copy link
Contributor Author

This issue is in master. cuda 11.8 only has a single redistrib entry for cuda_compat which is linux-aarch64. So it fails trying to select a non-existent linux-x86_64 key.

Do you know if ofborg-eval is triggered against whatever master is when it runs, or if the commit is the ancestor of the PR branch and master?

@jonringer
Copy link
Contributor

jonringer commented Dec 12, 2023

IIRC it does an eval of the base branch (master in this case), and an eval of the head branch (your branch). Either can fail the eval step

@ConnorBaker ConnorBaker force-pushed the fix/cudaPackages-libPath-manifest-builder branch from dae8119 to f13c797 Compare December 12, 2023 20:47
@ofborg ofborg bot added 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. labels Dec 12, 2023
@SomeoneSerge
Copy link
Contributor

I guess we're good

❯ nix build -I nixpkgs=flake:github:ConnorBaker/nixpkgs/fix/cudaPackages-libPath-manifest-builder -f '<nixpkgs>' --arg config '{ allowUnfree = true; }' cudaPackages.cutensor
❯ ls result/lib
libcutensorMg.so  libcutensorMg.so.1  libcutensorMg.so.1.7.0  libcutensorMg_static.a  libcutensor.so  libcutensor.so.1  libcutensor.so.1.7.0  libcutensor_static.a

Btw I only now noticed that pname = "libcutensor" but the attribute is "cutensor". Has it always been this way? 🤔

if [[ ! -d "${libPath}" ]] ; then
echo "${finalAttrs.pname}: ${libPath} does not exist, only found:" >&2
find "$(dirname ${libPath})"/ -maxdepth 1 >&2
full_lib_path="lib/${libPath}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've also been wondering lately if it's better to pass this kind of values as environment variables instead of rendering them in the bash script, but that's not relevant rn I guess

@delroth delroth added the 12.approvals: 1 This PR was reviewed and approved by one person. label Dec 13, 2023
@ConnorBaker ConnorBaker merged commit 0521266 into NixOS:master Dec 13, 2023
@ConnorBaker ConnorBaker deleted the fix/cudaPackages-libPath-manifest-builder branch December 13, 2023 01:09
@ConnorBaker
Copy link
Contributor Author

I guess we're good

❯ nix build -I nixpkgs=flake:github:ConnorBaker/nixpkgs/fix/cudaPackages-libPath-manifest-builder -f '<nixpkgs>' --arg config '{ allowUnfree = true; }' cudaPackages.cutensor
❯ ls result/lib
libcutensorMg.so  libcutensorMg.so.1  libcutensorMg.so.1.7.0  libcutensorMg_static.a  libcutensor.so  libcutensor.so.1  libcutensor.so.1.7.0  libcutensor_static.a

Btw I only now noticed that pname = "libcutensor" but the attribute is "cutensor". Has it always been this way? 🤔

Indeed it has :l

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: cuda Parallel computing platform and API 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

libcutensor build failure on x86_64-linux as of 402ae9be

5 participants