An Introdction to RandomX, Benchmarking tool and pool/solo mining

If you have come here from the RandomX GitHub please post questions and issues in this thread not the GitHub - I am more than willing to help with the config and setup.

If you are new here and found this place via RandomX, welcome to zcash. We too are a privacy centred coin. Take a look around and I hope you enjoy your stay.


Hi,

[Full disclosure I help out with TXChangeCoin. We have similar goals and they have saved me a ton of work - we have something even more exciting coming up - so I have no financial interest but I am on the team as it were.]

So now we have a working ubuntu usb, we have done some testing of the benchmark tool, and we can get a rough estimate of whats going on. What we really need is a real world example to test our hardware against.[update 28/07 - windows binaries are being worked on.]

There are a few projects that have already integrated randomx (loki and wownero) both of these have their own custom parameters for RandomX and are supported by the latest XMRIG.

I am going to concentrate on TXChangeCoin, the third coin I know of that had integrated RandomX, but uses one uses the default parameters - the same as the benchmarking tool, and most likley what Monero will be using in the October network update.

First a brief word about TXChangeCoin. - GitHub - txchangecoin-project/txchangecoin: Txchangecoin (TXX) is a cryptocurrency which focuses on being untraceable and private.

  • Their was no ICO/Premine,
  • there is no dev donation,
  • They do not court exchanges.
  • It is still under test so expect bugs, but everything does function.
  • We (the dev and I) are both enjoying playing with technology rather than chasing profits.
  • It is a great soak test for power consumption, noise, etc.
  • I have been running 3 servers on it for a bit. when you start mining let me know your address and I will send you some coins.
  • We are both doing this for free, so a thank you goes a long way.

I am going to do my ryzen testing via real mining on this pool. the basics are in here. full breakdown of ryzen mining to come.

So after setting up a test environment as outlined in the previous post, lets go from there. NOTE THE SETUP HAS CHANGED DUE TO A MISTAKE BY ME. PLESE USE YUMI TO CREATE YOUR PERSISTENCE

  • one advantage of linux that I have noticed, is it ignores the boost profile of the cpu and rather than boosting just 3 of my 6 cores it defaults to boosting them all to 3.7ghz

Here are the system specs for my ryzen 2600 build. We will quickly run through its stats, then the benchmarking tool, then a real mining pool.

dmidecode -t processor
CPU info for ryzen 2600
Processor Information
        Socket Designation: AM4
        Type: Central Processor
        Family: Zen
        Manufacturer: Advanced Micro Devices, Inc.
        ID: 82 0F 80 00 FF FB 8B 17
        Signature: Family 23, Model 8, Stepping 2
        Version: AMD Ryzen 5 2600 Six-Core Processor
        Voltage: 1.1 V
        External Clock: 100 MHz
        Max Speed: 3900 MHz
        Current Speed: 3400 MHz
        Status: Populated, Enabled
        Upgrade: Socket AM4
        Core Count: 6
        Core Enabled: 6
        Thread Count: 12

So the important bits to take are, 12 threads, and 6 true cores. so initial parameters of --init 12 --threads 6 looks good. lets check the cache

dmidecode -t cache
dmidecode -t cache

[code]
Handle 0x0010, DMI type 7, 19 bytes
Cache Information
Socket Designation: L1 - Cache
Installed Size: 576 kB
Maximum Size: 576 kB
Speed: 1 ns

Handle 0x0011, DMI type 7, 19 bytes
Cache Information
Socket Designation: L2 - Cache
Installed Size: 3072 kB
Maximum Size: 3072 kB
Speed: 1 ns

Handle 0x0012, DMI type 7, 19 bytes
Cache Information
Socket Designation: L3 - Cache
Installed Size: 16384 kB
Maximum Size: 16384 kB
Speed: 1 ns
/details-]

In summary, according to the info and the spec:

567kb of L1 cache (spec requires 16kb per thread)
3mb of L2 cache (spec requires 256kb per thread)
12mb of L3 - (spec requires 2mb per thread)

so

  • We have More L1 than needed,
  • More L2 than needed
  • it looks like L3 will limit us.

I have 3000mhz CL15 ram. when running under XMP. (I think it is 2133 rated, just high binned)
XMP is enabled for this first set of tests because I believe this will be the most common scenario, further testing and timing to follow in later posts.

XMP, is an overclocking profile set by the manufacture. It is a very good baseline for your ram. Manual overclocking will yield better results. (just checked and I think XMP was off but memory overclock was auto.)

lets check those threads and init parameters quickly in the benchmarking tool.

dont forget to enable large pages

sudo sysctl -w vm.nr_hugepages=1250
cd ~/rdx
./randomx-benchmark --mine --jit --largePages --init 12 --threads 6 --nonces 50000
output from benchmark

That is about expected. however 6,7,8 threads all over 100000 nonces (about a minute) all gave roughly the same hash. To test this further we need to
try real mining over a period of time. and their is a lot of room for improvement.

Thankfully the wonderful people at TXChangeCoin have already done this!

Compiling TXChainCoin from source, takes slightly longer but recommended because it is the easiest way on ubuntu. This runs fine off a usb stick. and it auto grabs the latest versions of randomx, etc.

The main project page is here - GitHub - txchangecoin-project/txchangecoin: Txchangecoin (TXX) is a cryptocurrency which focuses on being untraceable and private.

There is a windows GUI version that seems to have the daemon and wallet-cli functionality, but I have not had a chance to download this or even test it. We will be sticking with ubuntu. for the moment. I will get around to testing the GUI soon. lets get some coins mined and some transactions happening. :slight_smile:

You should do all this via a terminal.

Compile from Source

Now to double check have all the dependencies installed and in the right place. (a lot of these are already installed so will be auto skipped when trying to install again)
Note, we are installing screen. This will be used later.

We need to add the universe repository to get some of these.

sudo apt-add-repository universe
sudo apt update
sudo apt install build-essential cmake pkg-config libboost-all-dev libssl-dev libzmq3-dev libunbound-dev libsodium-dev libunwind8-dev liblzma-dev libreadline6-dev libldns-dev libexpat1-dev doxygen graphviz libboost-chrono1.65.1 screen

On Ubuntu you have to build the binaries for libgtest yourself, for some reason they do not come made, just as source.

sudo apt-get install libgtest-dev && cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv libg* /usr/lib/

Okay now we should have everything we need to compile the project

cd ~/
git clone --recursive https://github.com/txchangecoin-project/txchangecoin
cd ~/txchangecoin
git checkout master
make

Because we are testing lets move the important bits to a new folder.

mkdir ~/txbin
cp ~/txchangecoin/build/Linux/master/release/bin/txchangecoind ~/txbin/
cp ~/txchangecoin/build/Linux/master/release/bin/txchangecoin-wallet-cli ~/txbin/
cd ~/txbin

Now you need to generate a wallet and address so let use screen to create a session in the background for the daemon to sync

screen -S TXD
./txchangecoind

Now if all this goes to plan, you should see a load of test scroll past and the daemon to start syncing. Ignore the DNS records warnings.

What Initialisation of the daemon and syncing should look like

I advise typing help and seeing what you can do. Dont worry about mining for the moment, we will do that in the next step.

So we are now synced we are read to solo mine. We need to detach from the daemon (it will keep running because it is running in a screen session)

press CTRL+A+D to leave the screen session but keep the daemon running in the background (you dont need to use screen you could use two different terminal sessions.

This should return you to a normal prompt.

now run

sudo ./txchangecoin-wallet-cli

Type a name for your wallet and give it a password. After you pick a language you will be given an address and a backup phrase.

Generated new wallet: TXCHQEpCKzy7TYEG4d9hnrWF9LYduLg7uP8Cdqej3v4oPkQia6Z9tQ1AWNoRqfVEDcHz2MSrNcBR45RWoVWfetgG56K1Nau9nK

This is your wallet address, I am not sure if the new address generation bug has been fixed or not yet, so just use the original address assigned when you first initialise the wallet. (obviously not this one)

(rest of output snipped, it is pretty self explanatory. just copy this address.)

Now you can start solo mining!
For my CPU which seemed to do best with 6 cores I would use a command like this
( start_mining [<number_of_threads>] [bg_mining] [ignore_battery] )

start_mining 6 false yes
solo mining hashrate and commands
Mining started in daemon
[wallet TXCHQE]: exit
ubuntu@ubuntu:~/txbin$ screen -R

2019-07-27 22:34:26.764 I Miner thread was started [0]
2019-07-27 22:34:26.764 I Miner thread was started [2]
2019-07-27 22:34:27.038 I Miner thread was started [1]
2019-07-27 22:34:27.039 I Miner thread was started [3]
2019-07-27 22:34:27.039 I Miner thread was started [4]
2019-07-27 22:34:27.039 I Miner thread was started [5]
hasrate ramp up

(without large pages i get 2k hashes)
show_hr
Hash rate logging is on
hashrate: 2856.0000
hashrate: 2953.1111
hashrate: 3031.1001
hashrate: 3095.0000
hashrate: 3148.5000
hashrate: 3193.9231
hashrate: 3232.8572
hashrate: 3266.1333
hashrate: 3295.7500
hashrate: 3321.4119
hashrate: 3344.2778
hashrate: 3365.0000
hashrate: 3539.1052
hashrate: 3659.2632
hashrate: 3736.0000
hashrate: 3735.6843
hashrate: 3735.4211
hashrate: 3735.4736
hashrate: 3735.2632
hashrate: 3735.9473
hashrate: 3736.4736
hashrate: 3736.8948
hashrate: 3736.3684
hashrate: 3736.1580
hashrate: 3735.7368
hashrate: 3735.1052
hashrate: 3734.6316
hashrate: 3733.8420
hashrate: 3733.0000
hashrate: 3732.2104
hide_hr
Note this takes time to stabilise, about a minute. notice how similar these are to the benchmark results.

Now, The problem is with solo mining you only get rewards if you find blocks. So there is a pool tool.

to connect to the pool you can just use the latest release of xmrig. For the moment we are just supporting the default RandomX paramteters. so use -a rx/test - as outlined in the initial post.

Now you can run the miner from a command line, and it will try to work out what is best. This is pretty good for most situations. and certainly a good initial test to make sure everything is running okay.

It picks 8 cores for my 6 core cpu though. but the hashrate is fine, it matches solo mining.

./xmrig -a rx/test -o stratum+tcp://blocks.txxcoin.tech:4444 -u <YOUR_MINING_ADDRESS> -p YOUR_WORKER_NAME -k

this command line is better, and allows you to adjust the threads parameter to play with different settings for your cpu I suggest using this until the config file issue is resolved.

./xmrig -a rx/test -o stratum+tcp://blocks.txxcoin.tech:4444 --user=<YOUR_MINING_ADDRESS> -pass=<YOUR_WORKER_NAME> -k -r 5 --asm=AUTO --donate-level=1  --print-time=60 --threads=<THREADS>

Adjust the --threads= parameter for your cpu.

The pool will automatically adjust its share target for you. to fix this target (say you have very high, or very low end equipment) change <YOUR_MINING_ADDRESS> to be <YOUR_MINING_ADDRESS.fixed_diff_number>

I recommend letting the pool sort it out though.

In the interactive xmrig shell you can see the number of threads and check you hashrates with the h command. Over time compare this with the pools hashrate for your miner.

It displays 1hr./12hr/24hr it is really useful in testing what you actual hashrate over a period of time would be.

Here is the hashrate graph for my Ryzen 2600 as set up in this tutorial running for 24 hours.

Happy mining.

edit: forgot to include a basic config file, make sure you change the number of threads and add your mining address.

edit: This config wont work with those versions of the miner. it seems to work with my version (pre- 2.99). I will be looking into it and either generating new configs or a patch to the current mining software.
edit: 19/8 - over the next couple of days I will over haul this thread for the 3.10 xmrig release.

save as config.json in the same folder as the xmrig binary.
{
 "algo": "rx/test",
 "av": 0,                       // algorithm variation, 0 auto select
 "background": false,          // true to run the miner in the background
 "colors": true,              // false to disable colored output 
 "cpu-affinity": null,       // set process affinity to CPU core(s), mask "0x3" for cores 0 and 1
 "cpu-priority": 2,      // set process priority (0 idle, 2 normal to 5 highest)
 "donate-level": 1,        // donate level, minimum 1%
 "log-file": null,        // log all output to a file, example: "c:/some/path/xmrig.log"
 "max-cpu-usage": 75,    // maximum CPU usage for automatic mode, usually limiting factor is CPU cache not this option. 
 "print-time": 60,      // print hashrate report every N seconds
 "retries": 5,         // number of times to retry before switch to backup server
 "retry-pause": 5,    // time to pause between retries
 "safe": false,      // true to safe adjust threads and av settings for current CPU
 "threads": 1,   // number of miner threads
 "pools": [
 {
 "url": "blocks.txxcoin.tech:4444",      // URL of mining server
 "user": "YOUR_MINING_ADDRESS",               // username for mining server
 "pass": "test",                        // password for mining server
 "keepalive": true,                 // send keepalived for prevent timeout (need pool support)
 "nicehash": false,                // enable nicehash/xmrig-proxy support
 "variant": -1                   // algorithm PoW variant
 }
 ]
}

If you have come here from the RandomX GitHub please post questions and issues in this thread not the GitHub - I am more than willing to help with the config and setup.

If you are new here and found this place via RandomX, welcome to zcash. We too are a privacy centred coin. Take a look around and I hope you enjoy your stay.


This guide is for working with windows binaries. for TXChangeCoin - which is a fork of the monero codebase with the default RandomX parameters.

Compiling from source is so much easier under ubuntu and the usb install is a better method for testing imho, because of less background tasks and a standardised building environment.

A lot of people have Windows based desktops so here is a guide:
Also windows has much better overclocking software. This is for desktop hardware not server hardware.


This should be run on a test machine. Not your normal daily windows pc - mainly due to background tasks and possible security concerns. see below.

Make sure you are up to date with all windows patches. (this is for stability and hashrate improvement reasons)

This tutorial is based off:

I have done a very brief review of the code and the binaries and I see nothing nefarious, but still dont trust anyone when it comes to crypto.
because I am involved in this I feel the need to put this info in:

basic crypto computer safety info - please read
  • If you are not using a dedicated testing rig please consider:
  • the risks of installing any 3rd party software on a machine with access you your wallet files. (dont do it, just make an ubuntu USB version)
  • Do not install 3rd party software on machines which you intend to use to send transactions.
  • Use virus total, it is quick and easy. VirusTotal and tests against 64 different virus scanners for you.

results:

VirusTotal results for wallet.exe and xmrig.exe

**1 false positive for wallet.exe by Antiy-AVL the threat is flagged as - Kaspersky Threats — Blocker **

We will find out why the false positive and remove it. It is probably something to do with wallet encryption (we will not remove wallet encryption!)

The xmrig results are to be expected. it is flagged as mining software, not a virus.

Right with that out of the way:

First grab the windows release binaries for the TXChangeCoin GUI and Wallet software for windows from here:

click to expand, quite a few pics tho.

Photo walkthrough Installation.

Double clicking on txchangecoin-gui.exe brings up a admin prompt, click okay.
You should now get this screen.
1%20Install_1

Click Next… and you get this screen…

2%20Install_2

Erm, okay. the text is a bit buggy. I will get around to sorting that. Probably don’t need this screen at all. anyway click Next and you get this.

3%20lol_licence

BEST LICENCE EVER! I hope everyone can agree to that. so click the radio button and then click Next.

This screen has a bug, Light yellow text on a white background.

4%20install_dir1
5%20install_dir2

But if you highlight the text it shows you the path. just click Next. Or change the folder then click Next.

6%20about_to_start

If you changed the installation directory in the last step it gets presented in a readable form here. Double check it, and click Start

7%20yay_done

Wow that was a lot of steps. but finally done, hurm, it says next. okay Click next.

8%20now_really_done

Not really too sure what this is about but at least the button says finish! click finish. The installer needs some work. but it does do its job. As you can see, we are trying to get the tech right then the polish.

Now we need to run the wallet and create a new address for us to mine to. It is all pretty self explanatory but yep, you guessed it. more pictures.

Initialising a wallet and syncing the blockchain

Double clicking on the desktop shortcut will bring up this screen:
So far I have only tested creating a new wallet so do that. Click CREATE

Main_Menu

It will ask you for a password, so set one.

Now you get the important information

I have hidden the view key, the mining address and mnemonic. You should type the seed words on a bit of paper or click the copy button and paste into a text editor so you can restore your wallet if the need should arise.

Click open wallet

You can see the orange bar at the bottom indicating that it is syncing. Standard stuff in here. Will go into more detail later. To get the primary mining address click Receive then you can click the copy icon and it will copy your address to the clipboard - paste this into notepad for later.

once syned the bar goes green.

Great, we are ready

Now we have an address we can start mining on the pool and getting some coins and testing different setups of your hardware, and get real world stats. see my previous post for the 24hr mining average using the ubuntu install - as seen by the pool.

lets grab the newly compiled windows version of xmrig with support for RX/TEST (this is based off xmr v2.99 I have yet to get around to making config files for this so we will create a batchfile and set the parameters via the command line.

Download the binary [1]

  • https://github.com/txchangecoin-project/xmrig/releases/download/v2.99.1/window-xmrig-64.zip
  • Unzip it somewhere.
  • Navigate to that folder with windows explorer.
  • Open notepad
  • add this two lines filling out your details. marked with <> tags. notice the --threads= option at the end. Experiment with this. The threads parameter is the one discussed in previous posts. This is the actual mining threads. so for my ryzen it would be ~6 see the ubuntu post for more details.
xmrig.exe -a rx/test -o stratum+tcp://pools.txchange.online:4444 --user=<YOUR_MINING_ADDRESS> -pass=<YOUR_WORKER_NAME> -k -r 5 --asm=AUTO --donate-level=1  --print-time=60 --threads=<THREADS>
pause

Save this file as mine.bat. then you should have a screen similar to this.

image

don’t forget to enable largepages!

Enabling largePages
  • Press start and type gpedit, this should bring up the Local Group Policy Editor
  • Windows settings → security settings → local policies → user rights assignment
  • Now scroll down to Lock Pages In Memory
  • Double click it
  • Add the user which will be doing the testing. I normally just add administrotor
  • Click check name, to make sure it is the correct name - if you sign in with an @example.com then you need to add that.
  • Reboot.
  • Dont forget if you only added LOCAL-PC/Administator you will need to run the command prompt as admin

phew. all done, reboot and we are ready to go!

Navigate back to the folder with xmrig and mine.bat

Now double click mine.bat and you should get this (this is my 2600 under exactly the same hardware config as the ubuntu usb install. I will update with pool side stats for my 24hr period tomorrow.

Mining!

Or you can launch straight from the terminal by navigating to the folder containing the xmrig you just downloaded and run

xmrig.exe -a rx/test -o stratum+tcp://pools.txchange.online:4444 --user=<YOUR_MINING_ADDRESS> -pass=<YOUR_WORKER_NAME> -k -r 5 --asm=AUTO --donate-level=1  --print-time=60 --threads=<THREADS>

Now you can get a baseline and start playing with threads, ram timings and all the other stuff that is easy to do in windows with software, but much harder in Linux unless you can do it via the bios.

check you stats for the pool here

[1] The sourcecode is available in the same folder. - https://github.com/txchangecoin-project/xmrig/releases/download/v2.99.1/

Massive reorg of OP, put laptop results at the top.
Added 24hr Ryzen graph to the ubuntu post.
Added mining with windows binaries tutorial.

Please ask any questions here. If you have problems with the instructions it is probably my fault or a bug. I will be looking at changing the installer. and most of the text. However the wallet testing is what I want to do more.

So get an address either via the ubuntu way or the windows binaries. and I will send you some coins.

This is just the start.

I know this is a zcash forum and we expect to have a pretty bloody cool announcement this week. we just need to get the code working first. - realistically this is a dev team of 1 + me. lol. nice one @txchangecoin-project and welcome to the forums! we are very pleased to have you.

They are a person of few words, so I do most of the talking. - but they are behind 99% of all the code adaptations, etc.

maybe if @ChileBob gets time he could set up a pool for this too. so there is a choice. that would be amazing.

Update to XMRIG.

[NUMA does not apply to desktops only server hardware]

For those wanting to check out the latest bleeding edge releases of xmrig, you can use the beta versions and as the algo rather than use rx/txx you can use rx/0 (that is a zero not capital O)

UPDATE: if using xmrig-2.99.5-beta use rx/test if using a previous beta stick to rx/0 - changed link to be just the beta releases page rather than a specific version.

I think this came in around the same time as rx/wow. but idk. I assume the developer did Linux releases to keep everything in one place and maintain backward compatibility. Or maybe legal stuff.

I have only checked this in 2.99.1 and 2.99.3. YMMV with any other version. From 2.99.5 onwards use rx/test

Anyway if you want to use the v2.99.5-beta

Which does have NUMA support, so therefore server support. Although the numa is pretty crappy in its base form, it has potential and certainly means most people wont have to worry about it. (only tested on one type of amd cpu on Linux)

So if you have some old server hardware laying about you can use a command like

xmrig.exe -a rx/test -o stratum+tcp://pools.txchange.online:4444 --user=<YOUR_MINING_ADDRESS> -pass=<YOUR_WORKER_NAME> -k -r 5 --asm=AUTO --donate-level=1  --print-time=60 --threads=<THREADS>

I get exactly the same hashrates from holding one dataset in quad channel with 32 cores accessing it as I do to holding 4 sets of the 2.5gb dataset. I really don’t know what to make of it. I have done a lot of NUMA stuff in the past 3 weeks. It seems that 90% of the info out there is misunderstood and the 10% that is right is written so oddly it doesn’t mean what you think it would mean.

I am currently writing a proper numa allocator. but I don’t want to go into too much detail.
Here is some essential reading for those who care about optimisation and potential asic/fpga development.

Start there, then we can move on to different cache layouts, and how microcode works. you can use microcode to “overclock” you cache, or redefine instructions (within limits, you cant change silicon with software)

Anyway I am getting off topic. Just wanted to let people know you don’t have to trust the binaries release by myself or TXChangeCoin. You can use the xmrig GitHub beta versions (I am not sure when this feature came in, but im guessing it is when TX stopped making builds for it, so maybe 2 weeks ago.)

Go mine some coins! try the new beta version released by xmrig on your NUMA aware server hardware.

In Linux you need to add 1250 largepages per numa node. so if you have 4 nodes it would be

sudo sysctl -w vm.nr_hugepages=5000

Enjoy.

1 Like

The new version is way more friendly to my vps, like ~+50%. The technicals are still a bit above me, but you both seem super dedicated. Interesting, nice work! :slight_smile:

1 Like

Here is the official TXChangeCoin position on beta release
If you would like to checkout the beta releases, they will work see below:

beta releases working with default RandomX parameters

Download the release you want to try out from XMRIG’s GitHub (the beta I recommend is v2.99.3+ for its NUMA support) and follow these instructions.

In order to use the beta release you need to just change one parameter
from

./xmrig -a rx/txx <rest of stuff>

for 2.99.5-beta and onwards

./xmrig -a rx/test <rest of stuff>

or pre 2.99.5-beta (2.99.3/4)

./xmrig -a rx/0 <rest of stuff>

If you ever get this error

It means you are using the wrong algo with the wrong miner switch from rx/0 to rx/txx or vice versa.

Thanks. It is really fun to do. sure it isn’t polished but it is fun. Glad you are liking it too.

(the main hashrate increase was due to xmrig people. implementing numa. before to get hashrates like that you would have had to used a line like)

numactl --cpunodebind=x,x,x,x --membind=x,x ./xmrig …. on Linux. not sure about windows.

To solo mine with NUMA awareness.

Only the daemon needs to be launched with NUMA awareness. There is a lot more to this topic, but this should work for everyone and give as good if not better results that XMRIG.

It also only requires 1250 large pages, rather than 1200 per node as XMRIG and the RandomX git hub suggest. (clue for those inclined numa nodes are not channels, you have to work that bit out yourself and depends heavily on server topology, the OS might give you channels but it is more likely to give you banks, from my testing on my hardware anyway.)

numactl --cpunodebind=all --membind=all ./txchangecoind

Then mine from the wallet-cli or daemon.

Just so you know, because of the difficulty and your hashrate when you see

99% certainty you found that block :smiley: so you got like 6 blocks in that screenshot.

2 Likes

And here we go…

http://xmr.noctism.com/

Okay, last call for any help with configuration of server or consumer hardware.

I am pretty familiar with AMD and Intel (desktop and server) ram requirements, etc. There are a number of small things you can do to specific processors/ram configs to help gain those extra hashes or drop those watts.

DDR3 can significantly be improved with custom XMP profiles. (your normal SPD JDEC profiles are locked, but most SPD XMP profiles for DDR3 are blank so can be written to)

You if you old server bios doesn’t support XMP you can normally find a tool and write your own SPD memory timings then use the AMD Overdrive tool, or the Intel thingy, (I cant find it, it is installed here somewhere) but both AMD and Intel offer a tool to enable memory XMP timings/frequencies from within windows.

SPD changes are only for advanced users who understand what the timings do and what needs to be set as what.

For Linux this is a more advanced process, but again can be done from within the OS.

1 Like

so, what’s the verdict on randomX, @mistfpga? decent amount of time has passed since deployment. looks like randomX is holding up fairly well.

2 Likes

Yeah, seems to work. Is there anything specific you wanted to ask?
Some general observations.

There are some future issues they may face. I dont think it is the answer unfortunately. I dont think the spread of CPU capabilities is reasonable, with high end server equipment performing significantly faster with a better w/h ratio too. So whilst it might have achieved ASIC resistance, has it achieved decentralisation? which is one of the main goals of asic resistance.

I think is not having the desired effect of allowing “small miners” to compete - for example my vegas on eth make more per watt than my 3700x’s on xmr. There are some good advancement in single board computing this year hopefully it still gets released, which, depending on price point might change the game a bit.

So the main issue I can see is density, it just simply isnt feasible to get the required density for me in my own Epyc server hardware - and server hardware doesn’t hold resale. I would liken it to “Workstation GPU’s” having an advantage to mining over “Gaming cards”. That mixed with intel having to do “something” means we could end up with another AMD shortage/dependence, which is a concern to me if intels “something” doesnt work out. (it doenst look like it is going too)

That being said, it did seem it was turning around, but I haven’t looked at any of the updates since Jan, I think. I can recheck this info and see if it is still accurate. there are new chips out from AMD, new boards, chipsets, etc.

Let me know if there is anything else I can help you with :slight_smile:

1 Like

I’m more than sure that a limited number of people have ASICs for Monero.

2 Likes

Do you or anyone else have any evidence to support this claim? I see you liked this, @zooko.

I reached out to artkor (@RuZcash) on Twitter and they said they have no evidence, but I’d like to address this on forum as well.

I’m a supporter of both Zcash and Monero, and I hold both. It’s ironic that unsubstantiated FUD is being spread about Monero in a thread about addressing the FUD around Zcash.

What Monero FUD are you referring to? ASICs? Why would a specialized piece of hardware mining amount to “Fear, Uncertainty or Doubt”?

@artkor do you have any evidence of ASICs on Monero since they changed thier algorithm or is that just speculation?

RandomX was specifically designed to thwart ASICs and its use has led to a significant uptick in mining both in terms of hashrate securing the network and the number of individuals being onboarded. Many in the Monero community support this rather egalitarian model for mining on commodity hardware and I suspect some would be disenchanted if ASICs were being used in secret.

Changing mining algorithms and/or securing the blockchain through ASICs holds certain risks. Zooko stated that, “When we lost GPU miners we lost a huge amount of users — about 90% of our users at the time.” (https://twitter.com/zooko/status/1428368816526925833 )

I answered everything on twitter in PM. But I’ll duplicate it here:

@kowalabearhugs:
“ Hello, Do you have any evidence to support your claim that there are RandomX ASICs mining Monero?

I’m sincerely curious. I’m a supporter of both Zcash and Monero.“

@artkor:
“ Hey! No. I have no proof, I just mined Monero for a very long time, and I understand the hashrate graph. I have a fairly powerful CPU with 12 core, but it is not profitability today at all. When this happens, people leave mining. But the hashrate continues to grow. Moreover, we understand that the tricky features that used to be, such as CoinHive, are no longer available today. Therefore, I conclude that someone has developed ASICs only for themselves and is unlikely to brag about it, knowing the policy of Monero.”

@kowalabearhugs:
“Well that’s disappointing. You said you’re “more than sure”, but you have no evidence to support your claim apart from your experience as a Monero miner. I too mine Monero and the profit margin didn’t matter because I’m able to utilize free electricity at work and at home. I suspect many others do the same due to the ease of mining on CPUs.

It’s ironic that you’re spreading FUD about Monero in a Zcash thread aimed at addressing FUD around Zcash“

@artkor:
“ asic development costs good money, but makes sense because it pays off. When the last time the Manufacturer tried to sell them, there was a change in the algorithm. Therefore, no one will admit anything to you and will not give evidence. Just look at the hashrate chart, its jumps. I was mining Monero on two rigs with 12xVEGA64 video cards, like many others. But the current hashrate only on CPUs is 3 times higher than then. Ok, I actually have nothing to prove. I’m still confident, that’s all.

And yes, after reading these reddit threads, I will no longer pretend to be friends with Monero community.“

1 Like

I wrote this information on the Zcash forum, but you immediately showed up here. Should I post this on all the monero forums with a detailed explanation of the hashrate chart? I can happily do it.

1 Like

With the cost of designing an asic being around million usd, I find it difficult to make one and not sell units. Maybe we are seeing FPGA or mining pools shifting their hashrates.

If the asics is powerful, you can still benefit by producing just enough units to control ~20% of hashrate. With a market cap of ~$3B and annual inflation of ~1%, controlling ~20% of hashrate means you can scoop up ~$6M per year in mining reward.

This is also a possible scenario especially with the situation across the US border.

@kowalabearhugs continues to insist:

Ok:

It is impossible to create an ASIC-resistant algorithm in long-term. This is the same as saying that an algorithm written by a program cannot be made hardware. This is nonsense!

In fact, I’m doing the great favor for Monero-community. Because if I’m right, then Monero’s network is in great danger and centralization. Someone has great advantages, but after he was forced to reassemble the integrated circuits three times, he, for a completely understandable reason, decided not to show up anymore.

But if you continue to be sure that I am wrong. Well, good luck to you!

2 Likes

I hear what you are saying @artkor but to be fair to @kowalabearhugs you’d want to normalise that chart over the mining reward convert to a tradition currency (e.g. USD).

1 Like

Actually, it’s not that easy to do. Because in different periods of time different combinations were involved in mining: only CPU, CPU + GPU, CPU + GPU + ASICs and the ratio of one to the other is impossible to identify.

This graph can show approximately the situation separately for the CPU, but due to the change of algorithms, it will still be incorrect - https://bitinfocharts.com/ru/comparison/monero-mining_profitability.html#log&alltime

But, what I have presented is already enough to understand that after switching to Random X the comparable hashrate has increased 4 times, which is with a decrease in profitability is raises questions (the issue has decreased almost 3 times during this time and this year it will reach a target value of 0.6 per block forever). You can say that people mine at work, but it’s always been like this. Before RandomiX too. On the contrary, recently the antivirus programs built into Windows have become much tougher about mining. Hidden mining has become impossible at all. It became impossible to infect sites - which was a common practice until 2019. The lion’s share of the Monero hashrate was brought by the hidden miner CoinHive - now it does not exist. Yes, people are heavily involved in mining, this is also a fact, but the question of expediency of costs always makes sense. Otherwise, it is easier to spend this money on buying coins from the exchange. In addition, there are much more profitable coins for the CPU, why go in crooked ways?

However, we had a good chat with @kowalabearhugs. And he even asked me to report it to the XMR community. However, I would not like to do this, because I am afraid that it will be perceived as an aggressive attack. On my reddit, the logo and nickname indicate “Zcash”. To be honest, all these feuds depress me. If my assumptions are useful to someone, I don’t mind anyone using it.

4 Likes