Post
Topic
Board Mining (Altcoins)
Re: [ANN]: cpuminer-opt v3.5.0, open source optimized multi-algo CPU miner
by
joblo
on 22/01/2017, 13:00:28 UTC
Is there a list of which of the algorithms use AVX and/or AVX2 on supported CPU's? The original post and readme say about 20 of the 40 support AVX2 but I can't find a list.

I'm mining XMR here, and I see the cryptonight algo doesn't support AVX. I assume it would be better if I mined a coin which has an algo which does take advantage of AVX instructions?

Code:
        **********  cpuminer-opt 3.5.0  ***********
     A CPU miner with multi algo support and optimized for CPUs
     with AES_NI and AVX extensions.
     BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
     Forked from TPruvot's cpuminer-multi with credits
     to Lucas Jones, elmad, palmd, djm34, pooler, ig0tik3d,
     Wolf0, Jeff Garzik and Optiminer.

CPU:        Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz
CPU features: SSE2 AES AVX
SW built on Jan 22 2017 with GCC 5.4.0
SW features: SSE2 AES AVX
Algo features: SSE2 AES
Start mining with SSE2 AES


I haven't made a list. You shouldn't choose an algo simply based on whether the algo has certain features. Choose it because
it's more profitable than other algos regardless of the features. Some algos are resistant to parallelism but it doesn't mean they
aren't as profitable as those that aren't.

Edit: Let me rewrite the last sentence from the opposite perspective. Some algos are able to use AVX but it doesn't necessarily
make them more profitable than those that are resistant.

In addition GPUs are better at parallelism so any algo that can be parallelized is dominated by GPUs or ASICs. The only real
advantage a CPU has is HW AES support. GPUs don't have it therefore any algo that uses a lot of AES has a natural advantage
on a CPU. Cryptonight is an example of an algo that uses a lot of AES.

Many newer algos have been designed to require high memory bandwidth. This creates challenges for both CPUs and GPUs
beyond their compute capability. Optimizing the compute performance won't improve the hash rate if the memory system
is already bottlenecked. That's what happened when I optimized zcoin for AVX2. Even before optimizing it maxed out with
only 3 CPU threads due to the memory load.