CUDA application for the O3ASHF search

Bernd Machenschalk
Bernd Machenschalk
Moderator
Administrator
Joined: 15 Oct 04
Posts: 4,273
Credit: 245,159,413
RAC: 14,348
Topic 230813

I finally could build a CUDA application for the O3ASHF search. This is highly experimental, I don't even dare to publish that as a Beta App yet. You can download it at

http://einstein2.aei.uni-hannover.de/EinsteinAtHome/download/einstein_O3AS_1.08_x86_64-pc-linux-gnu__GW-cuda

Again, this is the first attempt with a new build process and linking, and our own testing abilities are currently rather limited. This app has the CUDA 10 libraries linked statically, and I can confirm that it actually runs on at least one modern system.

Please test and report what systems (distro, driver version) it runs on and what you had to do to make it run there, so I get an idea for restrictions to put in the plan class config.

thx

BM

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3,700
Credit: 34,426,346,897
RAC: 39,612,507

Nice! is this just the

Nice!

is this just the binary?

I assume we still need those two config files for the mid-task CPU calculation and re-start?

_________________________________________________________________________

Bernd Machenschalk
Bernd Machenschalk
Moderator
Administrator
Joined: 15 Oct 04
Posts: 4,273
Credit: 245,159,413
RAC: 14,348

Ian&Steve C.

Ian&Steve C. wrote:

Nice!

is this just the binary?

I assume we still need those two config files for the mid-task CPU calculation and re-start?

Right, you'll need the config files (should be already downloaded). And an app_info.xml.

BM

DF1DX
DF1DX
Joined: 14 Aug 10
Posts: 102
Credit: 2,950,227,259
RAC: 1,897,701

Great. Would this file be ok?

Great. Would this file be ok? (modified from the optimized app)

--- app_info.xml

<app_info>

  <file_info>
    <name>einstein_O3AS_1.08_x86_64-pc-linux-gnu__GW-cuda</name>
    <executable/>
  </file_info>
 
  <app>
    <name>einsteinbinary_BRP_108</name>
    <user_friendly_name>Binary Radio Pulsar Search 1.08 (MeerKAT)</user_friendly_name>
    <non_cpu_intensive>0</non_cpu_intensive>
  </app>
 
  <app_version>
    <app_name>einsteinbinary_BRP_108</app_name>
    <platform>x86_64-pc-linux-gnu</platform>
    <version_num>999</version_num>
    <api_version>7.17.0</api_version>
    <coproc>
      <type>CUDA</type>
      <count>1.0</count>
    </coproc>
    <file_ref>
      <file_name>einstein_O3AS_1.08_x86_64-pc-linux-gnu__GW-cuda</file_name>
      <main_program/>
    </file_ref>
    <dont_throttle/>
  </app_version>
 
</app_info>

---------------

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3,700
Credit: 34,426,346,897
RAC: 39,612,507

DF1DX wrote: Great. Would

DF1DX wrote:

Great. Would this file be ok? (modified from the optimized app)

--- app_info.xml

<app_info>

  <file_info>
    <name>einstein_O3AS_1.08_x86_64-pc-linux-gnu__GW-cuda</name>
    <executable/>
  </file_info>
 
  <app>
    <name>einsteinbinary_BRP_108</name>
    <user_friendly_name>Binary Radio Pulsar Search 1.08 (MeerKAT)</user_friendly_name>
    <non_cpu_intensive>0</non_cpu_intensive>
  </app>
 
  <app_version>
    <app_name>einsteinbinary_BRP_108</app_name>
    <platform>x86_64-pc-linux-gnu</platform>
    <version_num>999</version_num>
    <api_version>7.17.0</api_version>
    <coproc>
      <type>CUDA</type>
      <count>1.0</count>
    </coproc>
    <file_ref>
      <file_name>einstein_O3AS_1.08_x86_64-pc-linux-gnu__GW-cuda</file_name>
      <main_program/>
    </file_ref>
    <dont_throttle/>
  </app_version>
 
</app_info>

---------------

no you need to add in the info for the two config files also.

_________________________________________________________________________

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3,700
Credit: 34,426,346,897
RAC: 39,612,507

Bernd Machenschalk

Bernd Machenschalk wrote:

Ian&Steve C. wrote:

Nice!

is this just the binary?

I assume we still need those two config files for the mid-task CPU calculation and re-start?

Right, you'll need the config files (should be already downloaded). And an app_info.xml.

i got it working first try. easy enough :) did Petri help you build this? large static build (178MB) is up his alley.

what do you plan on using for the plan_class? for the moment I just put "GW-cuda" but i understand it doesn't matter much when making your own app_info and you can really put any plan class you want. 

running fine on my GTX1060 6GB on my test bench system here. will have to run a few to get an idea on speed. but this card is pretty slow in the grand scheme of things.

using 2.1GB VRAM, which seems normal
the GPU core and power draw are higher than before (94% util. ~90W power draw)

so I expect slightly faster run times. just need to see if it validates.

 

_________________________________________________________________________

Boca Raton Community HS
Boca Raton Comm...
Joined: 4 Nov 15
Posts: 216
Credit: 8,431,610,064
RAC: 378,569

Linux only at this point? 

Linux only at this point? 

DF1DX
DF1DX
Joined: 14 Aug 10
Posts: 102
Credit: 2,950,227,259
RAC: 1,897,701

It's not running here yet.


It's not running here yet. Finished all WUs, set Boinc to NNT, reset Einstein.
Copied the two config files, application and the modified app_config.xml into the project directory.

Result:
Tue 27 Feb 2024 17:46:08 CET | Einstein@Home | Not requesting tasks: don't need (CPU: ; NVIDIA GPU: )

Then I'll wait for the official beta.

---

<app_info>
  <file_info>
    <name>einstein_O3AS_1.08_x86_64-pc-linux-gnu__GW-cuda</name>
    <executable/>
  </file_info>
  <app>
    <name>einsteinbinary_O3AS</name>
    <user_friendly_name>All-Sky Gravitational Wave search on O3</user_friendly_name>
    <non_cpu_intensive>0</non_cpu_intensive>
  </app>
  <app_version>
    <app_name>einsteinbinary_O3AS</app_name>
    <platform>x86_64-pc-linux-gnu</platform>
    <version_num>107</version_num>
    <api_version>7.3.0</api_version>
    <coproc>
      <type>CUDA</type>
      <count>1.0</count>
    </coproc>
    <file_ref>
      <file_name>einstein_O3AS_1.08_x86_64-pc-linux-gnu__GW-cuda</file_name>
      <main_program/>
    </file_ref>
    <file_ref>
        <file_name>O3ASHF1b_0.config</file_name>
    </file_ref>
    <file_ref>
        <file_name>O3ASHF1b_1.config</file_name>
    </file_ref>
    <dont_throttle/>
  </app_version>
</app_info>

Bernd Machenschalk
Bernd Machenschalk
Moderator
Administrator
Joined: 15 Oct 04
Posts: 4,273
Credit: 245,159,413
RAC: 14,348

- The name of the binary (and

- The name of the binary (and thus that of the plan class) will stay that way. Indeed with an own App an app_info.xml the name of the plan class is irrelevant, bun unless you specify the GPU usage in an app_config for a CUDA app it should contain "cuda".

- The size of the binary results from the CUDA libraries that are linked into it. Having a (mostly) "static" binary eases deployment and increases compatibility.

- could someone share a working app_info.xml here?

- I'm so glad that it works at all out there on a machine other than what it was built on. What distro is this?

BM

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3,700
Credit: 34,426,346,897
RAC: 39,612,507

here's my host running it.

here's my host running it. Ubuntu 22.04 with 6.5 kernel.

https://einsteinathome.org/host/12830576

this is my app_info.xml file:

Quote:


<app_info>

  <file>
    <name>einstein_O3AS_1.08_x86_64-pc-linux-gnu__GW-cuda</name>
    <executable/>
  </file>
  
  <file>
    <name>O3ASHF1b_0.config</name>
  </file>
  <file>
    <name>O3ASHF1b_1.config</name>
  </file>

<app>
<name>einstein_O3AS</name>
<user_friendly_name>All-Sky Gravitational Wave search on O3</user_friendly_name>
<non_cpu_intensive>0</non_cpu_intensive>
</app>

<app_version>
<app_name>einstein_O3AS</app_name>
<version_num>108</version_num>
<platform>x86_64-pc-linux-gnu</platform>
<avg_ncpus>1.000000</avg_ncpus>
<plan_class>GW-cuda</plan_class>
<api_version>7.3.0</api_version>
<file_ref>
<file_name>einstein_O3AS_1.08_x86_64-pc-linux-gnu__GW-cuda</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>O3ASHF1b_0.config</file_name>
</file_ref>
<file_ref>
<file_name>O3ASHF1b_1.config</file_name>
</file_ref>
<coproc>
<type>NVIDIA</type>
<count>1.0</count>
</coproc>
<dont_throttle/>
</app_version>

</app_info>



_________________________________________________________________________

DF1DX
DF1DX
Joined: 14 Aug 10
Posts: 102
Credit: 2,950,227,259
RAC: 1,897,701

Thanks Ian&Steve, it's

Thanks Ian&Steve, it's working now.
The first WUs are done, host 12801270.

Linux Mint 21.1 XFCE, Nvidia 535.161, NV4090.

(There are still two invalid WUs from July 2023 in my log).

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.