Mentions légales du service

Skip to content
Snippets Groups Projects

PaRSEC DTD Interface

Merged Mathieu Faverge requested to merge faverge/chameleon:interface/parsec into master
All threads resolved!

This PR integrates the last version of the PaRSEC DTD systems as a possible runtime system for the Chameleon algorithms, and is provided by @reazulhoque

(Fix partially issue #4)

For now almost everything is working in shared memory with current version of PaRSEC master (more precisely with mymaster from my fork, but it should not change anything). The only issue before merging this pull request is the bug related to any hierarchical tree in QR/LQ factorization.

Edited by Mathieu Faverge

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
  • @reazulhoque I'll look into it more carefully, but I suggest we split this PR in multiple smaller ones. First, with the naming update, just to get rid of that. And then we will merge what is new and important to the new interface like the dataflush and maybe other things I missed :)

  • Mathieu Faverge mentioned in merge request !74 (merged)

    mentioned in merge request !74 (merged)

  • Mathieu Faverge added 13 commits

    added 13 commits

    Compare with previous version

  • Mathieu Faverge resolved all discussions

    resolved all discussions

  • Mathieu Faverge added 30 commits

    added 30 commits

    • 76c59a36...c16e494e - 21 commits from branch solverstack:master
    • 1e7da445 - Cleanup the runtime.h file to make a new proposition of interface including the…
    • d45d1636 - Apply cleanup to the starpu implementation of the API
    • 0365353e - Fix compilation with starpu
    • dc97e619 - Fix grammar. Thanks @furmento
    • bacf4ad5 - Update copyrights in starpu/control
    • 4bedc20a - Update quark with cleanup of the runtime API
    • 32181183 - Minor on comments
    • c427429a - Updated PaRSEC interface
    • 6a2fb09d - Added changes for distributed(incomplete)

    Compare with previous version

  • Mathieu Faverge added 3 commits

    added 3 commits

    Compare with previous version

  • Mathieu Faverge added 58 commits

    added 58 commits

    • e82ccc3d...99b1c7ee - 14 commits from branch solverstack:master
    • 812732a2 - Remove unused tile_to_zero
    • f36d98a9 - Move to const the Descriptor in desc_check
    • 231566f4 - Remove asynchronous tile_to_lapack
    • 63273913 - Remove references to morse_pzlapack_to_tile and morse_pztile_to_lapack
    • 8f7daef4 - Move zpotrf to the new conversion functions
    • 03b4a34f - Replace all zooplap2tile by new zlap2tile
    • 4fd458c7 - Keep converting the lapack interface function
    • 35fe8c53 - Indent and whitespace cleanup
    • 6a341c23 - Replace the tile2lap
    • e1129800 - Add cleanup
    • bafbfed5 - Cleanup
    • b86e73ef - Correct Dptr calls
    • 579dc09e - Explode descriptor one per line
    • ecbee0df - Add descriptor declarations
    • 313aeb54 - Replace the descriptors in the calls
    • 3ef551c6 - Fix returned values
    • 06546b16 - Use uplo when possible
    • 9f07583e - Add in,out,inout mode to descriptor to avoid useless layout conversions
    • 588c3b26 - Try to limit the number of tests running in parallel
    • 2b62f08f - Fix mistake in zposv
    • e7fb36f3 - Remove references to RUNTIME interface in z*.c files
    • cbc1b247 - Some cleanup for sonarqube
    • c27ce41a - Minor
    • 83d965ee - More for sonarqube
    • dc4b62db - Check that all flushes are now in z*.c files with a script
    • a780d6bf - Change inout to make sure its a composition of other two
    • bfcf8ea8 - Remove unused macro
    • dde7c55d - Factorize code
    • a29ceeb8 - Add extra flush to norm computations for parsec
    • b33153a7 - Fix issue with desc created/destroyed in mat_alloc/free
    • 1663a7cd - Add a missing destroy
    • ba9be25f - Factorize some code
    • 8fda2448 - Temporary fix for missing flush/wait in QR functions
    • e2236009 - I hope this time I did not forget any
    • 1cea29d4 - Updated PaRSEC interface
    • 2c4439bf - Added changes for distributed(incomplete)
    • 43334101 - Update the parsec interface
    • 4c7d1f11 - Update the parsec interface
    • 53c00825 - Silent the context warnings
    • 5a431c9e - Silent some warning with parsec control directory
    • 8103bf6c - Minor
    • 6c9e689b - Cleanup all warnigns in parsec
    • 0b308a67 - Fix unititialized value
    • 02d0b0dd - Wait only sequence tasks

    Compare with previous version

  • Hello @reazulhoque,

    Could you try this last version of the branch please. I have a problem with the GEMM test ./testings/stesting 1 0 GEMM 1.5. 2. 96 96 96 96 96 96

    If you look at the new version of compute/zgemm.c in the Lapack interface function (The first one in the file). If I set A and B as input as they should be:

        /* Submit the matrix conversion */
        morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower,
                         A, NB, NB, LDA, An, Am, An, sequence, &request );
        morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower,
                         B, NB, NB, LDB, Bn, Bm, Bn, sequence, &request );
        morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower,
                         C, NB, NB, LDC, N, M,  N, sequence, &request );
    
        /* Call the tile interface */
        MORSE_zgemm_Tile_Async( transA, transB, alpha, &descAt, &descBt, beta, &descCt, sequence, &request );
    
        /* Submit the matrix conversion back */
        morse_ztile2lap( morse, &descAl, &descAt,
                         MorseDescInput, MorseUpperLower, sequence, &request );
        morse_ztile2lap( morse, &descBl, &descBt,
                         MorseDescInput, MorseUpperLower, sequence, &request );
        morse_ztile2lap( morse, &descCl, &descCt,
                         MorseDescInout, MorseUpperLower, sequence, &request );

    It doesn't work. The results is numerically incorrect. However if I change the MorseDescInput for a MorseDescOutput, the results is then correct. Could you please have a look to tell if you have the same issue and if you have any idea of why. Thanks.

  • Mathieu Faverge added 11 commits

    added 11 commits

    • 1ff90ef1 - 1 commit from branch solverstack:master
    • 84ba1099 - Updated PaRSEC interface
    • 26f9fc70 - Added changes for distributed(incomplete)
    • 39e82131 - Update the parsec interface
    • 2ba61d45 - Update the parsec interface
    • adcc4cc3 - Silent the context warnings
    • 3ffac158 - Silent some warning with parsec control directory
    • f767ebae - Minor
    • 6c041b94 - Cleanup all warnigns in parsec
    • 9d399b76 - Fix unititialized value
    • 75fd8816 - Wait only sequence tasks

    Compare with previous version

  • Mathieu Faverge added 2 commits

    added 2 commits

    • 95826f37 - Update codelets to new PaRSEC DTD interface
    • 62b14f81 - Disable dataflush in Parsec to avoid freeing a data before it's fully used in the sequence

    Compare with previous version

  • Mathieu Faverge added 4 commits

    added 4 commits

    • e3bdbf60 - Modify gesv to match QR algorithms
    • 2e728b00 - Add missing flush in QR functions
    • 2641321e - Add missing destroy in workspace
    • 9f57fb18 - Add missing desc in getrf_incpiv declaration

    Compare with previous version

  • Mathieu Faverge unmarked as a Work In Progress

    unmarked as a Work In Progress

  • Mathieu Faverge changed the description

    changed the description

  • added 1 commit

    • 59361c0a - forces DIAG off with parsec

    Compare with previous version

  • At everyone, if you agree. I would be in favor of merging this PR, despite the fact that the QR routines are failing the tests with PaRSEC, because it adds some missing flushes in the master branch and works for all BLAS 3 routines. So, if you are ok. I'll merge it today.

  • Mathieu Faverge changed the description

    changed the description

  • Mathieu Faverge mentioned in commit 2e8a8bb2

    mentioned in commit 2e8a8bb2

  • Please register or sign in to reply
    Loading