E@H on a ~2009 HP server ?

magic_sam
magic_sam
Joined: 30 Dec 21
Posts: 23
Credit: 556699183
RAC: 841
Topic 226915

Dear all,

I'm considering upgrading an old HP server from ~2009 to make it crunch for Einstein@Home:

https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-c00884785

CPU is an AMD Opteron 1214 @ 2.2GHz (AM2 socket)

Chipset is an nVidia MCP55S Pro:

https://www.supermicro.com/Aplus/motherboard/Opteron1000/MCP55/H8SMU.cfm

I first reinstalled the OS this afternoon. That server is now running GNU/Linux Debian 11 x86_64.

Then I installed boinc-client and boinctui packages.

After joining my pool, Boinc refused to run any CPU job because it only had 420MB of RAM available... So I ordered 4 GB of DDR2 RAM :)

I may try to get my hands on some GPU from that period: AMD / ATI Radeon HD 5xxx / 6xxx and 7xxx cards seem to be a good fit for that server (PCIe 2.1 x16).

What are the small details I should be paying close attention to prior to placing my order ? Are there any minimal requirements to be able to run E@H GPU jobs ?

Best regards,

Samuel

archae86
archae86
Joined: 6 Dec 05
Posts: 3160
Credit: 7261061915
RAC: 1545584

Not in my opinion a small

Not in my opinion a small detail, but something for you to consider:

Running hardware from that era with Einstein production as the major purpose incurs a major penalty in power consumption per unit useful work contributed.  Unless you somehow have nearly free power (surplus from your own solar array, private power dam ...) this excess cost is likely to spoil the seeming advantage of low purchase cost of the hardware.

magic_sam
magic_sam
Joined: 30 Dec 21
Posts: 23
Credit: 556699183
RAC: 841

Dear Archae86, Very good

Dear Archae86,

Very good piece of advice indeed. I was actually thinking about a low TDP GPU such as the Radeon HD 7450 (Caicos), only 18 watts at maximum power.

I could also try to swap the current Opteron 1214 (max TDP: 95W) for a less greedy CPU, like Semprons or Phenoms, if the motherboard agrees, of course.

Best regards,

Samuel

magic_sam
magic_sam
Joined: 30 Dec 21
Posts: 23
Credit: 556699183
RAC: 841

Dear all, I ran some tests

Dear all,

I ran some tests this morning with a wattmeter:

Idle: ~70W

While running boinctui benchmarks: 135W

That old fellow is online btw: https://einsteinathome.org/show_host_detail.php?hostid=12917763

Best regards,

Samuel

magic_sam
magic_sam
Joined: 30 Dec 21
Posts: 23
Credit: 556699183
RAC: 841

Dear all, I went ahead and

Dear all,

I went ahead and bought the AMD Radeon HD 7450 GPU card. I get the following error when trying to run GPU tasks:

OpenCL compiling FAILED! : -11 . Error message: input.cl:7:26: error: unsupported OpenCL extension 'cl_khr_fp64' - ignoring [-Werror,-Wignored-pragmas]

input.cl:10:30: error: unknown type name 'double2'; did you mean 'double'?
input.cl:10:30: error: use of type 'double' requires cl_khr_fp64 extension to be enabled

OpenCL device has no FP64 support
LLVM ERROR: Cannot select: 0x4008008: i32,ch = AtomicCmpSwap<(load store seq_cst seq_cst 4 on %ir.1458, addrspace 1)> 0x2deecd8, 0x4007a58, 0x4010620, 0x35fa4d8

What am I doing wrong ?

Best regards,

Samuel

Keith Myers
Keith Myers
Joined: 11 Feb 11
Posts: 5009
Credit: 18892240341
RAC: 6035602

If you look at your scheduler

If you look at your scheduler reply for each request you will find this:

[version] device (or driver) doesn't support double precision fp math

You need a card and driver that is capable of FP64 double precision maths

You card is too old to do that.

You might try a different project that doesn't need FP64 support.

[Edit] It's bad that the Einstein scheduler server BOINC code just doesn't abort trying to send you any work at all when it gets the no FP64 support reply.  It shouldn't have wasted your and the projects time sending you work in the first place.

Read through these threads. please-implement-gpu-test-fp64-support-sending-or-starting-wus

ERRORS RAMPING UP AGAIN? 

Also card only has 1GB of memory which is not sufficient to process the FGRPB1G and OAS gpu tasks.

Choose a different card or project with lesser hardware requirements.

 

Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5874
Credit: 118227546534
RAC: 24434447

magic_sam wrote:I went ahead

magic_sam wrote:
I went ahead and bought the AMD Radeon HD 7450 GPU card. I get the following error when trying to run GPU tasks:

FP64 support (if available in the GPU) is only used for the followup stage. This is the part between ~90% and 100% where no visible progress occurs until the very end.  In the first link that Keith posted, you can see a comment from Christian Beer (Project staff member at the time) explaining that the lack of FP64 was not a show stopper.  The main crunching doesn't use double precision and if the GPU doesn't have FP64 support then the app (at that time) would use the CPU for the followup stage.  The main disadvantage of that would be a very slow followup stage.

However the app may have changed since then so this may not still apply now.  I don't recall any further comment about this from the staff so we just don't know for sure.

Your computers are 'hidden' so we can't see the full details of task failures that get sent back to the project.  It would be helpful if your computers weren't hidden (your preference choice) or if you supplied a link to the host in question on the website.  The full stderr content for a failed task might reveal more information

I did some research on HD 7450 GPUs.  According to Wikipedia, they came in 512MB and 1GB versions.  The smaller memory size would not be enough to get any tasks so I guess you must have a 1GB card.  You could get GRP tasks with 1GB but not GW tasks.

The architecture of a 7450 is TeraScale 2 which preceded Graphics Core Next (GCN).  I don't think you'll have any success with GRP tasks on architectures older than GCN.

I use a lot of GCN cards (all generations - 1 to 4) and had to jump through hoops to get the 1st gen cards to work correctly.  The 1st gen was called 'Southern Islands' and they do work under Linux if certain kernel parameters are supplied in the boot stanza and if the kernel config was set up to support those particular parameters.

The two extra boot parameters are "radeon.si_support=0" and "amdgpu.si_support=1".  Effectively, this allows modern Linux kernels using the amdgpu driver to properly handle 1st gen (SI) cards.  Even there, the 1st gen support is listed as 'experimental' by AMD but it's been that way for a long time and I've always had no trouble with Einstein GRP tasks once those parameters were specified.

If you want a cheap card that will work, the minimum I would use would be a HD 7750 or HD 7770 which are both GCN 1st gen (SI) cards.  They will need a 6 pin PCIe power cable and your PSU will need to support that.

If you want to get more power efficiency with no extra PCIe power cable needed, I would suggest a GCN gen 4 card like the RX 460.  Many came without the PCIe power connection point since they don't exceed the power limit of the PCIe x16 motherboard slot.  They came out around 2017 and are not used for mining so they shouldn't be very expensive, 2nd hand.  I run 2 tasks concurrently on mine in ~29-30 mins, ie. ~15 mins per task effectively.

Cheers,
Gary.

Keith Myers
Keith Myers
Joined: 11 Feb 11
Posts: 5009
Credit: 18892240341
RAC: 6035602

Thanks for the updated

Thanks for the updated comments Gary. Someplace in the last six months there was a post by Bernd, or maybe yourself, I believe that explained the period between 90 and 100% was when the top list of candidates was sorted and I thought I remember mention that those calcs needed to be done in double-precision before handing back to the cpu for follow up sorting also with double-precision.  But I could be completely wrong.

I know that 1GB is not enough for the OAS tasks.  And based on my viewing of my current FGRPB1G tasks with nvidia-smi, I know that they take 2GB also.  But I don't know how they behave on AMD hardware as I've never used that before.

 

magic_sam
magic_sam
Joined: 30 Dec 21
Posts: 23
Credit: 556699183
RAC: 841

Dear Keith and Gary, Thank

Dear Keith and Gary,

Thank you both for taking the time to reply to this thread, really appreciated :)

The host in question is there: https://einsteinathome.org/show_host_detail.php?hostid=12917763

The GPU is an AMD Radeon HD 7450 with 1GB of RAM.

You are right about the instruction set, it's indeed TeraScale 2:

https://en.wikipedia.org/wiki/Radeon_HD_7000_series

Looks like I picked up the wrong card for the job, sorry about that... :(

The limiting factor in my case is that I only have a PCIe 2.1 x16 port. As far as I understand all the GCN cards require some PCIe 3.0 x16 port.

I'm attaching the full log file at the bottom of this post.

Best regards,

Samuel

--

18:56:16 (485): [normal]: This Einstein@home App was built at: Jan 16 2017 08:09:16

18:56:16 (485): [normal]: Start of BOINC application '../../projects/einsteinathome.org/hsgamma_FGRPB1G_1.18_x86_64-pc-linux-gnu__FGRPopencl1K-ati'.
18:56:16 (485): [debug]: 1e+16 fp, 2.7e+09 fp/s, 3883710 s, 1078h48m30s22
command line: ../../projects/einsteinathome.org/hsgamma_FGRPB1G_1.18_x86_64-pc-linux-gnu__FGRPopencl1K-ati --inputfile ../../projects/einsteinathome.org/LATeah3012L01.dat --alpha 2.59819959601 --delta -0.694603692878 --skyRadius 1.890770e-06 --ldiBins 15 --f0start 836.0 --f0Band 8.0 --firstSkyPoint 0 --numSkyPoints 1 --f1dot -1e-13 --f1dotBand 1e-13 --df1dot 1.69860773e-15 --ephemdir ../../projects/einsteinathome.org/JPLEPH --Tcoh 2097152.0 --toplist 10 --cohFollow 10 --numCells 1 --useWeights 1 --Srefinement 1 --CohSkyRef 1 --cohfullskybox 1 --mmfu 0.1 --reftime 56100 --model 0 --f0orbit 0.005 --mismatch 0.1 --demodbinary 1 --BinaryPointFile ../../projects/einsteinathome.org/templates_LATeah3012L01_0844_10065528.dat --debug 0 --device 0 -o LATeah3012L01_844.0_0_0.0_10065528_1_0.out
output files: 'LATeah3012L01_844.0_0_0.0_10065528_1_0.out' '../../projects/einsteinathome.org/LATeah3012L01_844.0_0_0.0_10065528_1_0' 'LATeah3012L01_844.0_0_0.0_10065528_1_0.out.cohfu' '../../projects/einsteinathome.org/LATeah3012L01_844.0_0_0.0_10065528_1_1'
18:56:16 (485): [debug]: Flags: X64 SSE SSE2 GNUC X86 GNUX86
18:56:16 (485): [debug]: glibc version/release: 2.31/stable
18:56:16 (485): [debug]: Set up communication with graphics process.
boinc_get_opencl_ids returned [0x18b6d28 , 0x7f9daac01b60]
Using OpenCL platform provided by: Mesa
Using OpenCL device "AMD CAICOS (DRM 2.50.0 / 5.15.0-0.bpo.2-amd64, LLVM 11.0.1)" by: AMD
Max allocation limit: 751619276
Global mem size: 1073741824
OpenCL compiling FAILED! : -11 . Error message: input.cl:7:26: error: unsupported OpenCL extension 'cl_khr_fp64' - ignoring [-Werror,-Wignored-pragmas]
input.cl:10:30: error: unknown type name 'double2'; did you mean 'double'?
input.cl:10:30: error: use of type 'double' requires cl_khr_fp64 extension to be enabled

OpenCL device has no FP64 support
LLVM ERROR: Cannot select: 0x2255888: i32,ch = AtomicCmpSwap<(load store seq_cst seq_cst 4 on %ir.1458, addrspace 1)> 0x1869d08, 0x22552d8, 0x2b00930, 0x1fb2db8
  0x22552d8: i32,ch = CopyFromReg 0x1869d08, Register:i32 %241
    0x2b29100: i32 = Register %241
  0x2b00930: i32,ch = CopyFromReg 0x1869d08, Register:i32 %243
    0x2b2b188: i32 = Register %243
  0x1fb2db8: i32 = bitcast 0x29e04a0
    0x29e04a0: f32 = fadd 0x2b00a68, 0x22558f0
      0x2b00a68: f32,ch = CopyFromReg 0x1869d08, Register:f32 %235
        0x1fb2d50: f32 = Register %235
      0x22558f0: f32 = bitcast 0x2b00930
        0x2b00930: i32,ch = CopyFromReg 0x1869d08, Register:i32 %243
          0x2b2b188: i32 = Register %243
In function: kernel_ts_2_phase_diff_sorted

-- signal handler called: signal 6
7 stack frames obtained for this thread:
Frame 27:
    Binary file: ../../projects/einsteinathome.org/hsgamma_FGRPB1G_1.18_x86_64-pc-linux-gnu__FGRPopencl1K-ati (0x48b101)
    Source file: hs_boinc_extras.c (Function: sighandler / Line: 291)
Frame 26:
    Binary file: /lib/x86_64-linux-gnu/libc.so.6 (0x7f9daac50ce1)
    Offset info: gsignal+0x141
Frame 25:
    Binary file: /lib/x86_64-linux-gnu/libc.so.6 (0x7f9daac50ce1)
    Offset info: gsignal+0x141
Frame 24:
    Binary file: /lib/x86_64-linux-gnu/libc.so.6 (0x7f9daac3a537)
    Offset info: abort+0x123
Frame 23:
    Binary file: /lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x7f9da376ad68)
    Offset info: +0xb20d68
Frame 22:
    Binary file: /lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x7f9da376ad87)
    Offset info: +0xb20d87
Frame 21:
    Binary file: /lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x7f9da3e862f2)
    Offset info: +0x123c2f2
Frame 20:
    Binary file: /lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x7f9da3e859c5)
    Offset info: _ZN4llvm16SelectionDAGISel16SelectCodeCommonEPNS_6SDNodeEPKhj+0x3555
Frame 19:
    Binary file: /lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x7f9da3e7f0bf)
    Offset info: _ZN4llvm16SelectionDAGISel22DoInstructionSelectionEv+0x18f
Frame 18:
    Binary file: /lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x7f9da3e7e730)
    Offset info: _ZN4llvm16SelectionDAGISel17CodeGenAndEmitDAGEv+0x580
Frame 17:
    Binary file: /lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x7f9da3e7da52)
    Offset info: _ZN4llvm16SelectionDAGISel20SelectAllBasicBlocksERKNS_8FunctionE+0x17b2
Frame 16:
    Binary file: /lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x7f9da3e7b751)
    Offset info: _ZN4llvm16SelectionDAGISel20runOnMachineFunctionERNS_15MachineFunctionE+0x7d1
Frame 15:
    Binary file: /lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x7f9da3aee1ae)
    Offset info: _ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0x10e
Frame 14:
    Binary file: /lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x7f9da392a059)
    Offset info: _ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x3b9
Frame 13:
    Binary file: /lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x7f9da392f603)
    Offset info: _ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x33
Frame 12:
    Binary file: /lib/x86_64-linux-gnu/libLLVM-11.so.1 (0x7f9da392a670)
    Offset info: _ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3e0
Frame 11:
    Binary file: /lib/x86_64-linux-gnu/libMesaOpenCL.so.1 (0x7f9daabc07fd)
    Offset info: +0x8b7fd
Frame 10:
    Binary file: /lib/x86_64-linux-gnu/libMesaOpenCL.so.1 (0x7f9daabc0bea)
    Offset info: +0x8bbea
Frame 9:
    Binary file: /lib/x86_64-linux-gnu/libMesaOpenCL.so.1 (0x7f9daabbdb8e)
    Offset info: +0x88b8e
Frame 8:
    Binary file: /lib/x86_64-linux-gnu/libMesaOpenCL.so.1 (0x7f9daab8a888)
    Offset info: +0x55888
Frame 7:
    Binary file: /lib/x86_64-linux-gnu/libMesaOpenCL.so.1 (0x7f9daab6c903)
    Offset info: +0x37903
Frame 6:
    Binary file: ../../projects/einsteinathome.org/hsgamma_FGRPB1G_1.18_x86_64-pc-linux-gnu__FGRPopencl1K-ati (0x48d609)
    Offset info: initialize_ocl+0x9a9
    Source file: unknown (Function: initialize_ocl / Line: 0)
Frame 5:
    Binary file: ../../projects/einsteinathome.org/hsgamma_FGRPB1G_1.18_x86_64-pc-linux-gnu__FGRPopencl1K-ati (0x48dc7b)
    Offset info: gen_fft_get_ctx+0x14b
    Source file: unknown (Function: gen_fft_get_ctx / Line: 0)
Frame 4:
    Binary file: ../../projects/einsteinathome.org/hsgamma_FGRPB1G_1.18_x86_64-pc-linux-gnu__FGRPopencl1K-ati (0x4795fc)
    Offset info: MAIN+0x15c
    Source file: HSgammaPulsar.c (Function: MAIN / Line: 4230)
Frame 3:
    Binary file: ../../projects/einsteinathome.org/hsgamma_FGRPB1G_1.18_x86_64-pc-linux-gnu__FGRPopencl1K-ati (0x46c06f)
    Offset info: main+0x5ff
    Source file: hs_boinc_extras.c (Function: worker / Line: 833)
    Source file: hs_boinc_extras.c (Function: main / Line: 1039)
Frame 2:
    Binary file: /lib/x86_64-linux-gnu/libc.so.6 (0x7f9daac3bd0a)
    Offset info: __libc_start_main+0xea
Frame 1:
    Binary file: ../../projects/einsteinathome.org/hsgamma_FGRPB1G_1.18_x86_64-pc-linux-gnu__FGRPopencl1K-ati (0x46e569)
    Source file: unknown (Function: _start / Line: 0)

End of stcaktrace
18:56:21 (485): called boinc_finish

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 4039
Credit: 47910342969
RAC: 35926981

PCIe is backwards compatible.

PCIe is backwards compatible. you could plug the card into a PCIe 1.0 slot and it will still work, but only at the slower speeds. Einstein gamma ray isnt too sensitive to PCIe bandwidth anyway so it should be no problem.

_________________________________________________________________________

magic_sam
magic_sam
Joined: 30 Dec 21
Posts: 23
Credit: 556699183
RAC: 841

Dear all, Thank you all

Dear all,

Thank you all for your help on that matter, really appreciated.

I believe the Radeon R5 240 would be a good candidate for what I'm trying to achieve:

https://en.wikipedia.org/wiki/Radeon_Rx_200_series

- GCN 1st gen

- Compatible with double precision

- Comes in 1GB or 2GB RAM versions

- Low TDP (30W)

- PCIe 3.0 x8 (max data rate at 7.8 GB/s, i.e less than the max data rate of PCIe 2.0 x16 (8 GB/s), so less likely to oversaturate the bandwidth).

Opinions ?

Best regards,

Samuel

Comment viewing options

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