The Numba test suite, when run with the pynvjitlink patch, fails some tests. To run the test suite with the patch, the following script can be used:
Ran 1462 tests in 134.056s
FAILED (errors=28, skipped=33, expected failures=11)
======================================================================
ERROR: test_ex_linking_cu (numba.cuda.tests.doc_examples.test_ffi.TestFFI.test_ex_linking_cu)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/gmarkall/numbadev/numba/numba/cuda/tests/doc_examples/test_ffi.py", line 42, in test_ex_linking_cu
multiply_vectors[1, 32](r, x, y)
File "/home/gmarkall/numbadev/numba/numba/cuda/dispatcher.py", line 539, in __call__
return self.dispatcher.call(args, self.griddim, self.blockdim,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gmarkall/numbadev/numba/numba/cuda/dispatcher.py", line 673, in call
kernel = _dispatcher.Dispatcher._cuda_call(self, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gmarkall/numbadev/numba/numba/cuda/dispatcher.py", line 681, in _compile_for_args
return self.compile(tuple(argtypes))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gmarkall/numbadev/numba/numba/cuda/dispatcher.py", line 926, in compile
kernel.bind()
File "/home/gmarkall/numbadev/numba/numba/cuda/dispatcher.py", line 197, in bind
self._codelibrary.get_cufunc()
File "/home/gmarkall/numbadev/numba/numba/cuda/codegen.py", line 195, in get_cufunc
cubin = self.get_cubin(cc=device.compute_capability)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gmarkall/numbadev/numba/numba/cuda/codegen.py", line 172, in get_cubin
linker.add_file_guess_ext(path)
File "/home/gmarkall/numbadev/numba/numba/cuda/cudadrv/driver.py", line 2656, in add_file_guess_ext
self.add_cu_file(path)
File "/home/gmarkall/numbadev/numba/numba/cuda/cudadrv/driver.py", line 2648, in add_cu_file
self.add_cu(cu, os.path.basename(path))
File "/home/gmarkall/numbadev/nvjitlink/pynvjitlink/patch.py", line 129, in add_cu
self.add_ptx(program.ptx.rstrip(b"\x00"), ptx_name)
^^^^^^^^^^^
AttributeError: 'NvrtcProgram' object has no attribute 'ptx'
----------------------------------------------------------------------