Skip to content

Commit 0855702

Browse files
authored
Merge pull request #8287 from gmarkall/drop-cuda-10-2
Drop CUDA 10.2
2 parents 301aa82 + a9c095e commit 0855702

10 files changed

Lines changed: 18 additions & 40 deletions

File tree

‎buildscripts/gpuci/axis.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ CUDA_VER:
55
- "11.2"
66

77
CUDA_TOOLKIT_VER:
8-
- "10.2"
8+
- "11.0"
99
- "11.1"
1010
- "11.2"
1111
- "11.5"

‎docs/source/cuda/cooperative_groups.rst‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,7 @@ synchronization, along with cooperative kernel launches.
1111
Cooperative groups are supported on Linux, and Windows for devices in `TCC
1212
mode
1313
<https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#tesla-compute-cluster-mode-for-windows>`_.
14-
Cooperative Groups also require the CUDA Device Runtime library, ``cudadevrt``,
15-
to be available - for conda default channel-installed CUDA toolkit packages, it
16-
is only available in versions 10.2 onwards. System-installed toolkits (e.g. from
17-
NVIDIA distribution packages or runfiles) all include ``cudadevrt``.
14+
1815

1916
Using Grid Groups
2017
-----------------

‎docs/source/cuda/overview.rst‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Numba aims to support CUDA Toolkit versions released within the last 3 years.
5858
An NVIDIA driver sufficient for the toolkit version is also required.
5959
Presently:
6060

61-
* 10.2 is the minimum required toolkit version.
61+
* 11.0 is the minimum required toolkit version.
6262
* 11.2 or later is recommended, as it uses an NVVM version based on LLVM 7 (as
6363
opposed to 3.4 in earlier releases).
6464

‎docs/source/reference/deprecation.rst‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -289,10 +289,10 @@ Schedule
289289
- In Numba 0.56: ``add_user_function()`` was removed.
290290

291291

292-
Deprecation and removal of CUDA Toolkits < 10.2 and devices with CC < 5.3
292+
Deprecation and removal of CUDA Toolkits < 11.0 and devices with CC < 5.3
293293
=========================================================================
294294

295-
- Support for CUDA toolkits less than 10.2 was deprecated and removed.
295+
- Support for CUDA toolkits less than 11.0 has been removed.
296296
- Support for devices with Compute Capability < 5.3 is deprecated and will be
297297
removed in the future.
298298

@@ -302,11 +302,12 @@ Recommendations
302302

303303
- For devices of Compute Capability 3.0 and 3.2, Numba 0.55.1 or earlier will
304304
be required.
305-
- CUDA toolkit 10.2 or later (ideally 11.2 or later) should be installed.
305+
- CUDA toolkit 11.0 or later (ideally 11.2 or later) should be installed.
306306

307307
Schedule
308308
--------
309309

310310
- In Numba 0.55.1: support for CC < 5.3 and CUDA toolkits < 10.2 was deprecated.
311311
- In Numba 0.56: support for CC < 3.5 and CUDA toolkits < 10.2 was removed.
312-
- In Numba 0.57: support for CC < 5.3 will be removed.
312+
- In Numba 0.57: Support for CUDA toolkit 10.2 was removed. Support for CC < 5.3
313+
will be removed.

‎docs/source/reference/envvars.rst‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,7 @@ GPU support
456456
The default compute capability (a string of the type ``major.minor``) to
457457
target when compiling to PTX using ``cuda.compile_ptx``. The default is
458458
5.2, which is the lowest non-deprecated compute capability in the most
459-
recent version of the CUDA toolkit supported (10.2 at present).
459+
recent version of the CUDA toolkit supported (11.0 at present).
460460

461461
.. envvar:: NUMBA_ENABLE_CUDASIM
462462

‎numba/cuda/cudadrv/nvvm.py‎

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -349,16 +349,11 @@ def get_supported_ccs():
349349

350350
ctk_ver = f"{cudart_version[0]}.{cudart_version[1]}"
351351
unsupported_ver = f"CUDA Toolkit {ctk_ver} is unsupported by Numba - " \
352-
+ "10.2 is the minimum required version."
352+
+ "11.0 is the minimum required version."
353353

354354
# List of supported compute capability in sorted order
355355
if cudart_version == (0, 0):
356356
_supported_cc = ()
357-
elif cudart_version == (10, 2):
358-
_supported_cc = ((3, 5), (3, 7),
359-
(5, 0), (5, 2), (5, 3),
360-
(6, 0), (6, 1), (6, 2),
361-
(7, 0), (7, 2), (7, 5))
362357
elif cudart_version == (11, 0):
363358
_supported_cc = ((3, 5), (3, 7),
364359
(5, 0), (5, 2), (5, 3),
@@ -429,7 +424,7 @@ def get_arch_option(major, minor):
429424

430425

431426
MISSING_LIBDEVICE_FILE_MSG = '''Missing libdevice file.
432-
Please ensure you have package cudatoolkit >= 10.2
427+
Please ensure you have package cudatoolkit >= 11.0
433428
Install package by:
434429
435430
conda install cudatoolkit

‎numba/cuda/cudadrv/runtime.py‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,8 @@ def supported_versions(self):
128128
if sys.platform not in ('linux', 'win32') or config.MACHINE_BITS != 64:
129129
# Only 64-bit Linux and Windows are supported
130130
return ()
131-
return ((9, 2),
132-
(10, 0), (10, 1), (10, 2),
133-
(11, 0), (11, 1), (11, 2))
131+
return ((11, 0), (11, 1), (11, 2), (11, 3), (11, 4), (11, 5), (11, 6),
132+
(11, 7))
134133

135134

136135
runtime = Runtime()

‎numba/cuda/cudaimpl.py‎

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -502,18 +502,8 @@ def ptx_fp16_hneg(context, builder, sig, args):
502502

503503
@lower(stubs.fp16.habs, types.float16)
504504
def ptx_fp16_habs(context, builder, sig, args):
505-
if cuda.runtime.get_version() < (10, 2):
506-
# CUDA < 10.2 does not support abs.f16. For these versions, we mask
507-
# off the sign bit to compute abs instead. We determine whether or
508-
# not to do this based on the runtime version so that our behaviour
509-
# is consistent with the version of NVVM we're using to go from
510-
# NVVM IR -> PTX.
511-
inst = 'and.b16 $0, $1, 0x7FFF;'
512-
else:
513-
inst = 'abs.f16 $0, $1;'
514-
515505
fnty = ir.FunctionType(ir.IntType(16), [ir.IntType(16)])
516-
asm = ir.InlineAsm(fnty, inst, '=h,h')
506+
asm = ir.InlineAsm(fnty, 'abs.f16 $0, $1;', '=h,h')
517507
return builder.call(asm, args)
518508

519509

‎numba/cuda/tests/cudadrv/test_runtime.py‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,8 @@ def set_visible_devices_and_check(q):
2121
if config.ENABLE_CUDASIM:
2222
SUPPORTED_VERSIONS = (-1, -1),
2323
else:
24-
SUPPORTED_VERSIONS = ((9, 2),
25-
(10, 0), (10, 1), (10, 2),
26-
(11, 0), (11, 1), (11, 2))
24+
SUPPORTED_VERSIONS = ((11, 0), (11, 1), (11, 2), (11, 3), (11, 4), (11, 5),
25+
(11, 6), (11, 7))
2726

2827

2928
class TestRuntime(unittest.TestCase):
@@ -36,7 +35,7 @@ def test_is_supported_version_true(self):
3635
def test_is_supported_version_false(self):
3736
# Check with an old unsupported version and some potential future
3837
# versions
39-
for v in ((8, 0), (11, 3), (12, 0)):
38+
for v in ((10, 2), (11, 8), (12, 0)):
4039
with patch.object(runtime, 'get_version', return_value=v):
4140
self.assertFalse(runtime.is_supported_version())
4241

‎numba/cuda/tests/cudapy/test_intrinsics.py‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -557,10 +557,7 @@ def test_habs_scalar(self):
557557
def test_habs_ptx(self):
558558
args = (f2[:], f2)
559559
ptx, _ = compile_ptx(simple_habs_scalar, args, cc=(5, 3))
560-
if cuda.runtime.get_version() < (10, 2):
561-
self.assertRegex(ptx, r'and\.b16.*0x7FFF;')
562-
else:
563-
self.assertIn('abs.f16', ptx)
560+
self.assertIn('abs.f16', ptx)
564561

565562
@skip_unless_cc_53
566563
def test_fp16_comparison(self):

0 commit comments

Comments
 (0)