cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

ddmulhal
Journeyman III

CAL run time, Multi-core and 4850 x2

Does CAL run time support multiple processes ?

Hello:

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.

0 Likes
1 Reply

Try to use Catalyst 9.9. I don't know much about linux drivers but I had several problems with driver lock-ups under Vista64 related to memcopy routines (calResMap & calMemCopy). Also you can try to remove all memcopy to/from devices to check out if it's a reason.

In theory it's no problem to run multiple processes/threads with CAL. In practice you need to fight through CAL SDK and its bugs. I've finished with using only pinned memory when running multiple CAL devices.

 

 

0 Likes