Calling convolve3 on multiple devices fails with the following code, although the inner loop runs successfully on each device individually. Tested on GeForce GTX TITAN Black, 6144 MB, CUDA Compute 3.5
ArrayFire v3.4.0 (CUDA, 64-bit Linux, build 3dbb7a9 )
Platform: CUDA Toolkit 7, Driver: 346.46
try {
int ndevices = getDeviceCount();
for (int i = 0; i < ndevices ; i++)
{
setDevice(i); // hardcoding this to any available device works
int n = 25;
array x = randu(100,100,100);
int t_dim = 50;
array all_t = randu(t_dim, t_dim, t_dim, n);
for (int j = 0; j < n; j++){
convolve3(x,all_t(span,span,span,j), AF_CONV_EXPAND);
}
}
} catch (af::exception& e) {
fprintf(stderr, "%s\n", e.what());
throw;
}