wip
This commit is contained in:
99
rin/miner/gpu/RinHash-cuda/build-cuda-linux.sh
Normal file
99
rin/miner/gpu/RinHash-cuda/build-cuda-linux.sh
Normal file
@@ -0,0 +1,99 @@
|
||||
#!/bin/bash
|
||||
# RinHash CUDA Build Script for Linux/WSL
|
||||
# This script builds the CUDA implementation of RinHash
|
||||
|
||||
echo "======================================"
|
||||
echo " RinHash CUDA Miner Build Script"
|
||||
echo "======================================"
|
||||
|
||||
# Check if NVCC is available
|
||||
if ! command -v nvcc &> /dev/null; then
|
||||
echo "ERROR: NVCC not found in PATH"
|
||||
echo "Please install CUDA Toolkit"
|
||||
echo "On Ubuntu/Debian: sudo apt install nvidia-cuda-toolkit"
|
||||
echo "Or download from: https://developer.nvidia.com/cuda-downloads"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "NVCC found:"
|
||||
nvcc --version
|
||||
echo ""
|
||||
|
||||
# Check if gcc/g++ is available
|
||||
if ! command -v gcc &> /dev/null; then
|
||||
echo "ERROR: GCC not found in PATH"
|
||||
echo "Please install build-essential: sudo apt install build-essential"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "GCC found:"
|
||||
gcc --version | head -1
|
||||
echo ""
|
||||
|
||||
echo "Building RinHash CUDA miner..."
|
||||
echo ""
|
||||
|
||||
# Create output directory
|
||||
mkdir -p bin
|
||||
|
||||
# Compile with NVCC (enable device linking for dynamic parallelism)
|
||||
nvcc -O3 -std=c++11 \
|
||||
-arch=sm_50 \
|
||||
-gencode arch=compute_50,code=sm_50 \
|
||||
-gencode arch=compute_52,code=sm_52 \
|
||||
-gencode arch=compute_60,code=sm_60 \
|
||||
-gencode arch=compute_61,code=sm_61 \
|
||||
-gencode arch=compute_70,code=sm_70 \
|
||||
-gencode arch=compute_75,code=sm_75 \
|
||||
-gencode arch=compute_80,code=sm_80 \
|
||||
-gencode arch=compute_86,code=sm_86 \
|
||||
-I. \
|
||||
rinhash.cu sha3-256.cu \
|
||||
-o bin/rinhash-cuda-miner \
|
||||
-lcuda -lcudart -lcudadevrt
|
||||
|
||||
# Also build test program
|
||||
echo "Building test program..."
|
||||
nvcc -O3 -std=c++11 \
|
||||
-arch=sm_50 \
|
||||
-gencode arch=compute_50,code=sm_50 \
|
||||
-gencode arch=compute_52,code=sm_52 \
|
||||
-gencode arch=compute_60,code=sm_60 \
|
||||
-gencode arch=compute_61,code=sm_61 \
|
||||
-gencode arch=compute_70,code=sm_70 \
|
||||
-gencode arch=compute_75,code=sm_75 \
|
||||
-gencode arch=compute_80,code=sm_80 \
|
||||
-gencode arch=compute_86,code=sm_86 \
|
||||
-I. \
|
||||
test_miner.cu rinhash.cu sha3-256.cu \
|
||||
-o bin/test_miner \
|
||||
-lcuda -lcudart -lcudadevrt
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo ""
|
||||
echo "======================================"
|
||||
echo " BUILD SUCCESSFUL!"
|
||||
echo "======================================"
|
||||
echo ""
|
||||
echo "Executables created:"
|
||||
echo " - bin/rinhash-cuda-miner (main miner)"
|
||||
echo " - bin/test_miner (test program)"
|
||||
echo ""
|
||||
echo "To test the miner:"
|
||||
echo " ./bin/test_miner"
|
||||
echo ""
|
||||
else
|
||||
echo ""
|
||||
echo "======================================"
|
||||
echo " BUILD FAILED!"
|
||||
echo "======================================"
|
||||
echo ""
|
||||
echo "Common issues:"
|
||||
echo "1. Missing CUDA runtime libraries"
|
||||
echo "2. Incompatible CUDA version"
|
||||
echo "3. Missing development tools"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Build completed successfully!"
|
||||
Reference in New Issue
Block a user