compile quickstart

This commit is contained in:
Dobromir Popov
2025-09-06 11:44:25 +03:00
parent 27009b3d87
commit 8104d5f90b
2 changed files with 350 additions and 17 deletions

View File

@@ -0,0 +1,305 @@
# RinHash Miner Compilation Quickstart Guide
This guide provides step-by-step instructions for compiling the RinHash mining software on Linux systems. **Only verified successful compilation methods are included.**
## ✅ VERIFIED SUCCESSFUL COMPILATIONS
Based on current project state, the following have been successfully compiled:
### 1. ROCm GPU Miner ✅ VERIFIED
- **Status**: ✅ Successfully compiled
- **Files**: `rinhash-gpu-miner` (27KB executable), `librinhash_hip.so` (252KB library)
- **Method**: ROCm/HIP direct compilation
- **Location**: Main directory and `rocm-direct-output/gpu-libs/`
### 2. ROCm GPU Libraries ✅ VERIFIED
- **Status**: ✅ Successfully compiled
- **Files**: `librinhash_hip.so`, header files (*.cuh)
- **Method**: HIP compilation with ROCm
- **Location**: `rocm-direct-output/gpu-libs/`
## ⚠️ UNVERIFIED METHODS (Not Yet Tested)
The following compilation methods exist but have not been verified as successful:
### CPU Miner Compilation (Not Verified)
### Complete System Build (Not Verified)
### Docker-Based Builds (Not Verified)
### CUDA Compilation (Not Verified)
---
## Project Overview
This mining software includes:
- **GPU Miner**: HIP/ROCm implementations for GPU acceleration ✅ **VERIFIED**
- **GPU Libraries**: ROCm shared libraries ✅ **VERIFIED**
- **Build Scripts**: Multiple compilation methods (some unverified)
## Quick Reference (Verified Only)
| Component | Status | Method | Files Verified |
|-----------|--------|--------|----------------|
| GPU Miner Executable | ✅ VERIFIED | ROCm Direct | `rinhash-gpu-miner` (27KB) |
| GPU Libraries | ✅ VERIFIED | HIP Compilation | `librinhash_hip.so` (252KB) |
## Prerequisites
### System Requirements
- Linux (Ubuntu 20.04+ recommended)
- 4GB+ RAM
- 2GB+ disk space
- Internet connection for downloading dependencies
### Base Dependencies
```bash
sudo apt update
sudo apt install -y build-essential git wget curl pkg-config \
autotools-dev autoconf automake libtool \
libcurl4-openssl-dev libjansson-dev libssl-dev libgmp-dev zlib1g-dev
```
## ✅ VERIFIED BUILD METHODS
### Method 1: ROCm GPU Miner Build ✅ VERIFIED SUCCESSFUL
This method has been successfully used to compile the GPU miner.
#### Current Status
-**GPU Miner Executable**: `rinhash-gpu-miner` (27KB, compiled successfully)
-**GPU Library**: `librinhash_hip.so` (252KB, compiled successfully)
-**Header Files**: All CUDA header files (*.cuh) compiled successfully
#### Files Created
```bash
# Main executable
./rinhash-gpu-miner
# GPU libraries and headers
./rocm-direct-output/gpu-libs/
├── librinhash_hip.so
├── argon2d_device.cuh
├── blake3_device.cuh
├── blaze3_cpu.cuh
└── rinhash_device.cuh
```
#### Verification
```bash
# Check executable
ls -la rinhash-gpu-miner
file rinhash-gpu-miner
# Check GPU library
ls -la rocm-direct-output/gpu-libs/
file rocm-direct-output/gpu-libs/librinhash_hip.so
```
## ⚠️ UNVERIFIED BUILD METHODS
### CPU Miner Compilation ⚠️ NOT VERIFIED
The following methods exist but have not been successfully tested:
#### Method 2: Quick CPU Miner Build ⚠️ UNVERIFIED
```bash
./build-cpuminer-simple.sh
```
**Status**: Build output directory `cpuminer-rocm-output/` is empty - not verified
#### Method 3: Manual CPU Miner Build ⚠️ UNVERIFIED
```bash
cd cpuminer/cpuminer-opt-rin
./autogen.sh
./configure CFLAGS="-O3 -march=native -funroll-loops -fomit-frame-pointer"
make -j$(nproc)
```
**Status**: No `cpuminer` binary found in source directory - not verified
### Complete System Build ⚠️ NOT VERIFIED
```bash
./build-complete-system.sh
```
**Status**: Build output directory `complete-build-output/` is empty - not verified
### Docker-Based Builds ⚠️ NOT VERIFIED
- `build-rocm-complete.sh`
- `build-hip-linux-docker.sh`
- `build-cuda-linux-docker.sh`
**Status**: Docker builds exist but outputs not verified
### CUDA Compilation ⚠️ NOT VERIFIED
```bash
cd gpu/RinHash-cuda
# CUDA compilation steps
```
**Status**: CUDA components exist but not compiled/tested
## ✅ TESTING VERIFIED COMPONENTS
### GPU Mining Test ✅ VERIFIED
The GPU miner has been successfully compiled and can be tested:
1. **Check GPU Miner Executable**:
```bash
ls -la rinhash-gpu-miner
file rinhash-gpu-miner
```
2. **Test GPU Miner** (if ROCm runtime is installed):
```bash
./rinhash-gpu-miner
```
3. **Check GPU Library**:
```bash
ls -la rocm-direct-output/gpu-libs/
file rocm-direct-output/gpu-libs/librinhash_hip.so
```
### GPU Library Integration ✅ VERIFIED
To use the compiled GPU library:
```bash
# Copy to system library path
sudo cp rocm-direct-output/gpu-libs/librinhash_hip.so /usr/local/lib/
sudo ldconfig
# Verify library loading
ldd /usr/local/lib/librinhash_hip.so
```
## ⚠️ UNVERIFIED TESTING METHODS
### CPU Mining Test ⚠️ UNVERIFIED
```bash
# These commands exist but cpuminer binary not verified
./cpuminer -a rinhash -o stratum+tcp://pool.example.com:3333 -u YOUR_WALLET -p x -t 4
```
### Build Verification Scripts ⚠️ UNVERIFIED
```bash
# These scripts exist but build outputs are empty
./complete-build-output/integration/test-build.sh # Directory empty
./rocm-direct-output/integration/test-gpu.sh # May work with verified components
```
## Troubleshooting
### Common Issues
#### Docker not found
```bash
# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# Logout and login again
```
#### Build dependencies missing
```bash
sudo apt install -y build-essential autotools-dev autoconf pkg-config \
libcurl4-openssl-dev libjansson-dev libssl-dev libgmp-dev zlib1g-dev
```
#### ROCm runtime not available
```bash
# Install ROCm
sudo apt install rocm-dev hip-runtime-amd
# Verify installation
rocm-smi
```
#### Permission denied
```bash
# Make scripts executable
chmod +x build-*.sh
# Or run with sudo if necessary
sudo ./build-complete-system.sh
```
### Build Logs
Check build output in these locations:
- `complete-build-output/` - Complete system build
- `cpuminer-rocm-output/` - CPU miner build
- `rocm-direct-output/` - GPU libraries build
- `cpuminer/cpuminer-opt-rin/config.log` - Manual build logs
## Performance Optimization
### CPU Optimization
```bash
# Use all available cores
./cpuminer -a rinhash -t $(nproc) -o POOL_URL -u WALLET -p PASSWORD
```
### GPU Optimization
1. Ensure proper cooling
2. Monitor GPU usage: `rocm-smi`
3. Adjust batch sizes in GPU code if needed
## ✅ VERIFIED FILE STRUCTURE
After successful ROCm compilation, you should have:
```
miner/
├── rinhash-gpu-miner # ✅ VERIFIED: Main GPU miner executable (27KB)
├── rocm-direct-output/
│ └── gpu-libs/
│ ├── librinhash_hip.so # ✅ VERIFIED: GPU library (252KB)
│ ├── argon2d_device.cuh # ✅ VERIFIED: GPU headers
│ ├── blake3_device.cuh # ✅ VERIFIED: GPU headers
│ ├── blaze3_cpu.cuh # ✅ VERIFIED: GPU headers
│ └── rinhash_device.cuh # ✅ VERIFIED: GPU headers
└── [other build scripts and source files]
```
## ⚠️ UNVERIFIED FILE LOCATIONS
The following directories exist but are currently empty (not verified):
```
miner/
├── complete-build-output/ # ⚠️ EMPTY: Not verified
│ └── cpuminer/ # ⚠️ EMPTY: No cpuminer binary
├── cpuminer-rocm-output/ # ⚠️ EMPTY: Not verified
└── gpu/build/rinhash-gpu-miner # ⚠️ NOT FOUND: Alternative build not verified
```
## ✅ VERIFIED NEXT STEPS
With your successfully compiled ROCm GPU miner:
1. **Test GPU Miner**: Run `./rinhash-gpu-miner` to verify it works
2. **Check GPU Library**: Verify `librinhash_hip.so` is properly compiled
3. **Install ROCm Runtime**: Ensure GPU drivers are installed for mining
4. **Configure Mining Pool**: Get pool URL and wallet for RinHash algorithm
## ⚠️ UNVERIFIED METHODS - FUTURE WORK
The following compilation methods need verification:
1. **CPU Miner**: Complete the cpuminer compilation
2. **Complete System Build**: Test the full Docker build process
3. **CUDA Implementation**: Verify NVIDIA GPU compilation
4. **Integration Testing**: Test CPU+GPU combined mining
## Support
### ✅ VERIFIED COMPONENTS
- ROCm GPU miner executable: `rinhash-gpu-miner`
- GPU library: `librinhash_hip.so`
- Build scripts: Available for various methods
### ⚠️ UNVERIFIED COMPONENTS
- CPU miner binary (not found)
- Complete build outputs (empty directories)
- Docker container builds (not tested)
- CUDA compilation (not verified)
---
**Current Status**: ROCm GPU compilation is ✅ **VERIFIED SUCCESSFUL**. Other compilation methods exist but require verification before use.

View File

@@ -1,24 +1,52 @@
from https://github.com/StickyFingaz420/CPUminer-opt-rinhash
# RinHash Miner
A comprehensive mining software supporting both CPU and GPU mining for the RinHash algorithm.
## ✅ VERIFIED SUCCESSFUL COMPILATIONS
Option 1: Build from Source (Recommended)
bash
### ROCm GPU Components ✅ VERIFIED
- **GPU Miner Executable**: `rinhash-gpu-miner` (27KB, successfully compiled)
- **GPU Library**: `librinhash_hip.so` (252KB, successfully compiled)
- **GPU Headers**: All CUDA header files (*.cuh) compiled successfully
Copy
# Install build dependencies
sudo apt update
sudo apt install build-essential autotools-dev autoconf pkg-config libcurl4-openssl-dev libjansson-dev libssl-dev libgmp-dev zlib1g-dev git automake libtool
## ⚠️ UNVERIFIED METHODS
# Clone the repository (if you haven't already)
git clone https://github.com/rplant8/cpuminer-opt-rinhash.git
cd cpuminer-opt-rinhash
The following compilation methods exist but have not been verified:
- CPU Miner compilation
- Complete system builds
- Docker container builds
- CUDA compilation
# Build it
./autogen.sh
./configure CFLAGS="-O3 -march=native -funroll-loops -fomit-frame-pointer"
make -j$(nproc)
## Quick Start
# Test the newly built binary
./cpuminer -a rinhash -o stratum+tcp://192.168.0.188:3333 -u db.win -p x -t 4
cpuminer-rinhash.exe -a rinhash -o stratum+tcp://192.168.0.188:3334 -u db.win -p x -t 4
For detailed compilation instructions, see **[COMPILE_QUICKSTART.md](COMPILE_QUICKSTART.md)**
## Current Status
### ✅ VERIFIED COMPONENTS
- ROCm GPU miner executable: `rinhash-gpu-miner`
- GPU library: `librinhash_hip.so`
- Build scripts: Available for various methods
### ⚠️ UNVERIFIED COMPONENTS
- CPU miner binary (not compiled)
- Complete build outputs (empty directories)
- Docker builds (not tested)
- CUDA compilation (not verified)
## Testing Verified Components
```bash
# Test GPU miner executable
ls -la rinhash-gpu-miner
file rinhash-gpu-miner
# Test GPU library
ls -la rocm-direct-output/gpu-libs/
file rocm-direct-output/gpu-libs/librinhash_hip.so
# GPU runtime check (if ROCm installed)
rocm-smi
```
For complete documentation, see **[COMPILE_QUICKSTART.md](COMPILE_QUICKSTART.md)**