CAL run time, Multi-core and 4850 x2

Discussion created by ddmulhal on Sep 27, 2009
Latest reply on Sep 27, 2009 by empty_knapsack
Does CAL run time support multiple processes ?


I'm new to ATI Stream and have a question about using multiple GPU's.

Most of the documentation talks about thread safety but I have found little information telling me if the CAL run time supports multiple processes.

In particular I would like to use a dual core CPU with a 4850 X2 and map a process to each core such that each one uses it's own CPU/GPU pair.

Process A -> Core 0  -> 4850 X2 GPU 0

Process B -> Core 1 -> 4850 X2 GPU 1

As a simple test I tried using the simple_matmult executable that came with the 1.4 beta CAL SDK.

Basic system setup

Fedora Core 10 x86_64
CAL SDK 1.4 beta
Catalyst 9.8

After disabling crossfire I try to execute two copies of simple_matmult simultaneously.

In one terminal session I execute:

simple_matmult -r 10000 -d 0

In a separate terminal session I execute:

simple_matmult -r 10000 -d 1

After a few tries I will get a lock-up and eventually the kernel reports something similar to the following.

node00 kernel: BUG: soft lockup - CPU#1 stuck for 61s! [simple_matmult:7830]
node00 kernel: BUG: soft lockup - CPU#0 stuck for 61s! [Xorg:6299]

Before I delve farther into the kernel dumps and try figure out what happened I'm curious if the CAL run time even supports what I am trying to do ?

Additional Info:
I have been able to successfully execute simple_matmult on each GPU individually and even simultaneously run multiple copies on the same GPU. It's just when I try to run a copy on each GPU that I get the lock up.