mirror of https://github.com/skygpu/skynet.git
				
				
				
			
				
					
						
							From the deep-ish dive drafting our first set of design/architecture diagrams in https://github.com/skygpu/cyberdyne/pull/2, this adds a buncha suggestions, typing, and styling adjustments. Namely the code tweaks include, - changing to multi-line import tuples where appropriate (since they're much handier to modify ;) - adding typing in many spots where it wasn't clear to me the types being returned/operated-with in various (internal) methods. - doc strings (in mostly random spots Xp ) where i had the need to remember the impl's purpose but didn't want to re-read the code in detail again. - ALOT of TODOs surrounding various potential style changes, re-factorings, naming and in some cases "modernization" according to the latest python3.12 feats/spec/stdlib.  | 
			||
|---|---|---|
| docker | ||
| skynet | ||
| tests | ||
| .dockerignore | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| pyproject.toml | ||
| pytest.ini | ||
| skynet.toml.example | ||
| uv.lock | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	skynet
<img src="https://explorer.skygpu.net/v2/explore/assets/logo.png" width=512 height=512>
decentralized compute platform
native install
system dependencies: - cuda 11.8 - llvm 10 - python 3.10+ - docker (for ipfs node)
# create and edit config from template
cp skynet.toml.example skynet.toml
# install poetry package manager
curl -sSL https://install.python-poetry.org | python3 -
# install
poetry install
# enable environment
poetry shell
# test you can run this command
skynet --help
# to launch worker
skynet run dgpu
dockerized install
frontend
system dependencies: - docker
# create and edit config from template
cp skynet.toml.example skynet.toml
# pull runtime container
docker pull guilledk/skynet:runtime-frontend
# run telegram bot
docker run \
    -it \
    --rm \
    --network host \
    --name skynet-telegram \
    --mount type=bind,source="$(pwd)",target=/root/target \
    guilledk/skynet:runtime-frontend \
    skynet run telegram --db-pass PASSWORD --db-user USER --db-host HOST
worker
system dependencies: - docker with gpu enabled
# create and edit config from template
cp skynet.toml.example skynet.toml
# pull runtime container
docker pull guilledk/skynet:runtime-cuda
# or build it (takes a bit of time)
./build_docker.sh
# run worker with all gpus
docker run \
    -it \
    --rm \
    --gpus all \
    --network host \
    --name skynet-worker \
    --mount type=bind,source="$(pwd)",target=/root/target \
    guilledk/skynet:runtime-cuda \
    skynet run dgpu
# run worker with specific gpu
docker run \
    -it \
    --rm \
    --gpus '"device=1"' \
    --network host \
    --name skynet-worker-1 \
    --mount type=bind,source="$(pwd)",target=/root/target \
    guilledk/skynet:runtime-cuda \
    skynet run dgpu