Skip to content

Commit

Permalink
Snap cuda fullnode
Browse files Browse the repository at this point in the history
  • Loading branch information
mvines committed Jun 21, 2018
1 parent 89fc0ad commit ba1639e
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 1 deletion.
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,20 @@ demo completes after it has convinced itself the testnet won't process any addit
transactions. You should see several TPS measurements printed to the screen. In the
multinode variation, you'll see TPS measurements for each validator node as well.

Linux Snap
---
A Linux Solana [Snap](https://snapcraft.io/) is available, which can be used to
easily get Solana running on supported Linux systems without building anything
from source. The `edge` Snap channel is updated daily with the latest
development from the `master` branch. To install:
```bash
$ sudo snap install solana --edge --devmode
```
(`--devmode` flag is currently required for the CUDA full node)

Once installed the usual Solana programs will be available as `solona.*` instead
of `solana-*`. For example, `solana.fullnode` instead of `solana-fullnode`.

Developing
===

Expand Down
34 changes: 33 additions & 1 deletion snap/snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,14 @@ description: |
710,000 tx/s with off-the-shelf hardware and no sharding.
Scales with Moore's Law.
grade: devel
confinement: strict

# TODO: solana-perf-fullnode does not yet run with 'strict' confinement due to the
# CUDA dependency, so use 'devmode' confinement for now
confinement: devmode

apps:
cuda-fullnode:
command: solana-fullnode-cuda
fullnode:
command: solana-fullnode
plugs:
Expand All @@ -29,6 +34,33 @@ apps:
command: solana-mint-demo

parts:
solana-perf-package:
plugin: dump
build-attributes: [no-system-libraries]
source: https://solana-perf.s3.amazonaws.com/master/x86_64-unknown-linux-gnu/solana-perf.tgz
prime:
- solana-perf-HEAD.txt
solana-cuda:
plugin: rust
rust-channel: stable
rust-features:
- erasure
- cuda
prime:
- bin/solana-fullnode-cuda
override-build: |
cp -f $SNAPCRAFT_STAGE/libcuda_verify_ed25519.a .
cp -f $SNAPCRAFT_STAGE/libJerasure.so .
cp -f $SNAPCRAFT_STAGE/libgf_complete.so .
snapcraftctl build
mv $SNAPCRAFT_PART_INSTALL/bin/solana-fullnode $SNAPCRAFT_PART_INSTALL
rm -rf $SNAPCRAFT_PART_INSTALL/bin/*
mv $SNAPCRAFT_PART_INSTALL/solana-fullnode $SNAPCRAFT_PART_INSTALL/bin/solana-cuda-fullnode
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/lib/
cp -f libJerasure.so $SNAPCRAFT_PART_INSTALL/usr/lib/libJerasure.so.2
cp -f libgf_complete.so $SNAPCRAFT_PART_INSTALL/usr/lib/libgf_complete.so.1
after:
- solana-perf-package
solana:
plugin: rust
rust-channel: stable

0 comments on commit ba1639e

Please sign in to comment.