-
Notifications
You must be signed in to change notification settings - Fork 167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CPU lscpu not identifying ARM processors #2701
Comments
Thank you! So let's try to get a grip on ARM. |
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
Architecture: aarch64 |
Super, thank you! |
i am attempting to VNC in, for the complete test, nano I just realized cut half of it off. Also in this case with the OrangePi, both are correct, its 8 cores, quad for both the A76 and A55. which actually works out well for phones cause the A55 is a very common chipset. |
Yes, I am missing the most important parts :) There should be more different outputs inside the
|
CPU-TEST 03/06/2024 15:48:25
Architecture: aarch64
processor : 0 processor : 1 processor : 2 processor : 3 processor : 4 processor : 5 processor : 6 processor : 7 Serial : be4737132eeaa2d9
{ |
not sure if that was enough for you, so I managed to dig up the datasheet on the chipset. |
Nice! Thank you very much. With this info I will be able to implement the ARM CPU detection. After that, I will need to find out, which CPU miners actually are able to handle ARM. |
Well once i get cpu detection i will let it loose and can report back, and when i get home, i can compile list of different ones i currently use both on the pi and on varius phones . Luckily alot of them are just change of architecture, like xmrig, cpuminer-opt etc so should save you some work on the shell scripts. |
Also if you like i am happy to collect the data for you for the other arm chips, seeing most newer phones only use a select few chipsets/manufacturers. If you can provide me with a list if exactly what it is you need i can dig it up for say the top 10 or so most common. As well as the Pi families which would open up a whole new world |
In fact, I would love to get my hands on as many examples as possible, so that I can perfectly program and test the detection. For that I would need the outputs of the following two commands for each CPU. Might even be Samsung Exynos or different: Mostly, I'ld prefer to parse the /proc/cpuinfo - but for some instances, parsing the lscpu might be of use as well. |
well i have 5-6 phones laying around and I know a few of us in the discord would be very willing to run this, so I will gather up as many as I can. i can reach out to others as well with raseberry pi's etc |
So i got the lscpu for the 2 raseberry Pi's off a member of discord, the others are my phones that actually ran userland and in each text is the lscpu and cat /proc/cpuinfo for each phone :) Also not sure if this helps, but I found this CPU detection library that seems simple enough, and from what I remember of your shells scripting outputs from what I can remember almost everything you were checking for. |
- update CPU detection to cover most ARM-like processors (issue #2701)
Ok, I have implemented a first draft. Most ARM based CPUs should now be detected. |
- avoid duplicate processor counts for some CPU configurations (issue #2701)
debug_2024-03-08.zip Update |
- handle non-integer values in Family, Model and Stepping values (issue #2701)
- add Architecture to CPU object (issue #2701)
So pretty much everyone reports back |
- disable all on ARM, enable Xmrig on ARM (issue #2701)
Yes, I have already build Xmrig for ARMv8. Now I am compiling the JayDDee miner. |
yeah i saw you did right after I posted which I already could see from the amount of coding you had already been working on it. |
This after i manually pulled the new commits. |
Thank you for your report. I will check this.
|
Also, two more things: |
i took your suggestion for Powershell, and reinstalled rbm as well. It seems to be the same, I don't think its making the switch between the x64 and arm version. |
Which Linux is running on that orange pi? That would be the way:
That should result in the following files. If you zip them and upload them here would be wonderful.
|
Yeah i already have it compiled, i also just had a thought i am running the pi in client mode, so its copying from my laptop( which i must admit manually enabled all the algos , before i found the enable unprofitable setting in config )i will redo rbm, and leave it as standalone. But its the rockchip ubuntu 20.04 nothing crazy. And when i get home i get those together for ya. |
This is the Ubuntu I am running seeing it added a bunch of small things already included i.e wifi dongle support, ssh enabled by default etc And the whole folder after compile |
Thank you! I will add this to the CpuminerJayddee module. |
Anything to help out, have really enjoyed using the software , also out of curiosity which xmrig did you use? |
- add cpuinfo-armv8 for ARM sysinfo (issue #2701)
- handle new cpuinfo-armv8/sysinfo-armv8.sh for ARM (issue #2701)
- add ARMv8 binaries (issue #2701)
- fix detection of ARMv8 binaries (issue #2701)
Ok - done. I had some typo in the ARM detection within the miner modules, so we really unintentionally used the default linux variants. Now this is fixed for Xmrig. For CpuminerJayddee, I have included your compiled binaries. Regarding your question: I am using the https://github.com/xmrig/xmrig - in fact, the installation shell scripts on the github page you have mentioned do git clone and compile this as well. |
well am reinstalling RBM as we speak, the clone has been giving me grief all day with rpc errors, so I will do update to the current commits and report back |
So good news to report, so far only 3 have failed, and it seems like a simple missing library error. Everything else benched and passed minus the 3 on xmrig. if we want to knit pick there are some sensor issues still, its reporting the pi using 82w lol I think it misplaced a decimal 8.2w I can believe I know perfectly well its not pulling 82w. and I will look into something for the temperature sensors, cause when I pulled sensors up in another terminal window the temps where at least 10c off. sensors was showing in the 70c and the rbm showing 80 |
Nice! Thank you for the feedback. That power issue is related to missing TDP values. I will try to gather data. Edit: the power consumption for ARM boards is so much different from the Intel/AMD. That brings me to the conclusion to add a new config parameter, so that the TDP value can individually be set. |
Yes, i dunno if you want to continue to use affinity as well for the cpu's , cause I know once we get this all worked out I only plan on running the 4 faster cores. cause the cooling system on these pi's are nothing like a CPU., or maybe separate the core's like how the GPU's show up GPU 00 and GPU 01. Cause what comes to mind is customizing cores running for heat, considering with the pi's its not so much there power usage, but keeping them in a relatively good temperature range,they wont handle being beat up 24/7 with high temps. So if we separate the CPU's gives use the ability to run say 3 and 3 without all the extra binary figuring out. |
- update Powershell Core version to v7.2.18 - add config.txt parameter "PowerCPUtdp" to set a CPU's max. power/TDP in case the build-in power calculation fails. Most useful for ARM (issue #2701) - add "PowerOffset", "PowerOffsetPercent" and "PowerCPUtdp" to config.txt parameter "ExcludeServerConfigVars" by default.
on the Xmrig issues with "/home/roy/RainbowMiner/Bin/ANY-Xmrig/xmrig: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.36' not found (required by /home/roy/RainbowMiner/Bin/ANY-Xmrig/xmrig)" I have this installed from the script and it runs fine all these algos. Looking over the script https://github.com/HighVoltage557/XmrigOnAndroid/blob/main/compile.sh I ran the dependencies manually and all where accounted for. the only thing from what i can see i have no idea about is the figlet small compiling? or maybe just a library reference issue. I have also enable unprofitable ( just for testing) and happy to report all but the 4 xmrig algos CryptoNightLiteUpx2,Take2,Randomx,RandomArq are running without issue |
https://github.com/TheRetroMike/VerusCliMining For Verus is a good addition. |
- update ARM version of miner (issue #2701)
I have updated the Xmrig ARM version in the hope to get rid of the library not found problem. |
I am heading home now i will update and let you know within the hour :) |
sorry took so long github was being difficult, seems like only take2 and randomx left, the others seem fixed |
So pushed update to 4.9.18, firstly xmrig seems all in order now, the cryptonight variants have a hard time mostly cause of lack of usage. take2, and randomx appear to be in working order. Also the power usage and temps seem more accurate now. Only downside so far is now have to rebench everything cause some are showing 80w+ usage and the new fixed ones are showing 4-5w |
i let it run the rest of the day as is, so its a total disregard for any pool config. its using coins on any pool they are mineable. in the mean time I will just set the coins I want via the individual pools, instead of allowing it to auto pool the coins. I will leave 1 coin as auto pool so can confirm. |
So let it go all night, seems like it was some weird glitch,once I actually populated the pools with the coins, it never touched the auto pool coin again. |
I'm very interested in better ARM support, here's cputest results from asahi linux running on Apple M1 Currently I hardcoded to my CPU in cpu detection function, replaced xmrig and CpuminerJayddee with ARM builds, works good cputest results
|
So far it runs on the OrangePi without a hitch, however as far as I can tell, I have attempted on 2 phones using various methods termux and userland am looking for other alternatives. The limit for RBM is the systemd service manager, none of those linux like systems have it. you end up with this Usage: pwsh[.exe] [-Login] [[-File] [args]]
PowerShell Online Help https://aka.ms/powershell-docs All parameters are case-insensitive.` |
So given the Arm detection is complete I believe this aspect of Arm devices is complete. |
Your CPU should already be detected with the new cpu detection. I will push a release now, so that you can easily update. |
So looking over the shells script its apparent the CPU info only handles for intel,amd cpu's. Both Powershell and Ubuntu have arm variants and multiple miner options that we already use in RBM just arm versions. I have managed to successfully install and run RBM on a orange PI in arm ubuntu as a server only due to lack of CPU detection. I would be more then happy to provide my lscpu or whatever else you may require to be able to add arm variants to the CPU detection. I would also be willing to provide feedback on what works as is, and suggestions of existing ARM miners that are work i.e the arm Xmrig, jaydee's ccminer-opt etc, ccminer verus etc. With the rise of ARM everywhere I don't think i can overstate what a huge advantage this could be for RBM, especially in a economy where power prices are on the rise, and SBC's are using less power then cellphones and achieving much higher hashrates.
The text was updated successfully, but these errors were encountered: