Skip to content

Commit 275eb71

Browse files
committed
remove the add_code_object public entry and update tests
1 parent e982657 commit 275eb71

File tree

2 files changed

+11
-30
lines changed

2 files changed

+11
-30
lines changed

cuda_core/cuda/core/experimental/_linker.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,14 +92,12 @@ def __init__(self, *object_codes : ObjectCode, options: LinkerOptions = None):
9292
self._handle = nvjitlink.create(len(options.formatted_options), options.formatted_options)
9393

9494
if object_codes is not None:
95-
if object_codes.__iter__:
96-
for code in object_codes:
97-
self.add_code_object(code)
98-
else:
99-
self.add_code_object(object_codes)
95+
for code in object_codes:
96+
assert isinstance(code, ObjectCode)
97+
self._add_code_object(code)
10098

10199

102-
def add_code_object(self, object_code: ObjectCode):
100+
def _add_code_object(self, object_code: ObjectCode):
103101
data = object_code._module
104102
assert isinstance(data, bytes)
105103
nvjitlink.add_data(

cuda_core/tests/test_linker.py

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -50,66 +50,49 @@ def compile_ltoir_functions(init_cuda):
5050
LinkerOptions(arch=ARCH, no_cache=True)
5151
])
5252
def test_linker_init(compile_ptx_functions, options):
53-
linker = Linker(options, object_codes=compile_ptx_functions)
53+
linker = Linker(*compile_ptx_functions, options=options)
5454
object_code = linker.link("cubin")
5555
assert isinstance(object_code, ObjectCode)
5656

5757

5858
def test_linker_init_invalid_arch():
5959
options = LinkerOptions(arch=None)
60-
with pytest.raises(ValueError):
60+
with pytest.raises(TypeError):
6161
Linker(options)
6262

6363

64-
def test_linker_add_code_object(compile_ptx_functions):
65-
options = LinkerOptions(arch=ARCH)
66-
linker = Linker(options)
67-
for functions in compile_ptx_functions:
68-
linker.add_code_object(functions)
69-
70-
7164
def test_linker_link_ptx(compile_ltoir_functions):
7265
options = LinkerOptions(arch=ARCH, link_time_optimization=True, ptx=True)
73-
linker = Linker(options)
74-
for functions in compile_ltoir_functions:
75-
linker.add_code_object(functions)
66+
linker = Linker(*compile_ltoir_functions, options = options)
7667
linked_code = linker.link("ptx")
7768
assert isinstance(linked_code, ObjectCode)
7869

7970

8071
def test_linker_link_cubin(compile_ptx_functions):
8172
options = LinkerOptions(arch=ARCH)
82-
linker = Linker(options)
83-
for functions in compile_ptx_functions:
84-
linker.add_code_object(functions)
73+
linker = Linker(*compile_ptx_functions, options=options)
8574
linked_code = linker.link("cubin")
8675
assert isinstance(linked_code, ObjectCode)
8776

8877

8978
def test_linker_link_invalid_target_type(compile_ptx_functions):
9079
options = LinkerOptions(arch=ARCH)
91-
linker = Linker(options)
92-
for functions in compile_ptx_functions:
93-
linker.add_code_object(functions)
80+
linker = Linker(*compile_ptx_functions, options=options)
9481
with pytest.raises(ValueError):
9582
linker.link("invalid_target")
9683

9784

9885
def test_linker_get_error_log(compile_ptx_functions):
9986
options = LinkerOptions(arch=ARCH)
100-
linker = Linker(options)
101-
for functions in compile_ptx_functions:
102-
linker.add_code_object(functions)
87+
linker = Linker(*compile_ptx_functions, options=options)
10388
linker.link("cubin")
10489
log = linker.get_error_log()
10590
assert isinstance(log, str)
10691

10792

10893
def test_linker_get_info_log(compile_ptx_functions):
10994
options = LinkerOptions(arch=ARCH)
110-
linker = Linker(options)
111-
for functions in compile_ptx_functions:
112-
linker.add_code_object(functions)
95+
linker = Linker(*compile_ptx_functions, options=options)
11396
linker.link("cubin")
11497
log = linker.get_info_log()
11598
assert isinstance(log, str)

0 commit comments

Comments
 (0)