Skip to content

Commit 447c40d

Browse files
committed
micro-optimization
1 parent 08e5592 commit 447c40d

4 files changed

Lines changed: 7 additions & 10 deletions

File tree

‎cuda_core/cuda/core/experimental/_launcher.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from cuda.core.experimental._stream import Stream
1010
from cuda.core.experimental._utils.clear_error_support import assert_type
1111
from cuda.core.experimental._utils.cuda_utils import (
12-
_reduce_tuple,
12+
_reduce_3_tuple,
1313
check_or_create_options,
1414
driver,
1515
get_binding_version,
@@ -95,9 +95,9 @@ def _check_cooperative_launch(kernel: Kernel, config: LaunchConfig, stream: Stre
9595
dev = stream.device
9696
num_sm = dev.properties.multiprocessor_count
9797
max_grid_size = (
98-
kernel.occupancy.max_active_blocks_per_multiprocessor(_reduce_tuple(config.block), config.shmem_size) * num_sm
98+
kernel.occupancy.max_active_blocks_per_multiprocessor(_reduce_3_tuple(config.block), config.shmem_size) * num_sm
9999
)
100-
if _reduce_tuple(config.grid) > max_grid_size:
100+
if _reduce_3_tuple(config.grid) > max_grid_size:
101101
# For now let's try not to be smart and adjust the grid size behind users' back.
102102
# We explicitly ask users to adjust.
103103
x, y, z = config.grid

‎cuda_core/cuda/core/experimental/_utils/cuda_utils.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ def cast_to_3_tuple(label, cfg):
4848
return cfg + (1,) * (3 - len(cfg))
4949

5050

51-
def _reduce_tuple(t: tuple):
52-
return functools.reduce(lambda x, y: x * y, t, 1)
51+
def _reduce_3_tuple(t: tuple):
52+
return t[0] * t[1] * t[2]
5353

5454

5555
def _check_driver_error(error):

‎cuda_core/tests/test_event.py‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,12 @@
77

88
import numpy as np
99
import pytest
10-
from conftest import skipif_testing_with_compute_sanitizer
10+
from conftest import skipif_need_cuda_headers, skipif_testing_with_compute_sanitizer
1111

1212
import cuda.core.experimental
1313
from cuda.core.experimental import Device, EventOptions, LaunchConfig, Program, ProgramOptions, launch
1414
from cuda.core.experimental._memory import _DefaultPinnedMemorySource
1515

16-
from conftest import skipif_need_cuda_headers
17-
1816

1917
def test_event_init_disabled():
2018
with pytest.raises(RuntimeError, match=r"^Event objects cannot be instantiated directly\."):

‎cuda_core/tests/test_launcher.py‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@
77

88
import numpy as np
99
import pytest
10+
from conftest import skipif_need_cuda_headers
1011

1112
from cuda.core.experimental import Device, LaunchConfig, Program, ProgramOptions, launch
1213
from cuda.core.experimental._memory import _DefaultPinnedMemorySource
1314

14-
from conftest import skipif_need_cuda_headers
15-
1615

1716
def test_launch_config_init(init_cuda):
1817
config = LaunchConfig(grid=(1, 1, 1), block=(1, 1, 1), shmem_size=0)

0 commit comments

Comments
 (0)