Skip to content

Make test_nvjitlink.py less noisy.#666

Merged
leofang merged 2 commits into
NVIDIA:mainfrom
rwgk:test_nvjitlink_less_noise
May 31, 2025
Merged

Make test_nvjitlink.py less noisy.#666
leofang merged 2 commits into
NVIDIA:mainfrom
rwgk:test_nvjitlink_less_noise

Conversation

@rwgk

@rwgk rwgk commented May 31, 2025

Copy link
Copy Markdown
Contributor

Description

To minimize distractions while debugging, e.g. when upgrading to newer CTK versions.

Before this PR:

============================= test session starts ==============================
platform linux -- Python 3.12.3, pytest-8.3.5, pluggy-1.6.0 -- /home/rgrossekunst/forked/cuda-python/venvs/scratch/bin/python
cachedir: .pytest_cache
benchmark: 5.1.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /home/rgrossekunst/forked/cuda-python/cuda_bindings/tests
configfile: pytest.ini
plugins: benchmark-5.1.0
collecting ... collected 35 items

tests/test_nvjitlink.py::test_unrecognized_option_error PASSED           [  2%]
tests/test_nvjitlink.py::test_invalid_arch_error PASSED                  [  5%]
tests/test_nvjitlink.py::test_create_and_destroy[sm_60] PASSED           [  8%]
tests/test_nvjitlink.py::test_create_and_destroy[sm_75] PASSED           [ 11%]
tests/test_nvjitlink.py::test_create_and_destroy[sm_80] PASSED           [ 14%]
tests/test_nvjitlink.py::test_create_and_destroy[sm_90] PASSED           [ 17%]
tests/test_nvjitlink.py::test_complete_empty[sm_60] PASSED               [ 20%]
tests/test_nvjitlink.py::test_complete_empty[sm_75] PASSED               [ 22%]
tests/test_nvjitlink.py::test_complete_empty[sm_80] PASSED               [ 25%]
tests/test_nvjitlink.py::test_complete_empty[sm_90] PASSED               [ 28%]
tests/test_nvjitlink.py::test_add_data[sm_60-\n.version 5.0\n.target sm_60\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 31%]
tests/test_nvjitlink.py::test_add_data[sm_75-\n.version 6.4\n.target sm_75\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 34%]
tests/test_nvjitlink.py::test_add_data[sm_80-\n.version 7.0\n.target sm_80\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 37%]
tests/test_nvjitlink.py::test_add_data[sm_90-\n.version 8.5\n.target sm_90\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 40%]
tests/test_nvjitlink.py::test_add_file[sm_60-\n.version 5.0\n.target sm_60\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 42%]
tests/test_nvjitlink.py::test_add_file[sm_75-\n.version 6.4\n.target sm_75\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 45%]
tests/test_nvjitlink.py::test_add_file[sm_80-\n.version 7.0\n.target sm_80\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 48%]
tests/test_nvjitlink.py::test_add_file[sm_90-\n.version 8.5\n.target sm_90\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 51%]
tests/test_nvjitlink.py::test_get_error_log[sm_60] PASSED                [ 54%]
tests/test_nvjitlink.py::test_get_error_log[sm_75] PASSED                [ 57%]
tests/test_nvjitlink.py::test_get_error_log[sm_80] PASSED                [ 60%]
tests/test_nvjitlink.py::test_get_error_log[sm_90] PASSED                [ 62%]
tests/test_nvjitlink.py::test_get_info_log[sm_60-\n.version 5.0\n.target sm_60\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 65%]
tests/test_nvjitlink.py::test_get_info_log[sm_75-\n.version 6.4\n.target sm_75\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 68%]
tests/test_nvjitlink.py::test_get_info_log[sm_80-\n.version 7.0\n.target sm_80\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 71%]
tests/test_nvjitlink.py::test_get_info_log[sm_90-\n.version 8.5\n.target sm_90\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 74%]
tests/test_nvjitlink.py::test_get_linked_cubin[sm_60-\n.version 5.0\n.target sm_60\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 77%]
tests/test_nvjitlink.py::test_get_linked_cubin[sm_75-\n.version 6.4\n.target sm_75\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 80%]
tests/test_nvjitlink.py::test_get_linked_cubin[sm_80-\n.version 7.0\n.target sm_80\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 82%]
tests/test_nvjitlink.py::test_get_linked_cubin[sm_90-\n.version 8.5\n.target sm_90\n.address_size 64\n\n.visible .entry _Z6kernelPi(\n    .param .u64 _Z6kernelPi_param_0\n)\n{\n    .reg .pred  %p<2>;\n    .reg .b32   %r<3>;\n    .reg .b64   %rd<3>;\n\n    ld.param.u64    %rd1, [_Z6kernelPi_param_0];\n    cvta.to.global.u64  %rd2, %rd1;\n    mov.u32     %r1, %tid.x;\n    st.global.u32   [%rd2+0], %r1;\n    ret;\n}\n] PASSED [ 85%]
tests/test_nvjitlink.py::test_get_linked_ptx[sm_60] PASSED               [ 88%]
tests/test_nvjitlink.py::test_get_linked_ptx[sm_75] PASSED               [ 91%]
tests/test_nvjitlink.py::test_get_linked_ptx[sm_80] PASSED               [ 94%]
tests/test_nvjitlink.py::test_get_linked_ptx[sm_90] PASSED               [ 97%]
tests/test_nvjitlink.py::test_package_version PASSED                     [100%]

============================== 35 passed in 0.23s ==============================

With this PR:

============================= test session starts ==============================
platform linux -- Python 3.12.3, pytest-8.3.5, pluggy-1.6.0 -- /home/rgrossekunst/forked/cuda-python/venvs/scratch/bin/python
cachedir: .pytest_cache
benchmark: 5.1.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /home/rgrossekunst/forked/cuda-python/cuda_bindings/tests
configfile: pytest.ini
plugins: benchmark-5.1.0
collecting ... collected 35 items

tests/test_nvjitlink.py::test_unrecognized_option_error PASSED           [  2%]
tests/test_nvjitlink.py::test_invalid_arch_error PASSED                  [  5%]
tests/test_nvjitlink.py::test_create_and_destroy[sm_60] PASSED           [  8%]
tests/test_nvjitlink.py::test_create_and_destroy[sm_75] PASSED           [ 11%]
tests/test_nvjitlink.py::test_create_and_destroy[sm_80] PASSED           [ 14%]
tests/test_nvjitlink.py::test_create_and_destroy[sm_90] PASSED           [ 17%]
tests/test_nvjitlink.py::test_complete_empty[sm_60] PASSED               [ 20%]
tests/test_nvjitlink.py::test_complete_empty[sm_75] PASSED               [ 22%]
tests/test_nvjitlink.py::test_complete_empty[sm_80] PASSED               [ 25%]
tests/test_nvjitlink.py::test_complete_empty[sm_90] PASSED               [ 28%]
tests/test_nvjitlink.py::test_add_data[sm_60_5.0] PASSED                 [ 31%]
tests/test_nvjitlink.py::test_add_data[sm_75_6.4] PASSED                 [ 34%]
tests/test_nvjitlink.py::test_add_data[sm_80_7.0] PASSED                 [ 37%]
tests/test_nvjitlink.py::test_add_data[sm_90_8.5] PASSED                 [ 40%]
tests/test_nvjitlink.py::test_add_file[sm_60_5.0] PASSED                 [ 42%]
tests/test_nvjitlink.py::test_add_file[sm_75_6.4] PASSED                 [ 45%]
tests/test_nvjitlink.py::test_add_file[sm_80_7.0] PASSED                 [ 48%]
tests/test_nvjitlink.py::test_add_file[sm_90_8.5] PASSED                 [ 51%]
tests/test_nvjitlink.py::test_get_error_log[sm_60] PASSED                [ 54%]
tests/test_nvjitlink.py::test_get_error_log[sm_75] PASSED                [ 57%]
tests/test_nvjitlink.py::test_get_error_log[sm_80] PASSED                [ 60%]
tests/test_nvjitlink.py::test_get_error_log[sm_90] PASSED                [ 62%]
tests/test_nvjitlink.py::test_get_info_log[sm_60_5.0] PASSED             [ 65%]
tests/test_nvjitlink.py::test_get_info_log[sm_75_6.4] PASSED             [ 68%]
tests/test_nvjitlink.py::test_get_info_log[sm_80_7.0] PASSED             [ 71%]
tests/test_nvjitlink.py::test_get_info_log[sm_90_8.5] PASSED             [ 74%]
tests/test_nvjitlink.py::test_get_linked_cubin[sm_60_5.0] PASSED         [ 77%]
tests/test_nvjitlink.py::test_get_linked_cubin[sm_75_6.4] PASSED         [ 80%]
tests/test_nvjitlink.py::test_get_linked_cubin[sm_80_7.0] PASSED         [ 82%]
tests/test_nvjitlink.py::test_get_linked_cubin[sm_90_8.5] PASSED         [ 85%]
tests/test_nvjitlink.py::test_get_linked_ptx[sm_60] PASSED               [ 88%]
tests/test_nvjitlink.py::test_get_linked_ptx[sm_75] PASSED               [ 91%]
tests/test_nvjitlink.py::test_get_linked_ptx[sm_80] PASSED               [ 94%]
tests/test_nvjitlink.py::test_get_linked_ptx[sm_90] PASSED               [ 97%]
tests/test_nvjitlink.py::test_package_version PASSED                     [100%]

============================== 35 passed in 0.24s ==============================

@copy-pr-bot

copy-pr-bot Bot commented May 31, 2025

Copy link
Copy Markdown
Contributor

Auto-sync is disabled for ready for review pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@rwgk rwgk self-assigned this May 31, 2025
@rwgk

rwgk commented May 31, 2025

Copy link
Copy Markdown
Contributor Author

/ok to test

@rwgk rwgk requested a review from leofang May 31, 2025 00:06
@leofang leofang added P1 Medium priority - Should do test Improvements or additions to tests cuda.bindings Everything related to the cuda.bindings module labels May 31, 2025
@leofang leofang added this to the cuda-python 12-next, 11-next milestone May 31, 2025
@github-actions

This comment has been minimized.

@leofang leofang merged commit 8a49923 into NVIDIA:main May 31, 2025
56 checks passed
@github-actions

Copy link
Copy Markdown
Doc Preview CI
Preview removed because the pull request was closed or merged.

@rwgk rwgk deleted the test_nvjitlink_less_noise branch May 31, 2025 03:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cuda.bindings Everything related to the cuda.bindings module P1 Medium priority - Should do test Improvements or additions to tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants