diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d12130c80bc8550cc544797150b3d75fc456d9a..f90423ad4ea2e96edb6190820b5c2e5a8c875e2b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -230,10 +230,10 @@ else() endif() # Enable Hmat-OSS kernels -option(CHAMELEON_USE_HMAT "Enable hmat kernels" OFF) +option(CHAMELEON_USE_HMATOSS "Enable hmat kernels" OFF) cmake_dependent_option(CHAMELEON_HMAT_EXTERNAL "Use external hmat-oss library" OFF - "CHAMELEON_USE_HMAT" OFF) + "CHAMELEON_USE_HMATOSS" OFF) option(CHAMELEON_RUNTIME_SYNC "Enable synchronous task submission when available to debug the code without parallelism" OFF) if (CHAMELEON_RUNTIME_SYNC) @@ -314,7 +314,7 @@ add_subdirectory(hqr) ############################################################################### # Build dependency HMAT-OSS library # ##################################### -if ( CHAMELEON_USE_HMAT ) +if ( CHAMELEON_USE_HMATOSS ) if ( CHAMELEON_HMAT_EXTERNAL ) find_package(HMAT REQUIRED) if(HMAT_FOUND) diff --git a/cmake_modules/CHAMELEONConfig.cmake.in b/cmake_modules/CHAMELEONConfig.cmake.in index 744cdd723f8c89461b3393d1d4067028d86be1ee..b1f50a43812a77f5e92319868cb5bb5ed9bf1db6 100644 --- a/cmake_modules/CHAMELEONConfig.cmake.in +++ b/cmake_modules/CHAMELEONConfig.cmake.in @@ -39,7 +39,7 @@ if (@CHAMELEON_USE_CUDA@ AND NOT @CHAMELEON_SIMULATION@) endif() # add the targets file -if (@CHAMELEON_USE_HMAT@) +if (@CHAMELEON_USE_HMATOSS@) if ( @CHAMELEON_HMAT_EXTERNAL@ ) # Should be a find_dependency() but we fix it to make sure we use # the correct path in higher level projects. diff --git a/cmake_modules/PrintOpts.cmake b/cmake_modules/PrintOpts.cmake index e1e604ab77526e8269b987bd1bf3367be65aee7f..afe5bd8070709255f95b5170f48b5aa6cf0c6c35 100644 --- a/cmake_modules/PrintOpts.cmake +++ b/cmake_modules/PrintOpts.cmake @@ -88,7 +88,7 @@ set(dep_message "${dep_message}" " Kernels specific\n" " BLAS ................: ${BLAS_VENDOR_FOUND}\n" " LAPACK...............: ${LAPACK_VENDOR_FOUND}\n" -" HMAT-OSS.............: ${CHAMELEON_USE_HMAT}\n" +" HMAT-OSS.............: ${CHAMELEON_USE_HMATOSS}\n" "\n" " Simulation mode .....: ${CHAMELEON_SIMULATION}\n" "\n" diff --git a/coreblas/CMakeLists.txt b/coreblas/CMakeLists.txt index 331182ff54d1659eb5474a0db9ef65c33efb57a1..909dfbf5b23230227e4d64cfa57d2a666348f689 100644 --- a/coreblas/CMakeLists.txt +++ b/coreblas/CMakeLists.txt @@ -26,7 +26,7 @@ # ### -if (CHAMELEON_USE_HMAT AND NOT CHAMELEON_HMAT_EXTERNAL) +if (CHAMELEON_USE_HMATOSS AND NOT CHAMELEON_HMAT_EXTERNAL) add_subdirectory(hmat-oss) endif() add_subdirectory(include) diff --git a/coreblas/compute/CMakeLists.txt b/coreblas/compute/CMakeLists.txt index adca6710183d72d83e3ffeba7476e8a52c00d4e8..4f68a6df2fa5c5f4b8f6090581263c185df21399 100644 --- a/coreblas/compute/CMakeLists.txt +++ b/coreblas/compute/CMakeLists.txt @@ -112,7 +112,7 @@ set(ZSRC core_zunmqr.c core_zprint.c ) -if( CHAMELEON_USE_HMAT ) +if( CHAMELEON_USE_HMATOSS ) list( APPEND ZSRC hmat_z.c ) endif() @@ -157,7 +157,7 @@ target_include_directories(coreblas PUBLIC $<INSTALL_INTERFACE:include>) set_property(TARGET coreblas PROPERTY INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") -if( CHAMELEON_USE_HMAT ) +if( CHAMELEON_USE_HMATOSS ) target_link_libraries(coreblas PUBLIC HMAT::hmat ) endif() diff --git a/coreblas/compute/core_ztile.c b/coreblas/compute/core_ztile.c index f3fa2e4732028dd7edb8bb971f3f2eee23ee3819..3fd42a0ed09bb19ac0bb266b938950127175cee0 100644 --- a/coreblas/compute/core_ztile.c +++ b/coreblas/compute/core_ztile.c @@ -20,7 +20,7 @@ #include "coreblas.h" #include "coreblas/coreblas_ztile.h" -#if defined( CHAMELEON_USE_HMAT ) +#if defined( CHAMELEON_USE_HMATOSS ) #include "coreblas/hmat.h" #endif @@ -137,10 +137,8 @@ TCORE_zgemm( cham_trans_t transA, beta, CHAM_tile_get_ptr( C ), C->ld ); } -#if defined( CHAMELEON_USE_HMAT ) - else if ( ( A->format & CHAMELEON_TILE_HMAT ) && - ( B->format & CHAMELEON_TILE_HMAT ) && - ( C->format & CHAMELEON_TILE_HMAT ) ) +#if defined( CHAMELEON_USE_HMATOSS ) + else if ( ( A->format & B->format & C->format & CHAMELEON_TILE_HMAT ) ) { hmat_zgemm( chameleon_lapack_const( transA ), chameleon_lapack_const( transB ), @@ -148,8 +146,7 @@ TCORE_zgemm( cham_trans_t transA, &beta, C->mat ); } else if ( ( A->format & CHAMELEON_TILE_HMAT ) && - ( B->format & CHAMELEON_TILE_FULLRANK ) && - ( C->format & CHAMELEON_TILE_FULLRANK ) ) + ( B->format & C->format & CHAMELEON_TILE_FULLRANK ) ) { assert( transB == ChamNoTrans ); hmat_zgemv( chameleon_lapack_const( transA ), @@ -206,7 +203,7 @@ TCORE_zgetrf( int M, int N, CHAM_tile_t *A, int *IPIV, int *INFO ) if ( A->format & (CHAMELEON_TILE_FULLRANK | CHAMELEON_TILE_DESC) ) { rc = CORE_zgetrf( M, N, CHAM_tile_get_ptr( A ), A->ld, IPIV, INFO ); } -#if defined( CHAMELEON_USE_HMAT ) +#if defined( CHAMELEON_USE_HMATOSS ) else if ( A->format & CHAMELEON_TILE_HMAT ) { rc = hmat_zgetrf( A->mat ); assert( rc == 0 ); @@ -226,7 +223,7 @@ TCORE_zgetrf_incpiv( int M, int N, int IB, CHAM_tile_t *A, int *IPIV, int *INFO if ( A->format & (CHAMELEON_TILE_FULLRANK | CHAMELEON_TILE_DESC) ) { return CORE_zgetrf_incpiv( M, N, IB, CHAM_tile_get_ptr( A ), A->ld, IPIV, INFO ); } -#if defined( CHAMELEON_USE_HMAT ) +#if defined( CHAMELEON_USE_HMATOSS ) else if ( A->format & CHAMELEON_TILE_HMAT ) { return hmat_zgetrf( A->mat ); } @@ -248,7 +245,7 @@ TCORE_zgetrf_nopiv( int M, int N, int IB, CHAM_tile_t *A, int *INFO ) if ( A->format & (CHAMELEON_TILE_FULLRANK | CHAMELEON_TILE_DESC) ) { rc = CORE_zgetrf_nopiv( M, N, IB, CHAM_tile_get_ptr( A ), A->ld, INFO ); } -#if defined( CHAMELEON_USE_HMAT ) +#if defined( CHAMELEON_USE_HMATOSS ) else if ( A->format & CHAMELEON_TILE_HMAT ) { rc = hmat_zgetrf( A->mat ); assert( rc == 0 ); @@ -556,7 +553,7 @@ TCORE_zpotrf( cham_uplo_t uplo, int n, CHAM_tile_t *A, int *INFO ) if ( A->format & (CHAMELEON_TILE_FULLRANK | CHAMELEON_TILE_DESC) ) { CORE_zpotrf( uplo, n, CHAM_tile_get_ptr( A ), A->ld, INFO ); } -#if defined( CHAMELEON_USE_HMAT ) +#if defined( CHAMELEON_USE_HMATOSS ) else if ( A->format & CHAMELEON_TILE_HMAT ) { assert( uplo == ChamLower ); *INFO = hmat_zpotrf( A->mat ); @@ -854,7 +851,7 @@ TCORE_ztrsm( cham_side_t side, { CORE_ztrsm( side, uplo, transA, diag, M, N, alpha, CHAM_tile_get_ptr( A ), A->ld, CHAM_tile_get_ptr( B ), B->ld ); } -#if defined( CHAMELEON_USE_HMAT ) +#if defined( CHAMELEON_USE_HMATOSS ) else if ( A->format & CHAMELEON_TILE_HMAT ) { assert( !(B->format & CHAMELEON_TILE_DESC) ); hmat_ztrsm( chameleon_lapack_const( side ), diff --git a/coreblas/compute/core_ztile_empty.c b/coreblas/compute/core_ztile_empty.c index 78deca42091fc2e210a8e68c7decfd64b4cd7a59..adeb5db17e76934e684e21995618f4a61183c631 100644 --- a/coreblas/compute/core_ztile_empty.c +++ b/coreblas/compute/core_ztile_empty.c @@ -19,7 +19,7 @@ #include "coreblas.h" #include "coreblas/coreblas_ztile.h" -#if defined( CHAMELEON_USE_HMAT ) +#if defined( CHAMELEON_USE_HMATOSS ) #include "coreblas/hmat.h" #endif diff --git a/coreblas/include/CMakeLists.txt b/coreblas/include/CMakeLists.txt index c6b9c53c45c5eff16ee7da1a89c5d70b8c6b58ad..2a5651ac046619ae19493c4acde8791ebb623237 100644 --- a/coreblas/include/CMakeLists.txt +++ b/coreblas/include/CMakeLists.txt @@ -35,7 +35,7 @@ set(ZHDR coreblas/coreblas_ztile.h coreblas/coreblas_zctile.h ) -if( CHAMELEON_USE_HMAT ) +if( CHAMELEON_USE_HMATOSS ) list( APPEND ZHDR coreblas/hmat_z.h ) endif() @@ -56,7 +56,7 @@ set(COREBLAS_HDRS coreblas/lapacke_mangling.h coreblas/random.h ) -if( CHAMELEON_USE_HMAT ) +if( CHAMELEON_USE_HMATOSS ) list( APPEND COREBLAS_HDRS coreblas/hmat.h ) endif() diff --git a/coreblas/include/coreblas/hmat.h b/coreblas/include/coreblas/hmat.h index 8cdda1e926a9151a78a1e49e2f687d4e20c16be5..267332bc100fd9881c398ef7a4c77b79e3a0e4ce 100644 --- a/coreblas/include/coreblas/hmat.h +++ b/coreblas/include/coreblas/hmat.h @@ -22,7 +22,7 @@ #include "coreblas.h" -#if !defined( CHAMELEON_USE_HMAT ) +#if !defined( CHAMELEON_USE_HMATOSS ) #error "This file should not be included by itself" #endif diff --git a/doc/user/chapters/installing.org b/doc/user/chapters/installing.org index de4e616663832344647386f10e9ac4b481bc7e1f..8724ccffc507b4a9c71867a744706de5e65ef06c 100644 --- a/doc/user/chapters/installing.org +++ b/doc/user/chapters/installing.org @@ -399,7 +399,7 @@ Finally some packages or also available for [[sec:ug:debian][Debian/Ubuntu]] and enables the data migration in QR algorithms. * *CHAMELEON_USE_MPI_DATATYPES* (default OFF): enables MPI datatypes whenever supported by the runtime. - * *CHAMELEON_USE_HMAT=ON|OFF* (default OFF): + * *CHAMELEON_USE_HMATOSS=ON|OFF* (default OFF): enables Hmat-OSS kernels. * *CHAMELEON_RUNTIME_SYNC* (default OFF): enables synchronous task submission when available to debug the code without parallelism. diff --git a/include/chameleon/config.h.in b/include/chameleon/config.h.in index 2912a83a0debf7b278185f22afef0e7c1d6bcb2c..c9ddebbfbd6f88e546adf73c1ec7dda84448578e 100644 --- a/include/chameleon/config.h.in +++ b/include/chameleon/config.h.in @@ -66,7 +66,7 @@ #cmakedefine CHAMELEON_PREC_ZC /* Hmat-oss */ -#cmakedefine CHAMELEON_USE_HMAT +#cmakedefine CHAMELEON_USE_HMATOSS /* Simulation */ #cmakedefine CHAMELEON_SIMULATION diff --git a/runtime/starpu/interface/cham_tile_interface.c b/runtime/starpu/interface/cham_tile_interface.c index 50250747eebb25160db61a39d03d3a23892b6c0e..c8be6122ba5f698fa2387e782f042a6cd6bbc356 100644 --- a/runtime/starpu/interface/cham_tile_interface.c +++ b/runtime/starpu/interface/cham_tile_interface.c @@ -17,7 +17,7 @@ * */ #include "chameleon_starpu.h" -#if defined(CHAMELEON_USE_HMAT) +#if defined(CHAMELEON_USE_HMATOSS) #include "coreblas/hmat.h" static inline void @@ -177,7 +177,7 @@ cti_free_data_on_node( void *data_interface, unsigned node ) starpu_cham_tile_interface_t *cham_tile_interface = (starpu_cham_tile_interface_t *) data_interface; -#if defined(CHAMELEON_USE_HMAT) +#if defined(CHAMELEON_USE_HMATOSS) if ( (cham_tile_interface->tile.format & CHAMELEON_TILE_HMAT) && (cham_tile_interface->tile.mat != NULL ) ) { @@ -331,7 +331,7 @@ static int cti_pack_data_hmat( starpu_cham_tile_interface_t *cham_tile_interface, void *ptr ) { -#if !defined(CHAMELEON_USE_HMAT) +#if !defined(CHAMELEON_USE_HMATOSS) assert( 0 ); (void)cham_tile_interface; (void)ptr; @@ -432,7 +432,7 @@ cti_unpack_data_hmat( starpu_cham_tile_interface_t *cham_tile_interface, void *ptr ) { assert( cham_tile_interface->tile.format & CHAMELEON_TILE_HMAT ); -#if !defined(CHAMELEON_USE_HMAT) +#if !defined(CHAMELEON_USE_HMATOSS) assert( 0 ); (void)cham_tile_interface; (void)ptr; diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt index 21d7070e44013d534fb9fb6bc20aba89347e38dd..c9fc1b73189bbfe15f3f301911a533c360ad55ec 100644 --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -297,7 +297,7 @@ include(CTestLists.cmake) # copy input files file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/input DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) -if ( CHAMELEON_USE_HMAT AND (NOT CHAMELEON_SIMULATION) AND CHAMELEON_USE_MPI ) +if ( CHAMELEON_USE_HMATOSS AND (NOT CHAMELEON_SIMULATION) AND CHAMELEON_USE_MPI ) add_subdirectory( test_fembem )