Skip to content

Make test_nvjitlink.py less noisy. #666

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 31, 2025

Conversation

rwgk
Copy link
Collaborator

@rwgk rwgk commented May 31, 2025

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 link
Contributor

copy-pr-bot bot commented May 31, 2025

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
Copy link
Collaborator Author

rwgk commented May 31, 2025

/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

This comment has been minimized.

@leofang leofang merged commit 8a49923 into NVIDIA:main May 31, 2025
56 checks passed
Copy link

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