60 lines
1.6 KiB
Docker
60 lines
1.6 KiB
Docker
# Dockerfile for building RinHash CUDA implementation on Linux
|
|
FROM nvidia/cuda:12.2-devel-ubuntu22.04
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install build tools and dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
build-essential \
|
|
cmake \
|
|
git \
|
|
wget \
|
|
curl \
|
|
pkg-config \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create build directory
|
|
WORKDIR /build
|
|
|
|
# Copy source files
|
|
COPY gpu/RinHash-cuda/ /build/
|
|
|
|
# Build the CUDA implementation
|
|
RUN mkdir -p bin && \
|
|
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
|
|
|
|
# Build test program
|
|
RUN 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
|
|
|
|
# Create output directory for built binaries
|
|
RUN mkdir -p /output
|
|
|
|
# Default command to copy binaries to output
|
|
CMD ["sh", "-c", "cp bin/* /output/ && echo 'Build completed successfully! Binaries copied to /output/'"]
|