To set up the environment (C++20, NVCC 12.6) on Kaggle, run the setup script:
chmod +x scripts/setup_kaggle.sh
./scripts/setup_kaggle.sh
source ~/.bashrc- Debug:
make debug -B -j - Release
make release -B -j - Version
make debug -B -j v0
Check out the install script or do it yourself, check out https://ziglang.org/download/
zig build # Build the project (output: zig-out/bin/Final)
zig build -Dcuda-arch=sm_75 # Build for a specific compute capability
zig build -Dversion=1 # Build for a specific version, the version is the number in kernel/v[num].
zig bulid run # Build and run the project├── build.zig # zig build system file
├── build.zig.zon # zig build system file
├── compose.yaml # For me only, I dev in container
├── install-zig.sh # Script to install zig (AI Generated, but audited)
├── README.md
└── src
├── hello.cu
├── include
│ ├── adamw.hpp
│ ├── ... # Header files, for interfaces
│ └── upsample.hpp
├── kernel
│ ├── v0
│ │ ├── convolution.cu # This file will be compile if -Dversion=1 as there isn't an implemetation in v1 folder
│ │ ├── ... # Implementation files,
│ │ └── upsample.cu # This file will not be compile if -Dversion=1 as there is an implemetation in v1 folder
│ └── v1
│ └── upsample.cu # This file will be compiled if -Dversion=1
├── load_data.cpp
├── main.cpp
└── optimizer.cpp