Questions and Answers :
Unix/Linux :
GPU update
Message board moderation
Previous · 1 · 2
| Author | Message |
|---|---|
|
Send message Joined: 1 Jul 20 Posts: 32 Credit: 22,436,564 RAC: 0 |
Just to let you know there is progress. This is with a rand_automata/DS3 datafile. Want to get it into testing tonight or tomorrow. "Use GPU's" should not default to "Yes". The option should default to opt-in not opt-out. |
|
Send message Joined: 30 Jun 20 Posts: 462 Credit: 21,406,548 RAC: 0 |
Will look at fixing the GPU option. The option showed up as soon as we uploaded the mldstest windows client (which is *huge*, 1GB in size). So its whatever the BOINC server defaults to now. |
|
Send message Joined: 1 Jul 20 Posts: 32 Credit: 22,436,564 RAC: 0 |
Will look at fixing the GPU option. Fixed. Thanks! |
|
Send message Joined: 12 Aug 20 Posts: 21 Credit: 53,001,945 RAC: 0 |
Will there also be a CUDA app for Linux soon? //Gunnar |
|
Send message Joined: 30 Jun 20 Posts: 462 Credit: 21,406,548 RAC: 0 |
Yes. only reason it isn't out yet is I have only one nvidia card, and I started with windows thinking it would be the hardest. Once I'm able to verify the GPU client works with boinc/windows (I know I can run it by hand just fine), I'll reboot into linux and compile a linux cuda client. I still have the rocm version (linux) too, but that will require a custom app plan, which I still haven't learned how to do. Please note, there are going to be issues (which is why it's in mldstest). Here's a rundown of things I expect to be a problem:
|
|
Send message Joined: 30 Jun 20 Posts: 462 Credit: 21,406,548 RAC: 0 |
I got good news and bad new. The good news is, I have (finally) received the first test GPU WU served up by the project and its crunching now. The bad news is that it uses up to 2GB of RAM and 2GB of disk space for DS3 WUs, which are well beyond the limits CPU crunching requires, so if anyone else gets a GPU WU, they'll immediately error out with a "exceeded disk space" error. This leads to a complicated problem on my end.... Do I a) up the limits on all existing WUs so they can be run on a GPU or CPU, meaning pure CPU crunchers will suffer because the client will refuse to run unless it has 2GB/WU free (despite actually using only ~300MB when not using a GPU), and making things like a RPi3 w/ 1GB of ram impossible to schedule, or b) somehow create two sets of WUs, one for GPUs, one for CPUs, and figure out how to tell the BOINC server which is which (hint, that ain't easy). Option b) is really the only answer, but will require a bit more thought. Perhaps it would be best to create a separate "mlds-gpu" application with a separate WU pool. Hmm. |
|
Send message Joined: 30 Jun 20 Posts: 462 Credit: 21,406,548 RAC: 0 |
Linux cuda client rolled out, not much success by the looks of the early returns.. lots of library/driver mismatches. Will let it run overnight and assess the damage tomorrow. |
|
Send message Joined: 1 Jul 20 Posts: 34 Credit: 26,118,410 RAC: 0 |
This is what I am getting with my linux machines. It doesn't seem like a memory/storage issue. But what do I know. :) <core_client_version>7.9.3</core_client_version> I haven't received a task for my windows machines yet. But if the ram/storage requirements are significantly different, then yes, perhaps a different app is required, so that people can select one and/or the other. Reno, NV Team: SETI.USA
|
|
Send message Joined: 1 Jul 20 Posts: 34 Credit: 26,118,410 RAC: 0 |
Also, if you send out tasks that allow any resource to use them, then they get consumed by CPUs. And you won't get testing just on GPUs, assuming that is your goal for this batch. Reno, NV Team: SETI.USA
|
|
Send message Joined: 1 Jul 20 Posts: 34 Credit: 26,118,410 RAC: 0 |
This task worked on a windows machine. It's a single GPU machine. I wonder if that is why my dual GPU windows machine gives errors. https://www.mlcathome.org/mlcathome/result.php?resultid=2592308 Reno, NV Team: SETI.USA
|
|
Send message Joined: 30 Jun 20 Posts: 462 Credit: 21,406,548 RAC: 0 |
First, thanks again for testing. According to this question on the nvidia docs, it might be related to the specific driver version you have installed (450?). I note the one that worked uses a later driver (452): https://forums.developer.nvidia.com/t/forward-compatibility-runtime-error-after-installing-cuda-11-0/128503/4. Proprietary drivers are fun! Also, I'm fairly certain this app currently ignores multiple GPUs and only uses GPU 0. I haven't implemented that yet. |
|
Send message Joined: 20 Jul 20 Posts: 23 Credit: 1,958,714 RAC: 0 |
I got good news and bad new. option b. Most of my mlc units run on Atom boards that only have 2GB (1.5GB) shared between all 4 cores, and 8GB of remaining disk space. Cuda also shouldn't be this big. I was hoping you'd start with Intel, as most intel GPUs are unused (or, doing the collatz). If gpu acceleration is slow, it would make no sense to have big and heavy gpus do the job, and focus on the smaller ones. On the other hand, if you can improve performance on big gpus, making them 90-100% utilized, then a separate pool is necessary, as these gpu systems usually do have the ram requirements. |
|
Send message Joined: 23 Sep 20 Posts: 24 Credit: 15,318,198 RAC: 1,992 |
I was hoping you'd start with Intel, as most intel GPUs are unused (or, doing the collatz). I would love to use my onboard Intel GPU |
|
Send message Joined: 12 Aug 20 Posts: 21 Credit: 53,001,945 RAC: 0 |
Hi! Got my first CUDA task now (tasknr 2629681), but it ended up in sigsegv and computation error (signal 11). OS: Ubuntu 18.04 Nvidia driver: 390.116 ?? (got it via the "nvidia-smi" command) GPU: GTX750Ti I'm standing by for more tests! :-) Good luck with the CUDA app!!! //Gunnar |
|
Send message Joined: 30 Jun 20 Posts: 462 Credit: 21,406,548 RAC: 0 |
Honestly, its very bizarre. The segv isn't coming from the new CUDA code, its coming from the training data loading code which is unmodified and running without issue on every other client, It also only happens when run by the boinc client, not when run by hand on the exact same system with same input. I'm reproducing it here, but its a real head scratcher. I won't be sending out more tests until I solve it. |
|
Send message Joined: 1 Jul 20 Posts: 34 Credit: 26,118,410 RAC: 0 |
Cuda on linux has never worked for me to date. But with 9.8, it is working now. Nice! Reno, NV Team: SETI.USA
|
|
Send message Joined: 30 Jun 20 Posts: 462 Credit: 21,406,548 RAC: 0 |
Cuda on linux has never worked for me to date. But with 9.8, it is working now. Nice! woohoo! I'm going to post an update in a new thread to capture current status. |
|
Send message Joined: 9 Jul 20 Posts: 142 Credit: 11,536,204 RAC: 3 |
Looking forward to test on my system and verify. Great accomplishment! |
|
Send message Joined: 1 Jul 20 Posts: 22 Credit: 4,873,126 RAC: 84 |
Nvidia developer boards are nothing but low power ARM cores (A55, A53, A52 or lower) with a low power GPU that sits somewhere around a GT730. They're not the right boards to do compute calculations with. Especially their CPU compute numbers are very, very slow! They're expensive, and for the $99 a jetson nano costs, you'll probably rather buy a GT1030 (that's about twice to trice as fast). The Pi4B uses A72 cores, they're slightly better for compute loads. For the most part this is plain bulls**t. Nvidia developer boards have at least four Cortex-A57 cores (Jetson Nano 2gb and 4GB) of much higher performance than the quoted A55 and A53 cores -the A52 does not even exist The other boards have more and better cores (the Jetson TX1/TX2: Nvidia Denver, the Jetson Xavier NX/AGX: Nvidia Carmel and the Jetson Orin AGX a 12-core Cortex-A78. The weakest GPU can be found on the quite affordable Nano's, that have a 128-core NVIDIA Maxwell architecture-based GPU. If you want to spend more money the Jetson Xavier NX already gives you a 384-core NVIDIA Volta GPU with 48 Tensor Cores -and the Xavier NX has six Nvidia Carmel CPU-cores that are superior to those of the Cortex-A72. I money is no objection, the 12-core Cortex-A78 Orin has a 2048-core Ampere architecture-based GPU with 64 Tensor Cores. Try to emulate that performance on your GT1030 -and fail utterly. |
|
Send message Joined: 1 Jul 20 Posts: 22 Credit: 4,873,126 RAC: 84 |
Cuda on linux has never worked for me to date. But with 9.8, it is working now. Nice! I have CUDA on Linux/ARM - but there are no apps Jetson-Nano2GB Starting BOINC client version 7.9.3 for aarch64-unknown-linux-gnu log flags: file_xfer, sched_ops, task Libraries: libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3 Data directory: /var/lib/boinc-client CUDA: NVIDIA GPU 0: NVIDIA Tegra X1 (driver version unknown, CUDA version 10.2, compute capability 5.3, 1979MB, 1343MB available, 236 GFLOPS peak) OpenCL CPU: pthread-cortex-a57 (OpenCL driver vendor: The pocl project, driver version 1.1, device version OpenCL 1.2 pocl HSTR: pthread-aarch64-unknown-linux-gnu-GENERIC) [libc detection] gathered: 2.27, Ubuntu GLIBC 2.27-3ubuntu1.4 Host name: Jetson-Nano2GB Processor: 4 ARM ARMv8 Processor rev 1 (v8l) [Impl 0x41 Arch 8 Variant 0x1 Part 0xd07 Rev 1] Processor features: fp asimd evtstrm aes pmull sha1 sha2 crc32 OS: Linux Ubuntu: Ubuntu 18.04.5 LTS [4.9.201-tegra|libc 2.27 (Ubuntu GLIBC 2.27-3ubuntu1.4)] Memory: 1.93 GB physical, 4.97 GB virtual Disk: 58.41 GB total, 12.05 GB free |
©2022 MLC@Home Team
A project of the Cognition, Robotics, and Learning (CORAL) Lab at the University of Maryland, Baltimore County (UMBC)