Hi Tomasz,

Tomasz Rybak <[email protected]> writes:
> I've been packaging PyCUDA for Debian.
> I run all the tests to ensure that package works on Python 2
> and Python 3. All tests pass except for on from test_driver.py:
>
> $ python test_driver.py 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _ _ _ _ 
>
> self = <test_driver.TestDriver instance at 0x24e7d88>
>
>     @mark_cuda_test
>     def test_register_host_memory(self):
>         if drv.get_version() < (4,):
>             from py.test import skip
>             skip("register_host_memory only exists on CUDA 4.0 and
> later")
>     
>         import sys
>         if sys.platform == "darwin":
>             from py.test import skip
>             skip("register_host_memory is not supported on OS X")
>     
>         a = drv.aligned_empty((2**20,), np.float64, alignment=4096)
>>       drv.register_host_memory(a)
> E       LogicError: cuMemHostRegister failed: invalid value
>
> test_driver.py:559: LogicError
> ==================== 1 failed, 20 passed in 116.85 seconds
> =====================
>
> This test fails both on ION (GeForce 9400M, CC 1.1) and GeForce 460
> (CC 2.1). I've compiled PyCUDA with gcc 4.8, run with kernel 3.9
> and drivers 304.88.

Oddly enough, I know about this issue already--my CI server keeps
bugging me about it. I looked into it, but unfortunately I don't quite
know what to make of it. The pointer that gets fed to CUDA has the right
alignment. The same code used to work. The docs for cuMemHostRegister
don't require anything in particular about the arguments passed. I'm
really at a loss.

My leading theory is "driver bug", but again, I'm not sure. I'd very
much appreciate any insight...

Andreas

_______________________________________________
PyCUDA mailing list
[email protected]
http://lists.tiker.net/listinfo/pycuda

Reply via email to