[gmx-developers] GROMACS OpenCL on Gallium

Vedran Miletić rivanvx at gmail.com
Fri Nov 27 20:35:41 CET 2015

After a bit of compiling of latest llvm/clang/libclc/mesa, on r600g we
get as far as:

Running on 1 node with total 2 cores, 2 logical cores, 1 compatible GPU
Hardware detected on host akari (the node of MPI rank 0):
  CPU info:
    Vendor: AuthenticAMD
    Brand:  AMD Athlon(tm) 64 X2 Dual Core Processor 3600+
    SIMD instructions most likely to fit this hardware: SSE2
    SIMD instructions selected at GROMACS compile time: SSE2
  GPU info:
    Number of GPUs detected: 1
    #0: name: AMD CAICOS (DRM 2.43.0, LLVM 3.8.0), vendor: AMD, device
version: OpenCL 1.1 MESA 11.1.0-devel, stat: compatible

Reading file em.tpr, VERSION 5.1-dev-20150219-7c30fcf-unknown (single precision)
Note: file tpx version 100, software tpx version 106
Using 1 MPI process
Using 2 OpenMP threads

1 compatible GPU is present, with ID 0
1 GPU auto-selected for this run.
Mapping of GPU ID to the 1 PP rank in this node: 0

Selecting kernel for AMD
LLVM ERROR: Cannot select: 0x1214be0: i32,ch = AtomicCmpSwap<Volatile
LDST4[%1034(addrspace=1)]> 0x1d514f0, 0x152efe0, 0xfd3b00, 0x12170c0
  0x152efe0: i32,ch = CopyFromReg 0x1d514f0, Register:i32 %vreg266
    0x100a750: i32 = Register %vreg266
  0xfd3b00: i32,ch = CopyFromReg 0x1d514f0, Register:i32 %vreg268
    0x100b200: i32 = Register %vreg268
  0x12170c0: i32 = bitcast 0x12228b0
    0x12228b0: f32 = fadd 0x12145f0, 0xfd1fa0
      0x12145f0: f32,ch = CopyFromReg 0x1d514f0, Register:f32 %vreg265
        0x12164e0: f32 = Register %vreg265
      0xfd1fa0: f32 = bitcast 0xfd3b00
        0xfd3b00: i32,ch = CopyFromReg 0x1d514f0, Register:i32 %vreg268
          0x100b200: i32 = Register %vreg268
In function: nbnxn_kernel_ElecEw_VdwLJ_F_opencl

Tom Stellard said this is due to missing global atomic compare and
swap on r600, which will be very difficult to implement. So, this is
as far as we get with older cards. I'm going to try radeonsi next


Vedran Miletić

More information about the gromacs.org_gmx-developers mailing list