Fix for the TPMQRT routine
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
Activity
assigned to @faverge
- Resolved by Mathieu Faverge
- Resolved by Mathieu Faverge
- Resolved by Mathieu Faverge
Just a reference to @ltaief, so he can get notifications from this PR.
Edited by Mathieu Favergeadded 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
Toggle commit list-
8ec51998...c6b048c2 - 68 commits from branch
@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.
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
Toggle commit list-
c5c88fbe...f420ba3b - 6 commits from branch
@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-
What do you mean by add
int l;
? -
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 );
-
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.
-
this error on the descriptor is a problem, you probably did something wrong with the parameters, and this needs to be fixed.
-
-
l = chameleon_min(kb, chameleon_max(0, N2-i)); // l here is not defined before
-
Yes sure, I have done that, but I am not sure why these warnings
-
The matrix I am testing is of size 10240, it is not big, I used to test matrices up to size 26624.
-
Yes, I will check that maybe I have a wrong parameters in my code
-
-
Which line and which file ?
-
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.
-
Ok that's weird, but I woul try to fix 2 and 4 first.
Edited by Mathieu Faverge-
mentioned in issue #24 (closed)