CUDA Optimization for Ethereum Mining

Project details

As part of a collaborative effort with a team of PhDs led by Dr. Dmitry Mikushin, I worked on improving the hash rate of open-source Ethereum PoW (ETHW) cryptocurrency miner, implemented in CUDA. Our objective was to push the performance of the miner closer to that of top-tier commercial solutions.

My primary role involved profiling and optimizing the existing CUDA code using NVIDIA's Nsight Systems and Nsight Compute tools. Through detailed performance analysis, I identified key bottlenecks in kernel execution and memory access patterns. I then applied a range of low-level optimizations at kernel level to enhance GPU efficiency.

These efforts led to a mining hash rate speedup of approximately 0.5%, placing our miner’s performance within 0.5% of the T-Rex miner, one of the best commercial Ethereum mining solutions available at the time.


Responsibilities and Achievements

  • Profiled and optimized the CUDA code by using NVIDIA profiling tools; Nsight Systems and Nsight Compute
  • Achieved speedup of 0.5% of the mining hash-rate. This is within 0.5% of one of the best commercial Ethereum miner, T-Rex

Tech Stack and Skills

Programming frameworks and tools:
  • C++, Nvidia CUDA, Nvidia Nsight Systems, Nvidia Nsight Compute, Git, CMake, Linux
Skills:
  • Parallel Programming, GPU Programming, CUDA Optimization, Performance Profiling & Bottleneck Analysis
C++
C++
CUDA
CUDA
Nsight Systems
Nsight Systems
Nsight Compute
Nsight Compute
CMake
CMake
Git
Git
Linux
Linux