This project provides an singularity container setup for developing and experimenting with custom CUDA kernels for PyTorch neural networks.
To build the container in an Apptainer environment, run:
apptainer build DL_cuda.sif DL_cuda.defFor interactive development with CUDA support:
apptainer exec --nv DL_cuda.sif bashInside the container, verify that CUDA is properly configured:
nvcc --versionTo build and install custom CUDA kernels:
cd cuda_kernels
pip install --user -e .You need to compile cuda kernals before using them
cd cuda_kernals
pip install --user -e .
cd ..Configure the yaml file with preferred settings.
python main.pyTo run performance experiments first give preffered model configurations in config.yaml.
Then run
python experiements/experiments.pyTo do compute profiling experiments first give preffered data configurations in config.yaml.
Then run
python experiements/compute_experiments.pyCheckout to test branch.
Run
pytestor (to avoid specific wardnings if packages are outdated.)
pytest -W ignore::DeprecationWarning