inducer / pyopencl

OpenCL integration for Python, plus shiny features
http://mathema.tician.de/software/pyopencl
Other
1.06k stars 241 forks source link

test_mempool_32bit_issues fails on 32-bit architectures #519

Closed anbe42 closed 3 years ago

anbe42 commented 3 years ago

pyopencl fails one of its tests on 32-bit architectures: i386, armel, armhf This can be seen in the Debian builds of 2021.2.2: https://buildd.debian.org/status/package.php?p=pyopencl&suite=unstable but I can also reproduce it with 2021.2.8 locally:

=================================== FAILURES ===================================
__________________________ test_mempool_32bit_issues ___________________________

    def test_mempool_32bit_issues():
        # https://github.com/inducer/pycuda/issues/282
        from pyopencl._cl import _TestMemoryPool
        pool = _TestMemoryPool()

        for i in [30, 31, 32, 33, 34]:
            for offs in range(-5, 5):
>               pool.allocate(2**i + offs)
E               TypeError: allocate(): incompatible function arguments. The following argument types are supported:
E                   1. (self: pyopencl._cl._TestMemoryPool, arg0: int) -> None
E
E               Invoked with: <pyopencl._cl._TestMemoryPool object at 0xd14722c0>, 4294967296

test_wrapper.py:592: TypeError

I don't think it is an error not being able to allocate ~4 GB or more on a platform with 32-bit address space.

inducer commented 3 years ago

Thanks for the report. See #521.