Skip to content
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

Fix line lengths for the extended API #1079

Merged
merged 9 commits into from
Dec 3, 2024

Conversation

hjjvandam
Copy link
Contributor

Description

The Spack software stack management system builds LAPACK with the extended API. Using Spack to build the development version of LAPACK causes problems when the subroutine names are extended by appending "_64". In a number of cases the 3 extra characters push the line length over 72 characters, causing the compiler to truncate the code, and generate errors.

Most of the instances I have hit are in deprecated subroutines. Nevertheless, Spack insists on building deprecated subroutines as many software packages don't actively track what code has been deprecated. Therefore leaving those subroutines out would cause many builds to fail.

I have gone through every subroutine that failed to compile with the extended subroutine names and fixed the line lengths to ensure that even with the extended subroutine names the line lengths remain below 72 characters.

Just to be sure I have also run the test cases (source code truncation can lead to syntactically valid but semantically different Fortran). The output of the tests is

Test project /Users/hubertusvandam/Documents/spack.nosync/junk/lapack/build
        Start   1: BLAS-xblat1s
  1/107 Test   #1: BLAS-xblat1s .....................   Passed    0.03 sec
        Start   2: BLAS-xblat2s
  2/107 Test   #2: BLAS-xblat2s .....................   Passed    0.03 sec
        Start   3: BLAS-xblat3s
  3/107 Test   #3: BLAS-xblat3s .....................   Passed    0.03 sec
        Start   4: BLAS-xblat1d
  4/107 Test   #4: BLAS-xblat1d .....................   Passed    0.02 sec
        Start   5: BLAS-xblat2d
  5/107 Test   #5: BLAS-xblat2d .....................   Passed    0.02 sec
        Start   6: BLAS-xblat3d
  6/107 Test   #6: BLAS-xblat3d .....................   Passed    0.03 sec
        Start   7: BLAS-xblat1c
  7/107 Test   #7: BLAS-xblat1c .....................   Passed    0.02 sec
        Start   8: BLAS-xblat2c
  8/107 Test   #8: BLAS-xblat2c .....................   Passed    0.02 sec
        Start   9: BLAS-xblat3c
  9/107 Test   #9: BLAS-xblat3c .....................   Passed    0.03 sec
        Start  10: BLAS-xblat1z
 10/107 Test  #10: BLAS-xblat1z .....................   Passed    0.02 sec
        Start  11: BLAS-xblat2z
 11/107 Test  #11: BLAS-xblat2z .....................   Passed    0.02 sec
        Start  12: BLAS-xblat3z
 12/107 Test  #12: BLAS-xblat3z .....................   Passed    0.03 sec
        Start  14: LAPACK-xlintsts_stest_in
 13/107 Test  #14: LAPACK-xlintsts_stest_in .........   Passed    3.28 sec
        Start  15: LAPACK-xlintstrfs_stest_rfp_in
 14/107 Test  #15: LAPACK-xlintstrfs_stest_rfp_in ...   Passed    0.13 sec
        Start  16: LAPACK-xeigtsts_nep_in
 15/107 Test  #16: LAPACK-xeigtsts_nep_in ...........   Passed    0.05 sec
        Start  17: LAPACK-xeigtsts_sep_in
 16/107 Test  #17: LAPACK-xeigtsts_sep_in ...........   Passed    0.16 sec
        Start  18: LAPACK-xeigtsts_se2_in
 17/107 Test  #18: LAPACK-xeigtsts_se2_in ...........   Passed    0.17 sec
        Start  19: LAPACK-xeigtsts_svd_in
 18/107 Test  #19: LAPACK-xeigtsts_svd_in ...........   Passed    1.54 sec
        Start  20: LAPACK-xeigtsts_sec_in
 19/107 Test  #20: LAPACK-xeigtsts_sec_in ...........   Passed    0.13 sec
        Start  21: LAPACK-xeigtsts_sed_in
 20/107 Test  #21: LAPACK-xeigtsts_sed_in ...........   Passed    0.25 sec
        Start  22: LAPACK-xeigtsts_sgg_in
 21/107 Test  #22: LAPACK-xeigtsts_sgg_in ...........   Passed    0.04 sec
        Start  23: LAPACK-xeigtsts_sgd_in
 22/107 Test  #23: LAPACK-xeigtsts_sgd_in ...........   Passed    0.09 sec
        Start  24: LAPACK-xeigtsts_ssb_in
 23/107 Test  #24: LAPACK-xeigtsts_ssb_in ...........   Passed    0.03 sec
        Start  25: LAPACK-xeigtsts_ssg_in
 24/107 Test  #25: LAPACK-xeigtsts_ssg_in ...........   Passed    0.17 sec
        Start  26: LAPACK-xeigtsts_sbal_in
 25/107 Test  #26: LAPACK-xeigtsts_sbal_in ..........   Passed    0.03 sec
        Start  27: LAPACK-xeigtsts_sbak_in
 26/107 Test  #27: LAPACK-xeigtsts_sbak_in ..........   Passed    0.03 sec
        Start  28: LAPACK-xeigtsts_sgbal_in
 27/107 Test  #28: LAPACK-xeigtsts_sgbal_in .........   Passed    0.02 sec
        Start  29: LAPACK-xeigtsts_sgbak_in
 28/107 Test  #29: LAPACK-xeigtsts_sgbak_in .........   Passed    0.02 sec
        Start  30: LAPACK-xeigtsts_sbb_in
 29/107 Test  #30: LAPACK-xeigtsts_sbb_in ...........   Passed    0.03 sec
        Start  31: LAPACK-xeigtsts_glm_in
 30/107 Test  #31: LAPACK-xeigtsts_glm_in ...........   Passed    0.03 sec
        Start  32: LAPACK-xeigtsts_gqr_in
 31/107 Test  #32: LAPACK-xeigtsts_gqr_in ...........   Passed    0.03 sec
        Start  33: LAPACK-xeigtsts_gsv_in
 32/107 Test  #33: LAPACK-xeigtsts_gsv_in ...........   Passed    0.03 sec
        Start  34: LAPACK-xeigtsts_csd_in
 33/107 Test  #34: LAPACK-xeigtsts_csd_in ...........   Passed    0.03 sec
        Start  35: LAPACK-xeigtsts_lse_in
 34/107 Test  #35: LAPACK-xeigtsts_lse_in ...........   Passed    0.03 sec
        Start  36: LAPACK-xdmdeigtsts_sdmd_in
 35/107 Test  #36: LAPACK-xdmdeigtsts_sdmd_in .......   Passed    2.29 sec
        Start  37: LAPACK-xlintstd_dtest_in
 36/107 Test  #37: LAPACK-xlintstd_dtest_in .........   Passed    3.46 sec
        Start  38: LAPACK-xlintstrfd_dtest_rfp_in
 37/107 Test  #38: LAPACK-xlintstrfd_dtest_rfp_in ...   Passed    0.14 sec
        Start  39: LAPACK-xeigtstd_nep_in
 38/107 Test  #39: LAPACK-xeigtstd_nep_in ...........   Passed    0.06 sec
        Start  40: LAPACK-xeigtstd_sep_in
 39/107 Test  #40: LAPACK-xeigtstd_sep_in ...........   Passed    0.17 sec
        Start  41: LAPACK-xeigtstd_se2_in
 40/107 Test  #41: LAPACK-xeigtstd_se2_in ...........   Passed    0.25 sec
        Start  42: LAPACK-xeigtstd_svd_in
 41/107 Test  #42: LAPACK-xeigtstd_svd_in ...........   Passed    2.05 sec
        Start  43: LAPACK-xeigtstd_dec_in
 42/107 Test  #43: LAPACK-xeigtstd_dec_in ...........   Passed    2.50 sec
        Start  44: LAPACK-xeigtstd_ded_in
 43/107 Test  #44: LAPACK-xeigtstd_ded_in ...........   Passed    0.26 sec
        Start  45: LAPACK-xeigtstd_dgg_in
 44/107 Test  #45: LAPACK-xeigtstd_dgg_in ...........   Passed    0.04 sec
        Start  46: LAPACK-xeigtstd_dgd_in
 45/107 Test  #46: LAPACK-xeigtstd_dgd_in ...........   Passed    0.11 sec
        Start  47: LAPACK-xeigtstd_dsb_in
 46/107 Test  #47: LAPACK-xeigtstd_dsb_in ...........   Passed    0.03 sec
        Start  48: LAPACK-xeigtstd_dsg_in
 47/107 Test  #48: LAPACK-xeigtstd_dsg_in ...........   Passed    0.23 sec
        Start  49: LAPACK-xeigtstd_dbal_in
 48/107 Test  #49: LAPACK-xeigtstd_dbal_in ..........   Passed    0.03 sec
        Start  50: LAPACK-xeigtstd_dbak_in
 49/107 Test  #50: LAPACK-xeigtstd_dbak_in ..........   Passed    0.03 sec
        Start  51: LAPACK-xeigtstd_dgbal_in
 50/107 Test  #51: LAPACK-xeigtstd_dgbal_in .........   Passed    0.02 sec
        Start  52: LAPACK-xeigtstd_dgbak_in
 51/107 Test  #52: LAPACK-xeigtstd_dgbak_in .........   Passed    0.02 sec
        Start  53: LAPACK-xeigtstd_dbb_in
 52/107 Test  #53: LAPACK-xeigtstd_dbb_in ...........   Passed    0.03 sec
        Start  54: LAPACK-xeigtstd_glm_in
 53/107 Test  #54: LAPACK-xeigtstd_glm_in ...........   Passed    0.03 sec
        Start  55: LAPACK-xeigtstd_gqr_in
 54/107 Test  #55: LAPACK-xeigtstd_gqr_in ...........   Passed    0.03 sec
        Start  56: LAPACK-xeigtstd_gsv_in
 55/107 Test  #56: LAPACK-xeigtstd_gsv_in ...........   Passed    0.03 sec
        Start  57: LAPACK-xeigtstd_csd_in
 56/107 Test  #57: LAPACK-xeigtstd_csd_in ...........   Passed    0.03 sec
        Start  58: LAPACK-xeigtstd_lse_in
 57/107 Test  #58: LAPACK-xeigtstd_lse_in ...........   Passed    0.03 sec
        Start  59: LAPACK-xdmdeigtstd_ddmd_in
 58/107 Test  #59: LAPACK-xdmdeigtstd_ddmd_in .......   Passed    2.82 sec
        Start  60: LAPACK-xlintstc_ctest_in
 59/107 Test  #60: LAPACK-xlintstc_ctest_in .........   Passed    6.18 sec
        Start  61: LAPACK-xlintstrfc_ctest_rfp_in
 60/107 Test  #61: LAPACK-xlintstrfc_ctest_rfp_in ...   Passed    0.25 sec
        Start  62: LAPACK-xeigtstc_nep_in
 61/107 Test  #62: LAPACK-xeigtstc_nep_in ...........   Passed    0.08 sec
        Start  63: LAPACK-xeigtstc_sep_in
 62/107 Test  #63: LAPACK-xeigtstc_sep_in ...........   Passed    0.20 sec
        Start  64: LAPACK-xeigtstc_se2_in
 63/107 Test  #64: LAPACK-xeigtstc_se2_in ...........   Passed    0.21 sec
        Start  65: LAPACK-xeigtstc_svd_in
 64/107 Test  #65: LAPACK-xeigtstc_svd_in ...........   Passed    2.27 sec
        Start  66: LAPACK-xeigtstc_cec_in
 65/107 Test  #66: LAPACK-xeigtstc_cec_in ...........   Passed    0.87 sec
        Start  67: LAPACK-xeigtstc_ced_in
 66/107 Test  #67: LAPACK-xeigtstc_ced_in ...........   Passed    0.15 sec
        Start  68: LAPACK-xeigtstc_cgg_in
 67/107 Test  #68: LAPACK-xeigtstc_cgg_in ...........   Passed    0.06 sec
        Start  69: LAPACK-xeigtstc_cgd_in
 68/107 Test  #69: LAPACK-xeigtstc_cgd_in ...........   Passed    0.11 sec
        Start  70: LAPACK-xeigtstc_csb_in
 69/107 Test  #70: LAPACK-xeigtstc_csb_in ...........   Passed    0.03 sec
        Start  71: LAPACK-xeigtstc_csg_in
 70/107 Test  #71: LAPACK-xeigtstc_csg_in ...........   Passed    0.22 sec
        Start  72: LAPACK-xeigtstc_cbal_in
 71/107 Test  #72: LAPACK-xeigtstc_cbal_in ..........   Passed    0.03 sec
        Start  73: LAPACK-xeigtstc_cbak_in
 72/107 Test  #73: LAPACK-xeigtstc_cbak_in ..........   Passed    0.02 sec
        Start  74: LAPACK-xeigtstc_cgbal_in
 73/107 Test  #74: LAPACK-xeigtstc_cgbal_in .........   Passed    0.03 sec
        Start  75: LAPACK-xeigtstc_cgbak_in
 74/107 Test  #75: LAPACK-xeigtstc_cgbak_in .........   Passed    0.03 sec
        Start  76: LAPACK-xeigtstc_cbb_in
 75/107 Test  #76: LAPACK-xeigtstc_cbb_in ...........   Passed    0.03 sec
        Start  77: LAPACK-xeigtstc_glm_in
 76/107 Test  #77: LAPACK-xeigtstc_glm_in ...........   Passed    0.03 sec
        Start  78: LAPACK-xeigtstc_gqr_in
 77/107 Test  #78: LAPACK-xeigtstc_gqr_in ...........   Passed    0.03 sec
        Start  79: LAPACK-xeigtstc_gsv_in
 78/107 Test  #79: LAPACK-xeigtstc_gsv_in ...........   Passed    0.03 sec
        Start  80: LAPACK-xeigtstc_csd_in
 79/107 Test  #80: LAPACK-xeigtstc_csd_in ...........   Passed    0.03 sec
        Start  81: LAPACK-xeigtstc_lse_in
 80/107 Test  #81: LAPACK-xeigtstc_lse_in ...........   Passed    0.03 sec
        Start  82: LAPACK-xdmdeigtstc_cdmd_in
 81/107 Test  #82: LAPACK-xdmdeigtstc_cdmd_in .......   Passed    3.64 sec
        Start  83: LAPACK-xlintstz_ztest_in
 82/107 Test  #83: LAPACK-xlintstz_ztest_in .........   Passed    7.07 sec
        Start  84: LAPACK-xlintstrfz_ztest_rfp_in
 83/107 Test  #84: LAPACK-xlintstrfz_ztest_rfp_in ...   Passed    0.38 sec
        Start  85: LAPACK-xeigtstz_nep_in
 84/107 Test  #85: LAPACK-xeigtstz_nep_in ...........   Passed    0.09 sec
        Start  86: LAPACK-xeigtstz_sep_in
 85/107 Test  #86: LAPACK-xeigtstz_sep_in ...........   Passed    0.28 sec
        Start  87: LAPACK-xeigtstz_se2_in
 86/107 Test  #87: LAPACK-xeigtstz_se2_in ...........   Passed    0.29 sec
        Start  88: LAPACK-xeigtstz_svd_in
 87/107 Test  #88: LAPACK-xeigtstz_svd_in ...........   Passed    2.87 sec
        Start  89: LAPACK-xeigtstz_zec_in
 88/107 Test  #89: LAPACK-xeigtstz_zec_in ...........   Passed    3.18 sec
        Start  90: LAPACK-xeigtstz_zed_in
 89/107 Test  #90: LAPACK-xeigtstz_zed_in ...........   Passed    0.20 sec
        Start  91: LAPACK-xeigtstz_zgg_in
 90/107 Test  #91: LAPACK-xeigtstz_zgg_in ...........   Passed    0.06 sec
        Start  92: LAPACK-xeigtstz_zgd_in
 91/107 Test  #92: LAPACK-xeigtstz_zgd_in ...........   Passed    0.14 sec
        Start  93: LAPACK-xeigtstz_zsb_in
 92/107 Test  #93: LAPACK-xeigtstz_zsb_in ...........   Passed    0.03 sec
        Start  94: LAPACK-xeigtstz_zsg_in
 93/107 Test  #94: LAPACK-xeigtstz_zsg_in ...........   Passed    0.29 sec
        Start  95: LAPACK-xeigtstz_zbal_in
 94/107 Test  #95: LAPACK-xeigtstz_zbal_in ..........   Passed    0.04 sec
        Start  96: LAPACK-xeigtstz_zbak_in
 95/107 Test  #96: LAPACK-xeigtstz_zbak_in ..........   Passed    0.03 sec
        Start  97: LAPACK-xeigtstz_zgbal_in
 96/107 Test  #97: LAPACK-xeigtstz_zgbal_in .........   Passed    0.03 sec
        Start  98: LAPACK-xeigtstz_zgbak_in
 97/107 Test  #98: LAPACK-xeigtstz_zgbak_in .........   Passed    0.02 sec
        Start  99: LAPACK-xeigtstz_zbb_in
 98/107 Test  #99: LAPACK-xeigtstz_zbb_in ...........   Passed    0.04 sec
        Start 100: LAPACK-xeigtstz_glm_in
 99/107 Test #100: LAPACK-xeigtstz_glm_in ...........   Passed    0.03 sec
        Start 101: LAPACK-xeigtstz_gqr_in
100/107 Test #101: LAPACK-xeigtstz_gqr_in ...........   Passed    0.04 sec
        Start 102: LAPACK-xeigtstz_gsv_in
101/107 Test #102: LAPACK-xeigtstz_gsv_in ...........   Passed    0.03 sec
        Start 103: LAPACK-xeigtstz_csd_in
102/107 Test #103: LAPACK-xeigtstz_csd_in ...........   Passed    0.03 sec
        Start 104: LAPACK-xeigtstz_lse_in
103/107 Test #104: LAPACK-xeigtstz_lse_in ...........   Passed    0.03 sec
        Start 105: LAPACK-xdmdeigtstz_zdmd_in
104/107 Test #105: LAPACK-xdmdeigtstz_zdmd_in .......   Passed    4.44 sec
        Start 106: LAPACK-xlintstds_dstest_in
105/107 Test #106: LAPACK-xlintstds_dstest_in .......   Passed    0.36 sec
        Start 107: LAPACK-xlintstzc_zctest_in
106/107 Test #107: LAPACK-xlintstzc_zctest_in .......   Passed    0.50 sec
        Start  13: LAPACK_Test_Summary
107/107 Test  #13: LAPACK_Test_Summary ..............   Passed    0.07 sec

100% tests passed, 0 tests failed out of 107

Total Test time (real) =  56.67 sec

Checklist

  • The documentation has been updated.
  • If the PR solves a specific issue, it is set to be closed on merge.

@langou
Copy link
Contributor

langou commented Nov 29, 2024

Hi @hjjvandam, thanks for all the edits. I am in favor of merging. Julien.

@langou langou mentioned this pull request Nov 30, 2024
2 tasks
@langou langou merged commit 7b4c3a3 into Reference-LAPACK:master Dec 3, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants