Mentions légales du service

Skip to content
Snippets Groups Projects

Fix for the TPMQRT routine

Merged Dalal Sukkari requested to merge sukkarde into master

Fixes on zgeqrf_qdwh: fix maxmt computing in pztpqrt.c and pztpgqrt. Fixes on cuda_ztpmqrt.c: call CUDA_ztsmqr for TS and TT case for now (TODO: once we have CUDA_zttmqr, we will use it for TT case) : change workspace shift ws

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Just a reference to @ltaief, so he can get notifications from this PR.

    Edited by Mathieu Faverge
  • Dalal Sukkari added 2 commits

    added 2 commits

    • 2733e461 - call ztsmqr in the zttmqr block for now with a warning
    • 5629cc7f - change the calculation of WC, because if n1 < m1 the results will not be correct

    Compare with previous version

  • added 1 commit

    • 52108330 - Cleanup extra spaces in cuda_ztpmqrt.c

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • Mathieu Faverge resolved all discussions

    resolved all discussions

  • Mathieu Faverge added 75 commits

    added 75 commits

    • 8ec51998...c6b048c2 - 68 commits from branch master
    • 1d1e64b8 - Add comments to cuda_zparfb and check on ldwork
    • 1ba11c31 - Add cuda_zttmqr
    • dc328c6f - Be more consistant with the documentation and prevent problem if kdwork changes for stricter arrays
    • 92006f28 - Use pointer arithmetic as in cudablas version
    • 3e827db1 - Fix dimension of work used for displacement with workc
    • fb9d06c5 - Fix corner case where we have a full TT operation
    • c5c88fbe - Add cuda support for ttmqr

    Compare with previous version

  • @sukkarde: I updated the pull request by forcing a new history. Please check that this is working with QDWH, especially the TPMQRT on the GPU, because I added the TTMQR. Let me know if you have any trouble, and if it works, we will merge this branch into the master.

  • Mathieu Faverge added 13 commits

    added 13 commits

    • c5c88fbe...f420ba3b - 6 commits from branch master
    • 5565edeb - Add comments to cuda_zparfb and check on ldwork
    • 2279f49a - Add cuda_zttmqr
    • f477bf60 - Be more consistant with the documentation and prevent problem if kdwork changes for stricter arrays
    • ee734dd3 - Use pointer arithmetic as in cudablas version
    • b89c9744 - Fix dimension of work used for displacement with workc
    • 22f36ffb - Fix corner case where we have a full TT operation
    • 37f2bc8c - Add cuda support for ttmqr

    Compare with previous version

  • Author Developer

    @faverge For cudablas/compute/cuda_zttmqr.c, I need to add "int l"; TPMQRT does work fine. Thanks for adding cuda_zttmqr. A new MORSE warnings show up:

    MORSE WARNING: morse_tune(): Autotunning not available for now
    MORSE WARNING: RUNTIME_desc_create(StarPU)(): cudaHostRegister failed to register the matrix as pinned memory
    MORSE WARNING: morse_tune(): Autotunning not available for now
    MORSE WARNING: RUNTIME_desc_create(StarPU)(): cudaHostRegister failed to register the matrix as pinned memory
    MORSE WARNING: RUNTIME_desc_create(StarPU)(): cudaHostRegister failed to register the matrix as pinned memory
    MORSE WARNING: RUNTIME_desc_destroy(StarPU)(): cudaHostUnregister failed to unregister the pinned memory associated to the matrix
    MORSE WARNING: RUNTIME_desc_create(StarPU)(): cudaHostRegister failed to register the matrix as pinned memory
    MORSE WARNING: RUNTIME_desc_destroy(StarPU)(): cudaHostUnregister failed to unregister the pinned memory associated to the matrix
    MORSE WARNING: RUNTIME_desc_create(StarPU)(): cudaHostRegister failed to register the matrix as pinned memory
    MORSE WARNING: RUNTIME_desc_destroy(StarPU)(): cudaHostUnregister failed to unregister the pinned memory associated to the matrix
    MORSE WARNING: RUNTIME_desc_create(StarPU)(): cudaHostRegister failed to register the matrix as pinned memory
    MORSE WARNING: RUNTIME_desc_create(StarPU)(): cudaHostRegister failed to register the matrix as pinned memory
    MORSE ERROR: morse_desc_check(): negative matrix dimension
    MORSE ERROR: MORSE_Desc_Create(): invalid descriptor
    MORSE WARNING: RUNTIME_desc_create(StarPU)(): cudaHostRegister
    Edited by Mathieu Faverge
    1. What do you mean by add int l; ?

    2. Autotuning has never been available in morse, and we changed some defaults. To hide this,make sure it is disable and you set NB/IB once for all:

    MORSE_Disable(MORSE_AUTOTUNING);
    MORSE_Set(MORSE_TILE_SIZE,   nb );
    MORSE_Set(MORSE_INNER_BLOCK_SIZE, ib );
    1. The register/unregister warning is weird. So either you have a really large matrix and this can be normal. Or it is related to the error you have.

    2. this error on the descriptor is a problem, you probably did something wrong with the parameters, and this needs to be fixed.

  • Author Developer
    1. l = chameleon_min(kb, chameleon_max(0, N2-i)); // l here is not defined before

    2. Yes sure, I have done that, but I am not sure why these warnings

    3. The matrix I am testing is of size 10240, it is not big, I used to test matrices up to size 26624.

    4. Yes, I will check that maybe I have a wrong parameters in my code

    1. Which line and which file ?

    2. Can you please run through gdb your problem with setting a breakpoint on morse_tune/morse_warning and morse_error and give use the backtrace so we can do something.

    3. Ok that's weird, but I woul try to fix 2 and 4 first.

    Edited by Mathieu Faverge
  • added 1 commit

    • e31d0c10 - Add missing variable (thanks Dalal)

    Compare with previous version

  • Author Developer

    for 4) there was an error in my code :)

  • mentioned in issue #24 (closed)

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading