Skip to content

thng292/CudaAutoEncoder

Repository files navigation

Parallel computing final project

Quick Start (Kaggle)

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

How to build (with the new Makefile)

  • Debug: make debug -B -j
  • Release make release -B -j
  • Version make debug -B -j v0

Install Zig

Check out the install script or do it yourself, check out https://ziglang.org/download/

How to build (deprecated)

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

Project structure

├── 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •