| 27 Jun 2024 |
coruscate | is there any up to date documentation on how to use cuda properly? I find rather conflicting information and stumble accross new information whenever I google.
My Opensycl project seems to require 11.5 or earlier, while 10 would be in the common nixpkgs I thought I'd ask before going with that. | 10:18:32 |
SomeoneSerge (matrix works sometimes) | In reply to @coruscate:matrix.org is there any up to date documentation on how to use cuda properly? I find rather conflicting information and stumble accross new information whenever I google.
My Opensycl project seems to require 11.5 or earlier, while 10 would be in the common nixpkgs I thought I'd ask before going with that. I think the section in the official manual is not in an unreasonable state, although messy | 10:38:20 |
SomeoneSerge (matrix works sometimes) | In reply to @coruscate:matrix.org is there any up to date documentation on how to use cuda properly? I find rather conflicting information and stumble accross new information whenever I google.
My Opensycl project seems to require 11.5 or earlier, while 10 would be in the common nixpkgs I thought I'd ask before going with that. Nixpkgs' unstable is at 12.2 🤔 | 10:39:19 |
SomeoneSerge (matrix works sometimes) | * I think the section in the official manual is not in an unreasonable state, although messy: https://nixos.org/manual/nixpkgs/unstable/#cuda | 10:39:49 |
coruscate | should have said later then, i guess? <11.5 weirdly enough | 10:46:27 |
SomeoneSerge (matrix works sometimes) | Ah so opensycl requires an older release? | 10:54:07 |
SomeoneSerge (matrix works sometimes) | Just use cudaPackages_11_5. Start ad hoc, building only opensycl against it. If you wish to rebuild the whole package set, use an overlay. | 10:55:35 |
SomeoneSerge (matrix works sometimes) | They don't seem to specify any constraints: https://github.com/archibate/OpenSYCL/blob/b919667ea53f99dbc55a9832f297cf0cb689034e/cmake/FindCUDA.cmake#L31 | 11:02:25 |
SomeoneSerge (matrix works sometimes) | * They don't seem to specify any constraints: https://github.com/archibate/OpenSYCL/blob/b919667ea53f99dbc55a9832f297cf0cb689034e/cmake/FindCUDA.cmake#L31 (oh, this is some fork) | 11:02:44 |
coruscate | my issue seems to be the packaged clang version in the nixpkg opensycl package, i'll probably simply repackage it. | 11:16:02 |
matthewcroughan | Does anybody get cicc died due to signal 9 (Kill signal) | 12:19:18 |
matthewcroughan | When trying to build onnxruntime with cuda support? | 12:19:24 |
matthewcroughan | In reply to @connorbaker:matrix.org I remember enabling ZRAM partly because of that. And I’m pretty sure they were all zero pages too, because they compressed to absolutely nothing lmao Same.. That sounds very familiar | 12:21:21 |
matthewcroughan | https://github.com/rapidsai/cudf/issues/8018 | 12:21:36 |
matthewcroughan | seems like the solution to cicc getting killed is to limit parallelism also | 12:21:48 |
coruscate | In reply to @ss:someonex.net Just use cudaPackages_11_5. Start ad hoc, building only opensycl against it. If you wish to rebuild the whole package set, use an overlay. I seem to be too dumb to figure this out.
I use this flake:
{
description = "Needleman Wunsch Sycl implementation";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs";
systems.url = "github:nix-systems/default";
flake-utils.url = "github:numtide/flake-utils";
};
outputs =
{ self
, systems
, nixpkgs
, flake-utils
}:
flake-utils.lib.eachDefaultSystem
(system:
let
pkgs = (import nixpkgs {
system = system;
config = {
cudaPackages = pkgs.cudaPackages_11_5;
cudaForwardCompat = true;
cudaCapabilities = [ "7.5" ];
cudaSupport = true;
allowUnfree = true; # Enable unfree software
};
});
in
{
# overlay = overlay;
devShells.default = import ./shell.nix { inherit pkgs; };
packages = {
default = pkgs.callPackage ./package.nix { inherit pkgs; };
sycl = pkgs.callPackage ./opensycl.nix { inherit pkgs; };
};
});
}
and expect both the shell and the sycl package to use the correct version, this clearly is not the case though. I expect that I can set it the way the documentation leads me to believe for the sycl package, as I use the callPackage function, but how would I do the same for the shell?
{ pkgs ? import <nixpkgs> }:
with pkgs;
mkShell {
buildInputs = [
(callPackage ./opensycl.nix { })
gnumake
gdb
lld
cudaPackages.cudatoolkit
linuxPackages.nvidia_x11
opencl-headers
pkg-config
];
...
sorry if this is too incoherent or stupid to begin with
| 13:17:07 |
coruscate | In reply to @ss:someonex.net Just use cudaPackages_11_5. Start ad hoc, building only opensycl against it. If you wish to rebuild the whole package set, use an overlay. * I seem to be too dumb to figure this out.
I use this flake:
{
description = "Needleman Wunsch Sycl implementation";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs";
systems.url = "github:nix-systems/default";
flake-utils.url = "github:numtide/flake-utils";
};
outputs =
{ self
, systems
, nixpkgs
, flake-utils
}:
flake-utils.lib.eachDefaultSystem
(system:
let
pkgs = (import nixpkgs {
system = system;
config = {
cudaPackages = pkgs.cudaPackages_11_5;
cudaForwardCompat = true;
cudaCapabilities = [ "7.5" ];
cudaSupport = true;
allowUnfree = true; # Enable unfree software
};
});
in
{
# overlay = overlay;
devShells.default = import ./shell.nix { inherit pkgs; };
packages = {
default = pkgs.callPackage ./package.nix { inherit pkgs; };
sycl = pkgs.callPackage ./opensycl.nix { inherit pkgs; };
};
});
}
and expect both the shell and the sycl package to use the correct version, this clearly is not the case though. I expect that I can set it the way the documentation leads me to believe for the sycl package, as I use the callPackage function, but how would I do the same for the shell?
{ pkgs ? import <nixpkgs> }:
with pkgs;
mkShell {
buildInputs = [
(callPackage ./opensycl.nix { })
gnumake
gdb
lld
cudaPackages.cudatoolkit
linuxPackages.nvidia_x11
opencl-headers
pkg-config
];
...
sorry if this is too incoherent or stupid to begin with
| 13:17:20 |
SomeoneSerge (matrix works sometimes) | There's no config.cudaPackages option; cudaPackages is an attribute in an evaluated pkgs instance; it can be overridden using overlays | 13:41:48 |
SomeoneSerge (matrix works sometimes) | coruscate is there a public repo with the flake and the opensycl.nix? | 13:42:37 |
SomeoneSerge (matrix works sometimes) | Looking at how setup-cuda-hook.sh propagates itself and once again I cannot remember where the extra offset of (0, 1) is coming from... | 21:28:55 |
SomeoneSerge (matrix works sometimes) | Say someone puts a cuda_cudart in buildInputs (that's (0,1)), it has the hook in propagatedNativeBuildInputs (that's (-1, 0), right?). The expectation (confirmed by a successful build is that we arrive at (-1, 0)=nativeBuildInputs again, but the arithmetics says (0, 0) | 21:31:06 |
SomeoneSerge (matrix works sometimes) | * Looking at how setup-cuda-hook.sh propagates itself and once again I cannot remember where the extra offset of (1, 0) is coming from... | 21:31:28 |
SomeoneSerge (matrix works sometimes) | Is it added manually? Hmm now come to think of it if a is in buildInputs, and has b in propagatedBuildInputs, which has c in propagatedBuildINputs - c should end up at the same offsets, i.e. in buildInputs | 21:32:31 |
SomeoneSerge (matrix works sometimes) | * Is it added manually? Hmm now come to think of it if a is in buildInputs, and has b in propagatedBuildInputs, which has c in propagatedBuildINputs - we want c to end up at the same offsets, i.e. in buildInputs | 21:32:46 |
| 28 Jun 2024 |
SomeoneSerge (matrix works sometimes) | Should work this time: https://github.com/NixOS/nixpkgs/pull/323056
Can I bump a nixpgks-review? xD | 01:43:56 |
SomeoneSerge (matrix works sometimes) | * Should work this time: https://github.com/NixOS/nixpkgs/pull/323056
Can I bum a nixpgks-review? xD | 01:44:00 |
SomeoneSerge (matrix works sometimes) | In reply to @ss:someonex.net Should work this time: https://github.com/NixOS/nixpkgs/pull/323056
Can I bum a nixpgks-review? xD Omg, nevermind... I checked that magma still builds after the first commit, then did something in the second and now it doesn't | 01:49:25 |
| Howard Nguyen-Huu joined the room. | 02:44:51 |
search-sense | In reply to @matthewcroughan:defenestrate.it they removed the .6 from the release I know, that it's broken ... actually it would be good if someone upgrade it to the current version TensorRT-10.1.0.27 | 11:00:16 |
SomeoneSerge (matrix works sometimes) | Shoot, I think propagatedBuildOutputs are broken with __structuredAttrs | 11:08:29 |