OpenCL

PoCL 

full decoder kernel  endless loop with new loop vectorizer. Minimal reproducer:

__kernel void decode(uchar flags)
{
  const ushort N = 1;

  for (ushort i = 0; i < N; i++) {
    if (i != N - 1 || flags) {
      work_group_reduce_add(0);
    }
  }
}

PoCL devs already have a patch set that also fixes this issue.

New issue: Crash when compiling stream compaction kernel to machine code in clusterizer. (TODO: reproducer)

Original issues in ZS decoder still persist even with new compiler (Maybe caused by O2 after all?)

 

New GPU Servers

Wanted to buy new GPU machines for a) development and b) CI Tests that run GPU code.

Both machines should have AMD + Nvidia GPU.

Ideally, just buy two new server -> not possible due to budget constraints.

Dev machine -> Buy parts and build server scratch

CI machine -> Add GPUs to existing machine

Two candidates for CI: alibi and alinsure

alibi


alinsure

 

 

How far can we get if we build both machines from scratch instead?

Peter mentioned remaining budget of 8000CHF + 4000CHF over budget should be ok -> Assume 12000 CHF

CI Machine

Can have smaller CPU and GPU, only needs to compile GPU standalone:

Minimal configuration: 

 

Total price inc basic components (Mainboard, case, etc): ~5000 CHF

 

GPU Machine

Max configuration possible with remaining bugdet:

 

Total price inc basic components: ~7000 CHF

Updgrades possible if we don't need to buy a CI Machine: