I'm attaching a modified version of test_gpuarray.py, for devices that don't
support double precision, in case this is useful to anyone else.
I made simple changes to check whether the device being tested supports
double precision, and if it doesn't, skip tests that require double
test_random, test_minmax, and test_subset_minmax were modified to skip the
64 bit tests.
test_astype gets skipped altogether, since this seems to test conversion
from single to double precision.
test_complex_bits simply gets skipped as I couldn't figure out a way to make
it work with a single precision type.
Anyway, I'm a novice to this, so I wouldn't advocate integrating these
changes unless someone else looks it over. I hope this is helpful. Thanks
for the responses guys.
On Sun, Apr 25, 2010 at 2:38 PM, Imran Haque <ihaque(a)stanford.edu> wrote:
Devices of compute capability 1.3 do support double. 1.2 and lower do not.
Chethan Pandarinath wrote:
> Hi Bryan, thanks for the quick reply. I understand the issue now.
> So it looks like any devices of compute capability 1.x would not have
> support for double precision (from section 126.96.36.199 of the NVIDIA CUDA
> Programming Guide).
> Does this seem like a reasonable way of checking for double precision
> support in the test script? e.g., :
> import pycuda.driver as cuda
> if dev.compute_capability() < (2,0):
> no double precision support, don't run those tests...
> On Fri, Apr 23, 2010 at 9:07 PM, Bryan Catanzaro <
> bryan.catanzaro(a)gmail.com <mailto:email@example.com>> wrote:
> The GPU in your MacBook doesn't support double precision, which is
> why these tests are failing. You're of course welcome to change the
> tests so that they check for
> double precision support before running them - that would probably
> help out others who end up in this situation.
> - bryan
> On Apr 23, 2010, at 5:41 PM, Chethan Pandarinath
> <mailto:firstname.lastname@example.org>> wrote:
> Hi everybody,
>> I've been working on installing PyCUDA on my MacBook (Snow
>> Leopard). I think I'm close to having it working, it's been quite
>> a long road: getting compatible versions of boost, setuptools,
>> pytools... anyway, I think I'm past all that.
>> I can now successfully run test_math.py and test_driver.py with no
>> I am having trouble, however, with test_gpuarray.py
>> I'm attaching the output from running the test script, with the
>> standard error appended as well.
>> $ arch -i386 python test_gpuarray.py >test_gpuarray_output.txt
>> There are a couple types of errors that I can see here:
>> E AssertionError: (array(-4.2129004090721698e+36),
>> -1.2509687918788644e+303, <type 'numpy.float64'>,
>> test_gpuarray.py:328: AssertionError
>> E assert array(-6.0786212321272663e+144) ==
>> test_gpuarray.py:357: AssertionError
>> E LaunchError: cuCtxPopCurrent failed: launch failed
>> /Library/Python/2.6/site-packages/pycuda/tools.py:504: LaunchError
>> E RuntimeError: make_default_context() wasn't able to
>> create a context on any of the 1 detected devices
>> /Library/Python/2.6/site-packages/pycuda/tools.py:216: RuntimeError
>> To tell you the truth I don't know how to begin debugging this. If
>> anyone can point me in the right direction, I'd greatly appreciate
>> it. Willing to provide any info that would help...
>> I'm running this on a MacBook, Snow Leopard (10.6.3), with an
>> NVIDIA GeForce 9400M. Using Python 2.6.1.
>> -- Chethan Pandarinath
>> PyCUDA mailing list
>> PyCUDA(a)host304.hostmonster.com <mailto:PyCUDA@host304.hostmonster.com
> Chethan Pandarinath
> chethan.pandarinath(a)gmail.com <mailto:email@example.com>
> PyCUDA mailing list