Yep, this is the best community I've ever seen with a coin!
Here is an explanation from the creator of JCE miner about the CPU vs GPU effectiveness of uPlexa's
Cryptonight algorithm, compared to other CN coins:
About the Athlon-FX, i'm about to release a CPU version with the backport of the Bulldozer fix and optim, as detected by Unclwish.
Compared to the 33j, it should give you a few extra hashes, on par with the older version 33h
Best CPU algo:
Some maths. The Cryptonight algo is made of three main parts, and a few negligible other:
* Explode
* Scratchpad
* Implode
The 1st and 3rd are simple AES rounds on predictable memory addresses. A non-AES cpu will make it slow, unless using JCE where it would be 35% faster, but still quite slow, and an AES Cpu like the Athlon-FX will make it almost instantly. An AES CPU is like an AES cypher ASIC.
GPU do these steps quite slow, because an EAS round on GPU involves dozens of computations and LDS memory accesses.
The step 2 is slow in both cases.
The CPU are overall very fast, but they compute something like 4, 8, 12 CN hashes at the same time, on a common CPU (ultra-pimped Threadrippers/Xeons of course can do 64 or more, JCE supports up to 256).
GPU do like 500 to 4000 at the same time, so they are overall more efficient.
The trick is to choose for CPU the biggest steps 1 and 3 and the smallest step 2.
The best algo for this are:
* Cryptonight MKT (slightly smaller step 2 than Monero)
* Cryptonight Fast/Masari (better, the step 2 is half of Monero)
* Uplexa (still better, the step 2 is quarter of Monero)
Also, while the normal cache allocation is 2M, Heavy-like algo (Ryo, Haven, Tube...) use 4M and Uplexa use 1M. GPU have such a large memory to work with that the difference is tight, in both case they use all their memory and computing power.
But modern CPUs tend to run out of cache (while old CPUs like Core2 had a lot of cache but lacked cores). Use a twice smaller cache allocation allows to use twice more cores, and often double the performance.
This is why mining Monero on CPU often makes it run at 50% or 66%, while mining on GPU always makes it run at 100%.
GPUs dont' run out of cache because they simply don't really use it (*), they rely on their fast memory. They are designed for this. A CPU has a much slower memory but a very efficient cache.
My advice: technically, mine uPlexa. Just i don't know if its market value will get good, but the algo is fine for CPU.
(*) A typical real-life GPU operation is blitting a 64M texture in a game. In such case, having 256K or 512K cache or even 16M cache is useless. This is why GPUs are designed to work with async uncached fast memory, while CPU are cached and sync.
edit:
Here's the 0.33k CPU Windows (linux comes next)
Very minor revision, with a fix for Bulldozer family on x64 for v8. No other change.
https://bitcointalksearch.org/topic/m.48858262