Menu

#37 Build error

v0.11.x
pending
5
2019-05-29
2019-05-26
Anton
No

Compilation stops at src/cudainfo.cu with heavy memory usage.
CUDA 10.1
GCC 8.3.0
Qt 5.12.3
Arch Linux

Discussion

  • Andriy Golovnya

    Andriy Golovnya - 2019-05-27

    Hi!
    This is a bug in CUDA Toolset sinse version 8.0 or so.
    It seams they refuse to fix it till now.
    I happens because of size of sible linear test blocks like this:

    for(i = 0; i < CZ_CALC_BLOCK_LOOPS; i++) {
            CZ_CALC_FMAD_256(val1, val2);
            CZ_CALC_FMAD_256(val1, val2);
            CZ_CALC_FMAD_256(val1, val2);
            CZ_CALC_FMAD_256(val1, val2);
            CZ_CALC_FMAD_256(val1, val2);
            CZ_CALC_FMAD_256(val1, val2);
            CZ_CALC_FMAD_256(val1, val2);
            CZ_CALC_FMAD_256(val1, val2);
    }
    

    If you reduce them to 2 lines it works (or at least it worked for CUDA Toolset 8.0)

    for(i = 0; i < CZ_CALC_BLOCK_LOOPS; i++) {
            CZ_CALC_FMAD_256(val1, val2);
            CZ_CALC_FMAD_256(val1, val2);
    }
    

    Remember to adjust the constant accodingly:

    #define CZ_CALC_BLOCK_NUM   8           /*!< Number of instruction blocks in loop. */
    

    You may also increase lopps count to compensete for the calculation loss:

    #define CZ_CALC_BLOCK_LOOPS 32          /*!< Number of loops to run calculation loop. */
    

    Let me know if it still helps to avoid the memeory usage problem!

    WBR, Ag

     
  • Andriy Golovnya

    Andriy Golovnya - 2019-05-27
    • labels: --> cuda tollset
    • status: unread --> pending
    • assigned_to: Andriy Golovnya
     
  • Andriy Golovnya

    Andriy Golovnya - 2019-05-27
    • labels: cuda tollset --> cuda, toolset, workaround
     
  • Anton

    Anton - 2019-05-29

    Hi, Andriy!
    Unfortunately, the workaround you suggested didn't help, and the problem remains.
    AK

     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB