Posts by Aurum
log in
61) Message boards : Number crunching : Compiling for AVX-512 (Message 2116)
Posted 27 Nov 2020 by Aurum
Use the Tags branch at github. You can clone any point release of BOINC by going into the TAG tree.
https://github.com/BOINC/boinc/tree/client_release/7.16/7.16.6
I tried to no avail.
aurum@Rig-38:~$ git clone https://github.com/BOINC/boinc/tree/client_release/7.16/7.16.6 boinc Cloning into 'boinc'... fatal: repository 'https://github.com/BOINC/boinc/tree/client_release/7.16/7.16.6/' not found
62) Message boards : Number crunching : Compiling for AVX-512 (Message 2113)
Posted 26 Nov 2020 by Aurum
First thing you need to correct in your app_info is the application version.
You can't use an already existing app version that the project already distributes.

So change to app version 999 or something well out of range of what the project might ever release.

And change the applications name accordingly of course
Liken unto so?
<app_info> <app> <name>gene_pcim</name> </app> <file_info> <name>gene_pcim_v6.66_linux64__avx512</name> <executable/> </file_info> <app_version> <app_name>gene_pcim</app_name> <version_num>666</version_num> <api_version>7.9.0</api_version> <plan_class>avx512</plan_class> <flops>5784707816.501904</flops> <avg_ncpus>1.000000</avg_ncpus> <file_ref> <file_name>gene_pcim_v6.66_linux64__avx512</file_name> <main_program/> </file_ref> </app_version> </app_info>
63) Message boards : Number crunching : Compiling for AVX-512 (Message 2110)
Posted 26 Nov 2020 by Aurum
I suggest you first compile the program as-is.
Ok, to me "as-is" means do not change anything just run it. Tried that and the only thing in ./BOINC_dev/boinc/samples/pc-boinc/bin is a.txt, a placeholder. Next, I uncommented AVX in ./pc-boinc/src/Makefile:
# SSE2, 64-bit ARCH += -march=core2 -mtune=core2 -m64 # AVX, 64-bit #ARCH += -march=core2 -mtune=generic -msse4.2 -mpopcnt -maes -mpclmul -mavx -m64 # AVX+FMA, 64-bit #ARCH += -march=core2 -mtune=generic -msse4.2 -mpopcnt -maes -mpclmul -mavx -mfma -m64 # AVX2+FMA, 64-bit #ARCH += -march=core2 -mtune=generic -msse4.2 -mpopcnt -maes -mpclmul -mavx -mfma -mavx2 -m64
And still got nothing.
It adds a Link to Archive: /home/aurum/BOINC_dev/boinc/samples/pc-boinc/src/libstdc++.a
/usr/lib/gcc/x86_64-linux-gnu/9/libstdc++.a
Suspect it's trying to tell me I'm missing a library. I searched the Synaptic Package Manager (SPM) for libstdc++ and it listed 374 packages with 6 of them installed:
lib32stdc++-9-dev
libstdc++-9-dev
libstdc++6
libstdc++6:i386
libx32stdc++-9-dev
libx32stdc++6
So I installed lib32stdc++-10-dev and SNP added libstdc++-10-dev. Deleted the Link to Archive and tried again. Still got nothing and the Link to Archive is back.
Any suggestions what I'm missing???
Edit: I bet if someone that knows what they're doing looked at my config.log output they could see what I need to fix or install. It's 11401 lines and has so many comments like:
gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) configure:4093: $? = 0 configure:4082: gcc -V >&5 gcc: error: unrecognized command line option '-V' gcc: fatal error: no input files compilation terminated. configure:4093: $? = 1 configure:4082: gcc -qversion >&5 gcc: error: unrecognized command line option '-qversion'; did you mean '--version'? gcc: fatal error: no input files compilation terminated. configure:4093: $? = 1
64) Message boards : Number crunching : Compiling for AVX-512 (Message 2104)
Posted 25 Nov 2020 by Aurum
I've been reading the 11,041 line config.log file and it keeps trying different things. I suspect part of the problem may be that when I cloned BOINC I got the dev version and not the 7.16.6 release:
| #define PACKAGE_NAME "BOINC"
| #define PACKAGE_TARNAME "boinc"
| #define PACKAGE_VERSION "7.17.0"

git clone https://github.com/BOINC/boinc boinc

How can I clone 7.16.6???

I'll look at your zip.
65) Message boards : Number crunching : Compiling for AVX-512 (Message 2101)
Posted 25 Nov 2020 by Aurum
Ok, I edited makefile by adding:
# AVX512, 64-bit ARCH += -march=skylake-avx512 -mtune=skylake-avx512 -mavx512f -mpopcnt -maes -mpclmul -m64 -ftree-vectorize
Then in a terminal I ran:
/home/aurum/BOINC_dev/boinc/samples/pc-boinc/src/linux64_build.sh
Lots of lines scrolled by, terminal closed and I can't find an executable. It added a link to libstdc++.a that when I try to open it says archive type not supported (I have Linux Mint 20 Ubuntu 20.04 Focal).

What's next???
66) Message boards : Number crunching : Compiling for AVX-512 (Message 2100)
Posted 25 Nov 2020 by Aurum
I looked at that AVX-512 list and guessed that some could be excluded, e.g. AI, neural nets & Galois Fields. Beyond that I'm willing to try them all if we have a way to test and tell them apart. But we seem to only have 4 to chose from: F, VL, DQ & BW. CD is only for Xeon Phi. I try them in this order: F, BW, DQ & VL.

BTW, I don't think I've ever seen BOINC settle on just one. If I sort BoincTasks on (WU) Name and look for clusters running on the same computer with 2 or 3 instruction sets running I can't tell their speeds apart. One WU to another can differ by hours. Even within the parts of a WU I doubt they're the same, e.g.
175168_Hs_T119704-RHBDD1_wu-1_1606188238821
175168_Hs_T119704-RHBDD1_wu-2_1606188238821
175168_Hs_T119704-RHBDD1_wu-3_1606188238821
etc...
That's why having a Calibration Standard WU could be nice. It could be DLed from https://bitbucket.org/francesco-asnicar/pc-boinc/downloads/ but never ULed, just note the completion time for comparison. Then use BOINC Anonymous Platform to test versions one by one.
67) Message boards : Number crunching : Compiling for AVX-512 (Message 2098)
Posted 25 Nov 2020 by Aurum
it seems to me (but I may be wrong) that you don't need to define the plan_class, instead you should define the platform (like <platform>x86_64-pc-linux-gnu</platform>)
I don't know but I think BOINC learns everything it needs about my CPU in my client_state.xml <host_info> section.

When switching from regular use to anonymous platform I suggest to: wait until there are no workunits in the cache (or abort them all), exit boinc, copy the app_info.xml and the executable in the proper place (check its x bit, chmod a+x), start boinc.
This is where my head starts spinning. In client_state.xml I have these 3 statements:
<download_url>http://gene.disi.unitn.it/test/download/gene_pcim_v1.10_linux64__avx</download_url>
<download_url>http://gene.disi.unitn.it/test/download/gene_pcim_v1.10_linux64__fma</download_url>
<download_url>http://gene.disi.unitn.it/test/download/gene_pcim_v1.10_linux64__sse2</download_url>
Which makes me think I have to have something like them with __avx512 to get new WUs. So I was planning on testing with WUs I already have DLed.

EDIT: which compiler switch did you use? -march=skylake-avx512 ?
Yes, these are the two switches I came across it seems I need:
-march=skylake-avx512 -ftree-vectorize
But then not all AVX-512 CPUs are Skylake. E.g., i9-10980XE is formerly known as Cascade Lake: https://ark.intel.com/content/www/us/en/ark/products/198017/intel-core-i9-10980xe-extreme-edition-processor-24-75m-cache-3-00-ghz.html
Apparently they're called the Core X-series but there's not a switch for Core X. Also there's Knights Landing which I do not have. So I guess I just have to try them. If not all my AVX-512 CPUs work then I could try -march=cascadelake.
There's so many switches I don't know if I need any others or not?
https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html

I'm still trying to figure out my questions in message 2095. I hope to focus on this today.
68) Message boards : Number crunching : Compiling for AVX-512 (Message 2096)
Posted 24 Nov 2020 by Aurum
It appears that after compiling I'll need to test it using the BOINC Anonymous Platform. https://boinc.berkeley.edu/wiki/Anonymous_platform
I ginned up an app_info.xml file by emulating the TN-Grid client_state.xml info:
<app_info> <app> <name>gene_pcim</name> </app> <file_info> <name>gene_pcim_v1.10_linux64__avx512</name> <executable/> </file_info> <app_version> <app_name>gene_pcim</app_name> <version_num>110</version_num> <api_version>7.9.0</api_version> <plan_class>avx512</plan_class> <flops>5784707816.501904</flops> <avg_ncpus>1.000000</avg_ncpus> <file_ref> <file_name>gene_pcim_v1.10_linux64__avx512</file_name> <main_program/> </file_ref> </app_version> </app_info>
If this looks ok I'll give it a whirl.
Do I need to delete the other executables and only have the avx512 executable in my project folder or will they just be ignored???
69) Message boards : Number crunching : Compiling for AVX-512 (Message 2095)
Posted 19 Nov 2020 by Aurum
find the source code of the application here: https://bitbucket.org/francesco-asnicar/pc-boinc/

Thanks for that. BTW, libbz2-dev is now in the Ubuntu 20.04 repositories.
Following the instructions but I don't know the lingo, e.g. what does "clone this repository in the folder BOINC_dev/boinc/samples/" mean???
I think my problem is knowing what "this" refers to.
Next line, "Assuming you now have this repository inside BOINC_dev/boinc/samples/pc-boinc/"
Does "this" mean this download? https://bitbucket.org/francesco-asnicar/pc-boinc/downloads/

Edit: DLed that file and extracted it. Changed folder name to pc-boinc.
"you can compile it using the provided scripts inside the src folder"
These scripts might as well be in Klingon. I'll look for gcc tutorials and see if I can figure out what to do next.
70) Message boards : Number crunching : Compiling for AVX-512 (Message 2094)
Posted 19 Nov 2020 by Aurum
I checked and gcc comes as a default in LM 20:
gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)

I also installed libraries: sudo apt-get install build-essential gdb

I'm assuming there's no need to edit or modify your code in any way. So now I'm learning to use gcc.
71) Message boards : Number crunching : Compiling for AVX-512 (Message 2092)
Posted 19 Nov 2020 by Aurum
I applied for a Covid-19 research license to get the Intel compiler. Waiting to hear back.
72) Message boards : Number crunching : Compiling for AVX-512 (Message 2091)
Posted 19 Nov 2020 by Aurum
BTW, as I explained before, I cannot build and test a AVX512 application (I don't have any AVX512 capable computer here). Anyway, it is not difficult to compile the source code (gcc on Linux x64), the tricky thing is to compile the needed BOINC libraries but, if requested, I can provide them.
I haven't compiled anything since the nineties. Maybe I can get a free compiler from Intel for open source use. Is the gene_pcim code open source???
73) Message boards : Number crunching : Server Status - No Work Available (Message 2087)
Posted 18 Nov 2020 by Aurum
I wonder if Indiana University got the electric bill and the Red Parrot used the newspaper.
74) Message boards : Number crunching : Compiling for AVX-512 (Message 2086)
Posted 18 Nov 2020 by Aurum
Oh. I thought the WU needed to match its program since all WUs say what instruction set they're for.
gene@home PC-IM (avx)
gene@home PC-IM (fma)
gene@home PC-IM (sse2)
So why include the instruction set if the program is agnostic?
75) Message boards : Number crunching : Compiling for AVX-512 (Message 2081)
Posted 18 Nov 2020 by Aurum
FMA against AVX only provided a very small speed gain, that's one of the reasons I do not distribute FMA for Windows...

Look at the Applications page. There are many Windoze crunchers here than Linux. FMA WUs require both wingmen to be Linux users. Be more more efficient if FMA compiled for Windoze as well.
76) Message boards : Number crunching : TN-grid challenge issued by Anguillan Pirates (Message 2078)
Posted 17 Nov 2020 by Aurum
When the bunker bursts the thousands lingering in my Validation Pending bin will start to clear. Ban Bunkering.
77) Message boards : Number crunching : Server Status - No Work Available (Message 2074)
Posted 14 Nov 2020 by Aurum
the recent drop of performance here is mainly due to one single user (with an impressive number of hosts) that decided to stop/pause crunching (I don't see him active in other projects...)
Anyone I know? I've been working WCG (Aurum420) so I can keep my eye out for him. Indiana University being in session might be why crims0nparr0t is down to less than half of their peak.

I think there's a flaw in my reasoning, please help me see the light. Sometimes I look at my Tasks and see over 2,000 Validation Pending & growing. I think I should slow down and let that Pending queue clear. Maybe find a level where Pending hovers in the 100 to 200 range. What would be a good Pending queue size to be in stable equilibrium??? Yesterday I pointed a few computers this way and my Pending has gone up from 44 to 111.

Today I see you're expanding H1N1 and I think that's really important so I want to help more. I also see the talk of autoAbs inhibiting proper cytokine regulation. I suspect if there's a way to study the genes involved we'll be doing it soon so I want to help even more.
78) Message boards : Number crunching : Compiling for AVX-512 (Message 2063)
Posted 9 Nov 2020 by Aurum
...benefits are unknown...
Exactly and we won't know until someone tries it.
see: AVX-512 slower than AVX.
I tried to read this thread but it got very tedious. The only thing I learned was Intel made a major mistake and produced some CPUs with singlets instead of pairs so I updated my list.
if someone would like to build up a AVX-512 application I can provide some assistance.
And if anyone does try it I'd be glad to test it :-)

Intel Core i9-7900X CPU @ 3.30GHz [Family 6 Model 85 Stepping 4] 2 x AVX-512
Intel Core i9-7960X CPU @ 2.80GHz [Family 6 Model 85 Stepping 4] 2 x AVX-512
Intel Core i9-7980XE CPU @ 2.60GHz [Family 6 Model 85 Stepping 4] 2 x AVX-512
i9-9960X 2 x AVX-512
i9-10980XE 2 x AVX-512
Intel Xeon CPU 8164 @ 2.00GHz [Family 6 Model 85 Stepping 3] 2 x AVX-512
Intel Xeon Gold 6130 CPU @ 2.10GHz [Family 6 Model 85 Stepping 4] 2 x AVX-512
Intel Xeon Gold 6140 CPU @ 2.30GHz [Family 6 Model 85 Stepping 4] 2 x AVX-512
Intel Xeon Gold 6148 CPU @ 2.40GHz [Family 6 Model 26 Stepping 4] 2 x AVX-512
Intel Xeon Platinum 8124M CPU @ 3.00GHz [Family 6 Model 85 Stepping 3] 2 x AVX-512
Intel Xeon Platinum 8124M CPU @ 3.00GHz [Family 6 Model 85 Stepping 4] 2 x AVX-512
Intel Xeon Platinum 8167M CPU @ 2.00GHz [Family 6 Model 85 Stepping 4] 2 x AVX-512
Intel Xeon Platinum 8168 CPU @ 2.70GHz [Family 6 Model 85 Stepping 4] 2 x AVX-512
Intel Xeon Platinum 8171M CPU @ 2.60GHz [Family 6 Model 85 Stepping 4] 2 x AVX-512
Intel Xeon Silver 4110 CPU @ 2.10GHz [Family 6 Model 85 Stepping 4] 1 x AVX-512
Intel Xeon Gold 5118 CPU @ 2.30GHz [Family 6 Model 85 Stepping 4] 1 x AVX-512
79) Message boards : News : Paper published on IEEE Transactions on Emerging Topics in Computing (Message 2049)
Posted 28 Oct 2020 by Aurum
drug repositioning

I'm not familiar with this term. Is it similar to repurposing or off-label use?
80) Message boards : Number crunching : Compiling for AVX-512 (Message 2043)
Posted 26 Oct 2020 by Aurum
I found 236 AVX-512 capable CPUs plus 2 of mine that haven't been included yet:
i9-10980XE
i9-9960X
Intel Xeon Processor (Skylake, IBRS) [Family 6 Model 85 Stepping 4]
Intel(R) Core(TM) i9-7900X CPU @ 3.30GHz [Family 6 Model 85 Stepping 4]
Intel(R) Core(TM) i9-7960X CPU @ 2.80GHz [Family 6 Model 85 Stepping 4]
Intel(R) Core(TM) i9-7980XE CPU @ 2.60GHz [Family 6 Model 85 Stepping 4]
Intel(R) Xeon(R) CPU [Family 6 Model 85 Stepping 3]
Intel(R) Xeon(R) CPU 8164 @ 2.00GHz [Family 6 Model 85 Stepping 3]
Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz [Family 6 Model 85 Stepping 4]
Intel(R) Xeon(R) Gold 6130 CPU @ 2.10GHz [Family 6 Model 85 Stepping 4]
Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz [Family 6 Model 85 Stepping 4]
Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz [Family 6 Model 26 Stepping 4]
Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz [Family 6 Model 85 Stepping 3]
Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz [Family 6 Model 85 Stepping 4]
Intel(R) Xeon(R) Platinum 8167M CPU @ 2.00GHz [Family 6 Model 85 Stepping 4]
Intel(R) Xeon(R) Platinum 8168 CPU @ 2.70GHz [Family 6 Model 85 Stepping 4]
Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz [Family 6 Model 85 Stepping 4]
Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz [Family 6 Model 85 Stepping 4]

The BOINC CPU Benchmarks are broken and undefined so meaningless to include. E.g., GFLOPs/computer = GFLOPs/core x Total # Threads.
Not everyone uses all threads for a given project. Mine are currently running half ARP & half TN-Grid.
The Linux BOINC CPU Benchmark broke between 7.9.3 & 7.16.6 and is awaiting a Github Issue response.

The CPU Models Statistics page includes all CPUs that ever made an appearance here. The Server Status page says 360 Users in the last 24 hours. What's a User??? A unique External CPID or a unique Host??? So do I count as 1 or 40???
http://gene.disi.unitn.it/test/cpu_list.php

Of the Top 20 Users six are aggregators representing hundreds or thousands of computers.
http://gene.disi.unitn.it/test/top_users.php


Previous 20 · Next 20

Main page · Your account · Message boards


Copyright © 2024 CNR-TN & UniTN