Accelerating Crypto-Currency Mining
Our client was an experimental spin-off of a technology investment company. Their vision was to analyse and engage with the most disruptive ideas in the crypto-currency domain. Our team was tasked with carrying out independent analysis of a particular crypto-currency's mining algorithm and to come up with suggestions on potential avenues on accelerating the process.
Unlike most problems where TechnoLynx engages in GPU acceleration projects, this time our analysis has uncovered that this problem is already not only well researched but also the available GPU implementations have rather high performance, in fact very close to saturating DRAM bandwidth limits.
As most likely avenues of further improvements, our team suggested to look at heuristic alternatives and also delivered a proof of concept to explore the viability of the idea. Later, in agreement with the client we turned our attention to performance bottlenecks that are not inherent to the mining algorithm, but rather to certain GPUs, and we carried out analysis of said hindrance as well as we have proposed attack vectors of mitigation.
For this project we mostly relied on C++ , CUDA and CMake when dealing with the GPUs, but we used scikit-learn and PyTorch to model heuristic approaches.
The client followed developments and recommendations coming from us as well as other consultants exploring this domain and they ultimately concluded that this angle may not be a most profitable investment in the end. Whilst being very happy with the working relationship and the deliverables too, they decided to terminate the project on mutually good terms.
May this case-study stand here as a testament, that sometimes it is more valuable to learn about the paths one would not want to pursue rather than persevering and making a costly mistake.