A CLI tool that runs GitHub projects on free cloud GPUs
Project description
RunOnGPU
RunOnGPU is a CLI tool that helps you run GitHub projects on a GPU with minimal setup.
It is useful if you want to test CUDA, PyTorch, or other GPU code but do not have a local NVIDIA GPU.
Requirements
- Windows
- Python 3.12.13+
- Git
- Google Chrome
- Google account for Colab
Install
- Install anaconda with Python >= 3.12.13 for smooth performance
- Run following commands in your conda enviroment
- Make sure you do not touch chrome or move around your cursor as the program runs the code.
pip install runongpu
Check setup:
runongpu doctor
Quick Start
Go to the project you want to run and initialize RunOnGPU:
runongpu init
Enter your GitHub repo URL when asked.
This creates a runongpu.txt file. Edit this file to tell RunOnGPU how to set up, build, test, and run your project.
Then run:
runongpu run
RunOnGPU will open Colab, copy the starter notebook, clone your repo, set the runtime to a T4 GPU, and run your commands. If for some reason, it doesn't work on the first try, press enter in your command line interface to restart the program.
runongpu.txt
You need this to run neccesary commands. You must edit this file to ensure your program runs smoothly.
runongpu.txt controls what happens inside Colab.
It has four sections:
[setup]
# install dependencies here
[build]
# compile or build the project here
[test]
# run tests here
[run]
# run the final program here
Add one command per line.
Example: CUDA
If your repo has this structure:
my-cuda-project/
├── main.cu
└── runongpu.txt
Use:
[setup]
[build]
nvcc main.cu -o vector_add
[test]
[run]
./vector_add
Example: CUDA in a Subfolder
If your repo has this structure:
runongpu-examples/
├── cuda/
│ └── vector-add/
│ └── main.cu
└── runongpu.txt
Use:
[setup]
[build]
cd cuda/vector-add && nvcc main.cu -o vector_add
[test]
[run]
cd cuda/vector-add && ./vector_add
Example: Python
[setup]
pip install -r requirements.txt
[build]
[test]
pytest
[run]
python main.py
Example: CMake
[setup]
[build]
cmake -S . -B build
cmake --build build
[test]
ctest --test-dir build --output-on-failure
[run]
./build/my_program
Notes
On the first run, you may need to sign into Google Colab. RunOnGPU saves the copied notebook URL and reuses it on future runs.
Do not interact with the Colab window while RunOnGPU is setting it up.
Run Tests
python -m pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file runongpu-1.0.1.tar.gz.
File metadata
- Download URL: runongpu-1.0.1.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc73f50e1e5513dd8376405ac8c93656ce47521446894340e95ed1ee33d8d61b
|
|
| MD5 |
5b0226daedd4c716d79a614fbd82ff25
|
|
| BLAKE2b-256 |
66f54cc28deca323c5b7c116d82483652e04739bcddf037c5cbb438a1d214927
|
Provenance
The following attestation bundles were made for runongpu-1.0.1.tar.gz:
Publisher:
publish.yml on MashrafeeAryan/RunOnGPU
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
runongpu-1.0.1.tar.gz -
Subject digest:
bc73f50e1e5513dd8376405ac8c93656ce47521446894340e95ed1ee33d8d61b - Sigstore transparency entry: 2082145988
- Sigstore integration time:
-
Permalink:
MashrafeeAryan/RunOnGPU@57ec1d6eb961a4587ba8687368818cd4b016835c -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/MashrafeeAryan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@57ec1d6eb961a4587ba8687368818cd4b016835c -
Trigger Event:
release
-
Statement type:
File details
Details for the file runongpu-1.0.1-py3-none-any.whl.
File metadata
- Download URL: runongpu-1.0.1-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0816fdf6066ce521a105313aed18898e8711755f680ab22bb74687785fdb217f
|
|
| MD5 |
137d9af8e0bb4a7ada51ea0af096dde8
|
|
| BLAKE2b-256 |
9015d4b089e41ba8f09e3a05ea178aca41cf740e7fb0ce9b7645212da87a9c2a
|
Provenance
The following attestation bundles were made for runongpu-1.0.1-py3-none-any.whl:
Publisher:
publish.yml on MashrafeeAryan/RunOnGPU
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
runongpu-1.0.1-py3-none-any.whl -
Subject digest:
0816fdf6066ce521a105313aed18898e8711755f680ab22bb74687785fdb217f - Sigstore transparency entry: 2082145999
- Sigstore integration time:
-
Permalink:
MashrafeeAryan/RunOnGPU@57ec1d6eb961a4587ba8687368818cd4b016835c -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/MashrafeeAryan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@57ec1d6eb961a4587ba8687368818cd4b016835c -
Trigger Event:
release
-
Statement type: