more scripts
This commit is contained in:
245
MINE/gBench.sh
Normal file
245
MINE/gBench.sh
Normal file
@@ -0,0 +1,245 @@
|
||||
#!/bin/bash
|
||||
# GMiner algorithm test script - save as test_gminer.sh
|
||||
|
||||
# Default docker image (can be overridden with parameter)
|
||||
DOCKER_IMAGE=${1:-"amdopencl"}
|
||||
# amd-strix-halo-llama-rocm
|
||||
#amd-strix-halo-llama-vulkan-radv
|
||||
# amd-strix-halo-llama-vulkan-amdvlk
|
||||
|
||||
BTC_WALLET="bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j"
|
||||
|
||||
# Algorithm to coin mapping
|
||||
declare -A ALGO_COINS=(
|
||||
["ethash"]="ETH"
|
||||
["etchash"]="ETC"
|
||||
["autolykos2"]="ERG"
|
||||
["ergo"]="ERG"
|
||||
["equihash125_4"]="ZEL"
|
||||
["equihash144_5"]="ZEL"
|
||||
["equihash192_7"]="ZEL"
|
||||
["equihash210_9"]="ZEL"
|
||||
["beamhash"]="BEAM"
|
||||
["cuckaroo29"]="GRIN"
|
||||
["cuckatoo32"]="GRIN"
|
||||
["flux"]="FLUX"
|
||||
["octopus"]="CFX"
|
||||
)
|
||||
|
||||
# Function to fetch current cryptocurrency prices
|
||||
fetch_prices() {
|
||||
echo "Fetching current cryptocurrency prices..."
|
||||
|
||||
# Use CoinGecko API to get current prices
|
||||
local api_url="https://api.coingecko.com/api/v3/simple/price?ids=ethereum,ethereum-classic,ergo,zelcash,beam,grin,flux,conflux&vs_currencies=usd"
|
||||
|
||||
# Try to fetch prices with timeout and fallback
|
||||
local prices_json=$(timeout 10s curl -s "$api_url" 2>/dev/null)
|
||||
|
||||
if [[ -z "$prices_json" ]]; then
|
||||
echo "Warning: Could not fetch current prices, using fallback values"
|
||||
PRICES_ETH=3500.00
|
||||
PRICES_ETC=35.00
|
||||
PRICES_ERG=2.50
|
||||
PRICES_ZEL=0.15
|
||||
PRICES_BEAM=0.05
|
||||
PRICES_GRIN=0.05
|
||||
PRICES_FLUX=0.80
|
||||
PRICES_CFX=0.20
|
||||
return
|
||||
fi
|
||||
|
||||
# Parse JSON response and extract prices using jq if available, otherwise use grep
|
||||
if command -v jq &> /dev/null; then
|
||||
PRICES_ETH=$(echo "$prices_json" | jq -r '.ethereum.usd // "3500.00"')
|
||||
PRICES_ETC=$(echo "$prices_json" | jq -r '.ethereum-classic.usd // "35.00"')
|
||||
PRICES_ERG=$(echo "$prices_json" | jq -r '.ergo.usd // "2.50"')
|
||||
PRICES_ZEL=$(echo "$prices_json" | jq -r '.zelcash.usd // "0.15"')
|
||||
PRICES_BEAM=$(echo "$prices_json" | jq -r '.beam.usd // "0.05"')
|
||||
PRICES_GRIN=$(echo "$prices_json" | jq -r '.grin.usd // "0.05"')
|
||||
PRICES_FLUX=$(echo "$prices_json" | jq -r '.flux.usd // "0.80"')
|
||||
PRICES_CFX=$(echo "$prices_json" | jq -r '.conflux.usd // "0.20"')
|
||||
else
|
||||
# Fallback to grep parsing
|
||||
PRICES_ETH=$(echo "$prices_json" | grep -o '"ethereum":{"usd":[0-9]*\.[0-9]*' | grep -o '[0-9]*\.[0-9]*$' || echo "3500.00")
|
||||
PRICES_ETC=$(echo "$prices_json" | grep -o '"ethereum-classic":{"usd":[0-9]*\.[0-9]*' | grep -o '[0-9]*\.[0-9]*$' || echo "35.00")
|
||||
PRICES_ERG=$(echo "$prices_json" | grep -o '"ergo":{"usd":[0-9]*\.[0-9]*' | grep -o '[0-9]*\.[0-9]*$' || echo "2.50")
|
||||
PRICES_ZEL=$(echo "$prices_json" | grep -o '"zelcash":{"usd":[0-9]*\.[0-9]*' | grep -o '[0-9]*\.[0-9]*$' || echo "0.15")
|
||||
PRICES_BEAM=$(echo "$prices_json" | grep -o '"beam":{"usd":[0-9]*\.[0-9]*' | grep -o '[0-9]*\.[0-9]*$' || echo "0.05")
|
||||
PRICES_GRIN=$(echo "$prices_json" | grep -o '"grin":{"usd":[0-9]*\.[0-9]*' | grep -o '[0-9]*\.[0-9]*$' || echo "0.05")
|
||||
PRICES_FLUX=$(echo "$prices_json" | grep -o '"flux":{"usd":[0-9]*\.[0-9]*' | grep -o '[0-9]*\.[0-9]*$' || echo "0.80")
|
||||
PRICES_CFX=$(echo "$prices_json" | grep -o '"conflux":{"usd":[0-9]*\.[0-9]*' | grep -o '[0-9]*\.[0-9]*$' || echo "0.20")
|
||||
fi
|
||||
|
||||
echo "Current prices fetched successfully:"
|
||||
echo " ETH: $PRICES_ETH"
|
||||
echo " ETC: $PRICES_ETC"
|
||||
echo " ERG: $PRICES_ERG"
|
||||
echo " ZEL: $PRICES_ZEL"
|
||||
echo " BEAM: $PRICES_BEAM"
|
||||
echo " GRIN: $PRICES_GRIN"
|
||||
echo " FLUX: $PRICES_FLUX"
|
||||
echo " CFX: $PRICES_CFX"
|
||||
echo ""
|
||||
}
|
||||
|
||||
# GMiner supported algorithms
|
||||
ALGOS=(
|
||||
"ethash"
|
||||
"etchash"
|
||||
"autolykos2"
|
||||
"equihash125_4"
|
||||
"equihash144_5"
|
||||
"equihash192_7"
|
||||
"equihash210_9"
|
||||
"beamhash"
|
||||
"cuckaroo29"
|
||||
"cuckatoo32"
|
||||
"flux"
|
||||
"octopus"
|
||||
"ergo"
|
||||
)
|
||||
|
||||
echo "=== GMiner Algorithm Tests ==="
|
||||
echo "Using BTC wallet: $BTC_WALLET"
|
||||
echo "Using Docker image: $DOCKER_IMAGE"
|
||||
echo "Testing each algorithm for 30 seconds..."
|
||||
echo "======================================="
|
||||
|
||||
# Fetch current prices at startup
|
||||
fetch_prices
|
||||
|
||||
# Function to calculate USD value
|
||||
calculate_usd_reward() {
|
||||
local algo=$1
|
||||
local hashrate=$2
|
||||
local coin=${ALGO_COINS[$algo]}
|
||||
|
||||
# Get price based on coin
|
||||
local price=0
|
||||
case $coin in
|
||||
"ETH") price=$PRICES_ETH ;;
|
||||
"ETC") price=$PRICES_ETC ;;
|
||||
"ERG") price=$PRICES_ERG ;;
|
||||
"ZEL") price=$PRICES_ZEL ;;
|
||||
"BEAM") price=$PRICES_BEAM ;;
|
||||
"GRIN") price=$PRICES_GRIN ;;
|
||||
"FLUX") price=$PRICES_FLUX ;;
|
||||
"CFX") price=$PRICES_CFX ;;
|
||||
*) echo "Unknown" && return ;;
|
||||
esac
|
||||
|
||||
if [[ -z "$price" || "$price" == "0" ]]; then
|
||||
echo "Unknown"
|
||||
return
|
||||
fi
|
||||
|
||||
# Rough calculation: hashrate * price * 0.000001 (simplified)
|
||||
local usd_value=$(echo "$hashrate * $price * 0.000001" | bc -l 2>/dev/null)
|
||||
printf "%.2f" $usd_value 2>/dev/null || echo "Unknown"
|
||||
}
|
||||
|
||||
# Function to extract hashrate from miner output
|
||||
extract_hashrate() {
|
||||
local output="$1"
|
||||
|
||||
# Look for common hashrate patterns in GMiner output
|
||||
local hashrate=$(echo "$output" | grep -oE "[0-9]+\.[0-9]+ [KMGT]?H/s" | tail -1 | grep -oE "[0-9]+\.[0-9]+" | tail -1)
|
||||
|
||||
# If no decimal found, look for integer hashrates
|
||||
if [[ -z "$hashrate" ]]; then
|
||||
hashrate=$(echo "$output" | grep -oE "[0-9]+ [KMGT]?H/s" | tail -1 | grep -oE "[0-9]+" | tail -1)
|
||||
fi
|
||||
|
||||
# If still no hashrate found, look for any number followed by H/s
|
||||
if [[ -z "$hashrate" ]]; then
|
||||
hashrate=$(echo "$output" | grep -oE "[0-9]+[\.]?[0-9]* H/s" | tail -1 | grep -oE "[0-9]+[\.]?[0-9]*" | tail -1)
|
||||
fi
|
||||
|
||||
# If still no hashrate, look for "Speed:" patterns
|
||||
if [[ -z "$hashrate" ]]; then
|
||||
hashrate=$(echo "$output" | grep -i "speed:" | tail -1 | grep -oE "[0-9]+[\.]?[0-9]*" | tail -1)
|
||||
fi
|
||||
|
||||
# If still no hashrate, look for any number followed by H/s (case insensitive)
|
||||
if [[ -z "$hashrate" ]]; then
|
||||
hashrate=$(echo "$output" | grep -ioE "[0-9]+[\.]?[0-9]* h/s" | tail -1 | grep -oE "[0-9]+[\.]?[0-9]*" | tail -1)
|
||||
fi
|
||||
|
||||
echo "$hashrate"
|
||||
}
|
||||
|
||||
for algo in "${ALGOS[@]}"; do
|
||||
echo ""
|
||||
echo "Testing: $algo"
|
||||
echo "------------------------"
|
||||
|
||||
case $algo in
|
||||
"ethash")
|
||||
output=$(sudo docker exec -it $DOCKER_IMAGE timeout 35s bash -c "/mnt/dl/gminer/miner --algo $algo --server eth.2miners.com:2020 --user '$BTC_WALLET' --pass x" 2>&1)
|
||||
;;
|
||||
"etchash")
|
||||
output=$(sudo docker exec -it $DOCKER_IMAGE timeout 35s bash -c "/mnt/dl/gminer/miner --algo $algo --server etc.2miners.com:1010 --user '$BTC_WALLET' --pass x" 2>&1)
|
||||
;;
|
||||
"autolykos2"|"ergo")
|
||||
output=$(sudo docker exec -it $DOCKER_IMAGE timeout 35s bash -c "/mnt/dl/gminer/miner --algo autolykos2 --server ergo.2miners.com:8888 --user '$BTC_WALLET' --pass x" 2>&1)
|
||||
;;
|
||||
"equihash125_4")
|
||||
output=$(sudo docker exec -it $DOCKER_IMAGE timeout 35s bash -c "/mnt/dl/gminer/miner --algo $algo --server zel.2miners.com:9090 --user '$BTC_WALLET' --pass x" 2>&1)
|
||||
;;
|
||||
"equihash144_5")
|
||||
output=$(sudo docker exec -it $DOCKER_IMAGE timeout 35s bash -c "/mnt/dl/gminer/miner --algo $algo --server zel.2miners.com:9090 --user '$BTC_WALLET' --pass x" 2>&1)
|
||||
;;
|
||||
"equihash192_7")
|
||||
output=$(sudo docker exec -it $DOCKER_IMAGE timeout 35s bash -c "/mnt/dl/gminer/miner --algo $algo --server zel.2miners.com:9090 --user '$BTC_WALLET' --pass x" 2>&1)
|
||||
;;
|
||||
"equihash210_9")
|
||||
output=$(sudo docker exec -it $DOCKER_IMAGE timeout 35s bash -c "/mnt/dl/gminer/miner --algo $algo --server zel.2miners.com:9090 --user '$BTC_WALLET' --pass x" 2>&1)
|
||||
;;
|
||||
"beamhash")
|
||||
output=$(sudo docker exec -it $DOCKER_IMAGE timeout 35s bash -c "/mnt/dl/gminer/miner --algo $algo --server beam.2miners.com:5252 --user '$BTC_WALLET' --pass x" 2>&1)
|
||||
;;
|
||||
"cuckaroo29")
|
||||
output=$(sudo docker exec -it $DOCKER_IMAGE timeout 35s bash -c "/mnt/dl/gminer/miner --algo $algo --server grin.2miners.com:3030 --user '$BTC_WALLET' --pass x" 2>&1)
|
||||
;;
|
||||
"cuckatoo32")
|
||||
output=$(sudo docker exec -it $DOCKER_IMAGE timeout 35s bash -c "/mnt/dl/gminer/miner --algo $algo --server grin.2miners.com:3030 --user '$BTC_WALLET' --pass x" 2>&1)
|
||||
;;
|
||||
"flux")
|
||||
output=$(sudo docker exec -it $DOCKER_IMAGE timeout 35s bash -c "/mnt/dl/gminer/miner --algo $algo --server flux.2miners.com:2020 --user '$BTC_WALLET' --pass x" 2>&1)
|
||||
;;
|
||||
"octopus")
|
||||
output=$(sudo docker exec -it $DOCKER_IMAGE timeout 35s bash -c "/mnt/dl/gminer/miner --algo $algo --server cfx.2miners.com:3254 --user '$BTC_WALLET' --pass x" 2>&1)
|
||||
;;
|
||||
*)
|
||||
echo "No specific pool configured for $algo - skipping"
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
exit_code=$?
|
||||
|
||||
# Extract hashrate and calculate USD value
|
||||
hashrate=$(extract_hashrate "$output")
|
||||
coin=${ALGO_COINS[$algo]}
|
||||
usd_value=$(calculate_usd_reward "$algo" "$hashrate")
|
||||
|
||||
if [ $exit_code -eq 0 ]; then
|
||||
echo "SUCCESS: $algo - Hashrate: ${hashrate}H/s - Coin: $coin - Est. USD/day: $usd_value"
|
||||
elif [ $exit_code -eq 124 ]; then
|
||||
echo "TIMEOUT: $algo - Hashrate: ${hashrate}H/s - Coin: $coin - Est. USD/day: $usd_value (likely working)"
|
||||
else
|
||||
echo "FAILED: $algo - Error code: $exit_code"
|
||||
# Debug: show first few lines of output for failed attempts
|
||||
echo "Debug output (first 5 lines):"
|
||||
echo "$output" | head -5
|
||||
fi
|
||||
|
||||
sleep 3
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "=== GMiner Tests Complete ==="
|
||||
echo "Usage: $0 [docker_image_name]"
|
||||
echo "Default: amdopencl"
|
||||
echo "Example for RockM: $0 rockm"
|
29
MINE/lolBench.sh
Normal file
29
MINE/lolBench.sh
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
# lolMiner benchmark script - save as bench_lolminer.sh
|
||||
|
||||
ALGOS=("ETHASH" "ETCHASH" "AUTOLYKOS2" "BEAM-III" "EQUIHASH144_5" "EQUIHASH192_7" "EQUIHASH210_9" "FLUX" "NEXA" "PROGPOW" "PROGPOWZ" "PROGPOW_VERIBLOCK" "PROGPOW_VEIL" "TON")
|
||||
|
||||
echo "=== lolMiner Algorithm Benchmark ==="
|
||||
echo "Testing each algorithm for 15 seconds..."
|
||||
echo "====================================="
|
||||
|
||||
for algo in "${ALGOS[@]}"; do
|
||||
echo ""
|
||||
echo "Testing: $algo"
|
||||
echo "------------------------"
|
||||
|
||||
sudo docker exec -it amdopencl timeout 20s bash -c "mnt/dl/lol.1.97/lolMiner --algo $algo --benchmark --benchepochs 1 --benchwarmup 5" 2>/dev/null
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ $algo: WORKS"
|
||||
elif [ $? -eq 124 ]; then
|
||||
echo "⏱️ $algo: TIMEOUT (likely working)"
|
||||
else
|
||||
echo "❌ $algo: FAILED"
|
||||
fi
|
||||
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "=== Benchmark Complete ==="
|
@@ -1,87 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Memory Optimization Script for AMD Strix Halo Mining
|
||||
# Analyzes current memory allocation and provides optimization recommendations
|
||||
|
||||
echo "=== AMD Strix Halo Memory Analysis ==="
|
||||
echo ""
|
||||
|
||||
# Check current memory usage
|
||||
echo "Current Memory Status:"
|
||||
echo "======================"
|
||||
free -h
|
||||
echo ""
|
||||
|
||||
# Check GPU memory allocation
|
||||
echo "GPU Memory Allocation:"
|
||||
echo "======================"
|
||||
if [ -f "/sys/class/drm/card1/device/mem_info_vram_total" ]; then
|
||||
GPU_TOTAL=$(sudo cat /sys/class/drm/card1/device/mem_info_vram_total)
|
||||
GPU_USED=$(sudo cat /sys/class/drm/card1/device/mem_info_vram_used)
|
||||
|
||||
GPU_TOTAL_GB=$((GPU_TOTAL / 1024 / 1024 / 1024))
|
||||
GPU_USED_GB=$((GPU_USED / 1024 / 1024 / 1024))
|
||||
GPU_WASTED_GB=$((GPU_TOTAL_GB - GPU_USED_GB))
|
||||
|
||||
echo "Total GPU VRAM allocated: ${GPU_TOTAL_GB}GB"
|
||||
echo "GPU VRAM actually used: ${GPU_USED_GB}GB"
|
||||
echo "GPU VRAM wasted: ${GPU_WASTED_GB}GB"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Check current kernel parameters
|
||||
echo "Current Kernel Parameters:"
|
||||
echo "========================="
|
||||
cat /proc/cmdline | grep -o "amdgpu\.[^ ]*" | head -5
|
||||
echo ""
|
||||
|
||||
# Check if huge pages are available
|
||||
echo "Huge Pages Status:"
|
||||
echo "=================="
|
||||
if [ -f "/proc/sys/vm/nr_hugepages" ]; then
|
||||
NR_HUGEPAGES=$(cat /proc/sys/vm/nr_hugepages)
|
||||
HUGEPAGES_FREE=$(cat /proc/sys/vm/free_hugepages)
|
||||
echo "Total huge pages: ${NR_HUGEPAGES}"
|
||||
echo "Free huge pages: ${HUGEPAGES_FREE}"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Recommendations
|
||||
echo "Optimization Recommendations:"
|
||||
echo "============================"
|
||||
echo "1. GPU Memory Reduction:"
|
||||
echo " - Current: 96GB allocated, only 1.6GB used"
|
||||
echo " - Recommendation: Reduce to 4-8GB in BIOS/UEFI"
|
||||
echo " - Potential gain: +5-10% mining performance"
|
||||
echo ""
|
||||
echo "2. Kernel Parameters:"
|
||||
echo " - Current: amdgpu.gttsize=131072 (128GB)"
|
||||
echo " - Recommended: amdgpu.gttsize=32768 (32GB)"
|
||||
echo " - Add to /etc/default/grub: GRUB_CMDLINE_LINUX_DEFAULT=\"... amdgpu.gttsize=32768\""
|
||||
echo ""
|
||||
echo "3. Huge Pages:"
|
||||
echo " - Current: ${NR_HUGEPAGES} total, ${HUGEPAGES_FREE} free"
|
||||
echo " - Recommendation: Ensure at least 32 huge pages available for mining"
|
||||
echo ""
|
||||
echo "4. Expected Performance Improvement:"
|
||||
echo " - Current best: 14,728.4 H/s"
|
||||
echo " - With memory optimization: ~15,500-16,000 H/s (+5-8%)"
|
||||
echo ""
|
||||
|
||||
# Check if optimization is possible
|
||||
if [ "$GPU_WASTED_GB" -gt 80 ]; then
|
||||
echo "⚠️ SIGNIFICANT OPTIMIZATION OPPORTUNITY DETECTED"
|
||||
echo " ${GPU_WASTED_GB}GB of GPU memory is wasted!"
|
||||
echo " This could be reallocated to improve CPU mining performance."
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo "To apply kernel parameter changes:"
|
||||
echo "1. Edit /etc/default/grub"
|
||||
echo "2. Add amdgpu.gttsize=32768 to GRUB_CMDLINE_LINUX_DEFAULT"
|
||||
echo "3. Run: sudo update-grub"
|
||||
echo "4. Reboot system"
|
||||
echo ""
|
||||
echo "Note: Test mining performance after each change to verify improvements."
|
||||
|
||||
|
@@ -1,92 +0,0 @@
|
||||
# Mining Performance Tests in Containers
|
||||
|
||||
## Test Results Summary
|
||||
|
||||
### Original Performance
|
||||
- **Original xmrig performance**: ~12,000 H/s
|
||||
|
||||
### Container Performance Tests
|
||||
|
||||
#### 1. ROCm Container (`amd-strix-halo-llama-rocm`)
|
||||
- **28 threads**: 14,084.2 H/s
|
||||
- **32 threads**: 14,728.4 H/s ⭐ **BEST PERFORMANCE**
|
||||
- **31 threads**: 14,233.6 H/s
|
||||
|
||||
#### 2. AMD OpenCL Container (`amdopencl`)
|
||||
- **28 threads**: 14,020.0 H/s
|
||||
|
||||
#### 3. Vulkan Containers
|
||||
- **amd-strix-halo-llama-vulkan-amdvlk**: No OpenCL support
|
||||
- **amd-strix-halo-llama-vulkan-radv**: No OpenCL support
|
||||
|
||||
### Memory Allocation Tests
|
||||
|
||||
#### Current System Memory
|
||||
- **Total RAM**: 30GB
|
||||
- **GPU VRAM allocated**: 96GB (only ~1.6GB used)
|
||||
- **Available for CPU**: ~21GB
|
||||
|
||||
#### Memory Pool Optimization Tests
|
||||
- **Default (no memory pool)**: 14,728.4 H/s ⭐ **BEST**
|
||||
- **--cpu-memory-pool=-1 (auto)**: 14,679.9 H/s
|
||||
- **--cpu-memory-pool=16**: 14,059.0 H/s
|
||||
- **--cpu-memory-pool=32**: 14,000.1 H/s
|
||||
- **--randomx-1gb-pages**: 14,612.1 H/s (failed to allocate 1GB pages)
|
||||
|
||||
### GPU Mining Attempts
|
||||
|
||||
#### TeamRedMiner (AMD GPU Miner)
|
||||
- **ROCm container**: Failed - "Failed to list OpenCL platforms"
|
||||
- **AMD OpenCL container**: Failed - "unknown device name: 'gfx1151'"
|
||||
- **Issue**: RDNA 3 GPU (gfx1151) not supported by TeamRedMiner v0.10.21
|
||||
|
||||
#### lolMiner (GPU Miner)
|
||||
- **AMD OpenCL container**: Detected GPU but "Unsupported device or driver version"
|
||||
- **Vulkan containers**: No OpenCL support
|
||||
- **Issue**: RDNA 3 GPU not supported by lolMiner v1.82
|
||||
|
||||
## Optimal Configuration
|
||||
|
||||
**Best performance achieved**: **14,728.4 H/s** (22.7% improvement over original)
|
||||
|
||||
**Recommended setup**:
|
||||
- **Container**: `amd-strix-halo-llama-rocm`
|
||||
- **Threads**: 32
|
||||
- **Memory pool**: Default (no memory pool parameter)
|
||||
- **Command**:
|
||||
```bash
|
||||
./xmrig -o pool.supportxmr.com:443 -u bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j -p NUC --tls -t 32
|
||||
```
|
||||
|
||||
## Memory Allocation Analysis
|
||||
|
||||
### Current GPU Memory Usage
|
||||
- **Allocated**: 96GB VRAM
|
||||
- **Actually used**: ~1.6GB
|
||||
- **Wasted**: ~94GB
|
||||
|
||||
### Impact on Mining Performance
|
||||
- **Reducing GPU memory allocation**: Would free up significant RAM for CPU
|
||||
- **Current CPU memory usage**: ~12-13GB during mining
|
||||
- **Potential improvement**: Could potentially improve performance by 5-10% with more RAM available
|
||||
|
||||
### Recommendations for Memory Optimization
|
||||
1. **BIOS/UEFI Settings**: Check if GPU memory allocation can be reduced in BIOS
|
||||
2. **Kernel Parameters**: Consider adding `amdgpu.gttsize=32768` to reduce GPU memory
|
||||
3. **Current kernel params**: Already has `amdgpu.gttsize=131072` (128GB) - could be reduced
|
||||
|
||||
## Notes
|
||||
|
||||
1. **GPU mining not viable**: Current GPU miners don't support the AMD Strix Halo RDNA 3 GPU (gfx1151)
|
||||
2. **CPU mining optimized**: Container environment provides better performance than native
|
||||
3. **Thread optimization**: 32 threads provides the best performance for this CPU
|
||||
4. **Memory usage**: ~6.5GB RAM used for mining with 32 threads
|
||||
5. **Memory pool**: Default settings work best - manual memory pool configuration reduces performance
|
||||
6. **GPU memory waste**: 96GB allocated to GPU but only 1.6GB used - significant optimization opportunity
|
||||
|
||||
## Future Considerations
|
||||
|
||||
- Monitor for GPU miner updates that support RDNA 3 GPUs
|
||||
- Consider trying newer versions of miners when available
|
||||
- The ROCm container provides the best environment for CPU mining
|
||||
- **Memory optimization priority**: Reduce GPU memory allocation to free up RAM for CPU operations
|
@@ -29,6 +29,17 @@ sudo docker exec -it amd-strix-halo-llama-rocm bash -c "/mnt/dl/xmrig-6.21.0/xmr
|
||||
curl -s "http://api.moneroocean.stream/miner/47tJRLX5UgK59VmRsN1L7AgcQNZYNBhJ5Lv7Jt4KEViS8WEbCf4hPGcM78rRLcS9xmgbbJdwHzbvjA1mJiKixtX3Q8iiBgu/stats"
|
||||
|
||||
|
||||
|
||||
|
||||
# Test with lolMiner
|
||||
sudo docker exec -it amdopencl timeout 35s bash -c "/mnt/dl/lol.1.97/lolMiner --algo RINHASH --pool rinhash.mine.zergpool.com:7148 --user bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --pass c=RIN"
|
||||
|
||||
sudo docker exec -it amdopencl bash -c "/home/db/Downloads/gminer/miner --algo kawpow --server kawpow.mine.zergpool.com:3638 --user bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --pass c=BTC"
|
||||
|
||||
/home/db/Downloads/gminer
|
||||
|
||||
/home/db/Downloads/gminer/miner --algo kawpow --server kawpow.mine.zergpool.com:3638 --user bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --pass c=BTC
|
||||
|
||||
<!-- BTC PAYOUTS -->
|
||||
# Check Unmineable balance
|
||||
curl -s "https://api.unmineable.com/v4/address/bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j?coin=BTC"
|
||||
@@ -42,10 +53,10 @@ sudo docker exec -it amd-strix-halo-llama-rocm bash -c "/mnt/dl/xmrig-6.21.0/xmr
|
||||
SRBMiner-MULTI --algorithm progpow_zano --pool zano.herominers.com:1112 --wallet bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --worker StrixHalo
|
||||
|
||||
<!-- lol, all containers -->
|
||||
sudo docker exec -it amd-strix-halo-llama-rocm bash -c "/mnt/dl/1.97/lolMiner --algo FISHHASH --pool ironfish.unmineable.com:3333 --user BTC:bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --worker StrixHalo"
|
||||
sudo docker exec -it amd-strix-halo-llama-vulkan-radv bash -c "/mnt/dl/1.97/lolMiner --algo FISHHASH --pool ironfish.unmineable.com:3333 --user BTC:bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --worker StrixHalo"
|
||||
sudo docker exec -it amd-strix-halo-llama-vulkan-amdvlk bash -c "/mnt/dl/1.97/lolMiner --algo FISHHASH --pool ironfish.unmineable.com:3333 --user BTC:bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --worker StrixHalo"
|
||||
sudo docker exec -it amdopencl bash -c "/mnt/dl/1.97/lolMiner --algo FISHHASH --pool ironfish.unmineable.com:3333 --user BTC:bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --worker StrixHalo"
|
||||
sudo docker exec -it amd-strix-halo-llama-rocm bash -c "/mnt/dl/lol.1.97/lolMiner --algo FISHHASH --pool ironfish.unmineable.com:3333 --user BTC:bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --worker StrixHalo"
|
||||
sudo docker exec -it amd-strix-halo-llama-vulkan-radv bash -c "/mnt/dl/lol.1.97/lolMiner --algo FISHHASH --pool ironfish.unmineable.com:3333 --user BTC:bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --worker StrixHalo"
|
||||
sudo docker exec -it amd-strix-halo-llama-vulkan-amdvlk bash -c "/mnt/dl/lol.1.97/lolMiner --algo FISHHASH --pool ironfish.unmineable.com:3333 --user BTC:bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --worker StrixHalo"
|
||||
sudo docker exec -it amdopencl bash -c "/mnt/dl/lol.1.97/lolMiner --algo FISHHASH --pool ironfish.unmineable.com:3333 --user BTC:bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --worker StrixHalo"
|
||||
|
||||
|
||||
# Start with IronFish (most profitable supported)
|
||||
@@ -54,6 +65,11 @@ sudo docker exec -it amdopencl bash -c "/mnt/dl/1.97/lolMiner --algo FISHHASH --
|
||||
# Or safer option with Ergo
|
||||
./lolMiner --algo AUTOLYKOS2 --pool ergo.unmineable.com:3333 --user BTC:bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j --worker StrixHalo
|
||||
|
||||
|
||||
# GPU:
|
||||
sudo docker exec -it amdopencl bash -c "/mnt/dl/gminer/miner --algo equihash125_4 --server 34.111.218.189:9200 --user 'bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j' --pass x"
|
||||
|
||||
|
||||
-------------------------
|
||||
To run this as a service (keep mining in background):
|
||||
|
||||
|
@@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Optimal Monero Mining Script for AMD Strix Halo
|
||||
# Best performance: 14,728.4 H/s (17.3% improvement over native)
|
||||
|
||||
echo "Starting optimal Monero mining in ROCm container..."
|
||||
echo "Expected performance: ~14,700 H/s"
|
||||
echo ""
|
||||
|
||||
# Check if container is running
|
||||
if ! sudo docker ps | grep -q "amd-strix-halo-llama-rocm"; then
|
||||
echo "Error: amd-strix-halo-llama-rocm container is not running!"
|
||||
echo "Please start the container first."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Copy xmrig to container if not already there
|
||||
echo "Setting up xmrig in container..."
|
||||
sudo docker exec amd-strix-halo-llama-rocm test -f /tmp/xmrig-6.21.0/xmrig || {
|
||||
echo "Copying xmrig to container..."
|
||||
sudo docker cp /home/db/Downloads/xmrig-6.21.0 amd-strix-halo-llama-rocm:/tmp/
|
||||
}
|
||||
|
||||
# Run the optimal mining configuration
|
||||
echo "Starting mining with optimal settings (32 threads)..."
|
||||
echo "Expected performance: ~14,700 H/s"
|
||||
echo "Press Ctrl+C to stop mining"
|
||||
echo ""
|
||||
|
||||
sudo docker exec -it amd-strix-halo-llama-rocm bash -c "cd /tmp/xmrig-6.21.0 && ./xmrig -o pool.supportxmr.com:443 -u bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j -p NUC --tls -t 32"
|
||||
|
||||
|
@@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Quick Performance Test Script
|
||||
# Tests mining performance for 60 seconds
|
||||
|
||||
echo "Quick Performance Test (60 seconds)"
|
||||
echo "Testing optimal configuration in ROCm container..."
|
||||
echo ""
|
||||
|
||||
# Check if container is running
|
||||
if ! sudo docker ps | grep -q "amd-strix-halo-llama-rocm"; then
|
||||
echo "Error: amd-strix-halo-llama-rocm container is not running!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Ensure xmrig is available
|
||||
sudo docker exec amd-strix-halo-llama-rocm test -f /tmp/xmrig-6.21.0/xmrig || {
|
||||
echo "Copying xmrig to container..."
|
||||
sudo docker cp /home/db/Downloads/xmrig-6.21.0 amd-strix-halo-llama-rocm:/tmp/
|
||||
}
|
||||
|
||||
echo "Starting 60-second performance test..."
|
||||
echo "Expected performance: ~14,700 H/s"
|
||||
echo ""
|
||||
|
||||
# Run test for 60 seconds
|
||||
sudo docker exec amd-strix-halo-llama-rocm bash -c "cd /tmp/xmrig-6.21.0 && timeout 60s ./xmrig -o pool.supportxmr.com:443 -u bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j -p NUC --tls -t 32"
|
||||
|
||||
echo ""
|
||||
echo "Performance test completed!"
|
||||
|
||||
|
54
MINE/zergBench.sh
Normal file
54
MINE/zergBench.sh
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
# Test top Zergpool algorithms - save as test_zergpool.sh
|
||||
|
||||
BTC_WALLET="bc1qjn4m6rmrveuxhk02a5qhe4r6kdcsvvt3vhdn9j"
|
||||
|
||||
echo "=== Testing Top Zergpool Algorithms ==="
|
||||
echo "Wallet: $BTC_WALLET"
|
||||
echo "======================================"
|
||||
|
||||
# Top algorithms by profitability
|
||||
declare -A algos=(
|
||||
["rinhash"]="rinhash.mine.zergpool.com:7148 c=RIN"
|
||||
["kawpow"]="kawpow.mine.zergpool.com:3638 c=BTC"
|
||||
["evrprogpow"]="evrprogpow.mine.zergpool.com:3002 c=BTC"
|
||||
["equihash125_4"]="equihash.mine.zergpool.com:2142 c=BTC"
|
||||
["karlsenhashv2"]="karlsenhashv2.mine.zergpool.com:3200 c=BTC"
|
||||
)
|
||||
|
||||
for algo in "${!algos[@]}"; do
|
||||
echo ""
|
||||
echo "Testing: $algo"
|
||||
echo "------------------------"
|
||||
|
||||
# Parse config
|
||||
read -r server pass <<< "${algos[$algo]}"
|
||||
|
||||
echo "Server: $server"
|
||||
echo "Testing for 30 seconds..."
|
||||
|
||||
sudo docker exec -it amdopencl timeout 35s bash -c "/mnt/dl/gminer/miner --algo $algo --server $server --user '$BTC_WALLET' --pass '$pass'"
|
||||
|
||||
result=$?
|
||||
if [ $result -eq 0 ]; then
|
||||
echo "✅ $algo: SUCCESS"
|
||||
elif [ $result -eq 124 ]; then
|
||||
echo "⏱️ $algo: TIMEOUT (likely working)"
|
||||
else
|
||||
echo "❌ $algo: FAILED - trying alternative miner..."
|
||||
|
||||
# Try lolMiner for failed algorithms
|
||||
sudo docker exec -it amdopencl timeout 35s bash -c "/mnt/dl/lolMiner_v1.88_Lin64/lolMiner --algo ${algo^^} --pool $server --user '$BTC_WALLET' --pass '$pass'" 2>/dev/null
|
||||
|
||||
if [ $? -eq 124 ]; then
|
||||
echo "⏱️ $algo: WORKS with lolMiner"
|
||||
else
|
||||
echo "❌ $algo: Not supported"
|
||||
fi
|
||||
fi
|
||||
|
||||
sleep 3
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "=== Zergpool Testing Complete ==="
|
Reference in New Issue
Block a user