gtcasl/gpuocelot

Replace Atomic intrinsic by atomicrmw instruction in LLVM

Closed this issue · 1 comments

From wangjin....@gmail.com on January 24, 2012 15:12:14

What steps will reproduce the problem? 1.Compile SDK 4.0 App Mandelbrot and link against ocelot.
2.Set device backend as LLVM in configure.ocelot
3.Use LLVM SVN version or version >= 3.0
4.Run the app. What is the expected output? What do you see instead? Error reported: LLVM ERROR: Program used external function 'llvm.atomic.load.add.i32.p0i32' which could not be resolved! Please use labels and text to provide additional information. LLVM 3.0 does not support llvm.atomic.load.add intrinsic (or other atomic intrinsic) anymore. It now uses instruction "atomicrmw" instead.

Cuda Tookit 4.1, SDK 4.0

Original issue: http://code.google.com/p/gpuocelot/issues/detail?id=64

From gregory....@gatech.edu on May 02, 2012 10:43:51

This should be fixed now, the LLVM backend is now up to date with the new LLVM atomic memory instructions.

Status: Fixed