diff --git a/CMakeLists.txt b/CMakeLists.txt index a881f77b843c349c00f8179b80716b176452e814..edb3035b06efbdcb21a215eba78382c1516597ab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,20 +40,20 @@ set(CHAMELEON_VERSION_MAJOR 1) set(CHAMELEON_VERSION_MINOR 0) set(CHAMELEON_VERSION_MICRO 0) -set(MORSE_CMAKE_DIR "" CACHE PATH "Directory of MORSE CMake modules, can be external to the project") +set(CHAMELEON_CMAKE_DIR "" CACHE PATH "Directory of CHAMELEON CMake modules, can be external to the project") # Add extra cmake module path and initialize morse cmake modules # -------------------------------------------------------------- list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules) -if(MORSE_CMAKE_DIR) - list(APPEND CMAKE_MODULE_PATH "${MORSE_CMAKE_DIR}/cmake_modules/morse_cmake/modules") - set(MORSE_CMAKE_MODULE_PATH ${MORSE_CMAKE_DIR}/cmake_modules/morse_cmake/modules ) +if(CHAMELEON_CMAKE_DIR) + list(APPEND CMAKE_MODULE_PATH "${CHAMELEON_CMAKE_DIR}/cmake_modules/morse_cmake/modules") + set(CHAMELEON_CMAKE_MODULE_PATH ${CHAMELEON_CMAKE_DIR}/cmake_modules/morse_cmake/modules ) elseif(EXISTS "${CMAKE_SOURCE_DIR}/cmake_modules/morse_cmake") list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/morse_cmake/modules") - set(MORSE_CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules/morse_cmake/modules ) + set(CHAMELEON_CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules/morse_cmake/modules ) else() message(FATAL_ERROR "Chameleon CMake system relies on morse_cmake modules developed here: " - "https://gitlab.inria.fr/solverstack/morse_cmake. Please set MORSE_CMAKE_DIR to this source " + "https://gitlab.inria.fr/solverstack/morse_cmake. Please set CHAMELEON_CMAKE_DIR to this source " "directory.") endif() @@ -64,8 +64,8 @@ include(GenPkgConfig) # ------------------------------------------------------------------------ include(FortranCInterface) FortranCInterface_VERIFY() -FortranCInterface_HEADER(${CMAKE_CURRENT_BINARY_DIR}/include/chameleon/morse_mangling.h - MACRO_NAMESPACE "MORSE_") +FortranCInterface_HEADER(${CMAKE_CURRENT_BINARY_DIR}/include/chameleon/mangling.h + MACRO_NAMESPACE "CHAMELEON_") ############################################# # # @@ -97,7 +97,7 @@ option(BUILD_SHARED_LIBS "Build shared libraries" OFF) # Define precision supported by CHAMELEON # ----------------------------------------- -set( RP_CHAMELEON_DICTIONNARY ${MORSE_CMAKE_MODULE_PATH}/precision_generator/subs.py ) +set( RP_CHAMELEON_DICTIONNARY ${CHAMELEON_CMAKE_MODULE_PATH}/precision_generator/subs.py ) set( RP_CHAMELEON_PRECISIONS "s;d;c;z" ) include(RulesPrecisions) @@ -322,7 +322,7 @@ if(NOT CHAMELEON_SIMULATION) list(INSERT CHAMELEON_DEP 0 ${CBLAS_LIBRARIES_DEP}) endif() else() - if(MORSE_VERBOSE_FIND_PACKAGE) + if(CHAMELEON_VERBOSE_FIND_PACKAGE) if(CBLAS_STANDALONE OR NOT CBLAS_WORKS) if (NOT CBLAS_cblas.h_DIRS) Print_Find_Header_Status(cblas cblas.h) @@ -332,8 +332,8 @@ if(NOT CHAMELEON_SIMULATION) endif () endif() else() - message(WARNING "CBLAS library has not been found and MORSE_VERBOSE_FIND_PACKAGE is set to OFF." - " Try to activate MORSE_VERBOSE_FIND_PACKAGE option (-DMORSE_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection") + message(WARNING "CBLAS library has not been found and CHAMELEON_VERBOSE_FIND_PACKAGE is set to OFF." + " Try to activate CHAMELEON_VERBOSE_FIND_PACKAGE option (-DCHAMELEON_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection") endif() message(FATAL_ERROR "A CBLAS library is required but has not been found") endif() @@ -358,7 +358,7 @@ if(NOT CHAMELEON_SIMULATION) list(INSERT CHAMELEON_DEP 0 ${LAPACKE_LIBRARIES_DEP}) endif() else() - if(MORSE_VERBOSE_FIND_PACKAGE) + if(CHAMELEON_VERBOSE_FIND_PACKAGE) if (LAPACKE_STANDALONE OR NOT LAPACKE_WORKS) if (NOT LAPACKE_lapacke.h_DIRS) Print_Find_Header_Status(lapacke lapacke.h) @@ -368,8 +368,8 @@ if(NOT CHAMELEON_SIMULATION) endif () endif() else() - message(WARNING "LAPACKE library has not been found and MORSE_VERBOSE_FIND_PACKAGE is set to OFF." - " Try to activate MORSE_VERBOSE_FIND_PACKAGE option (-DMORSE_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection") + message(WARNING "LAPACKE library has not been found and CHAMELEON_VERBOSE_FIND_PACKAGE is set to OFF." + " Try to activate CHAMELEON_VERBOSE_FIND_PACKAGE option (-DCHAMELEON_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection") endif() message(FATAL_ERROR "A LAPACKE library is required but has not been found") endif() @@ -677,7 +677,7 @@ if( CHAMELEON_SCHED_STARPU ) endif() endif() else ( STARPU_FOUND ) - if(MORSE_VERBOSE_FIND_PACKAGE) + if(CHAMELEON_VERBOSE_FIND_PACKAGE) if(NOT HWLOC_FOUND OR NOT HWLOC_LIBRARIES) if (NOT HWLOC_hwloc.h_DIRS) Print_Find_Header_Status(hwloc hwloc.h) @@ -718,10 +718,10 @@ if( CHAMELEON_SCHED_STARPU ) endforeach() endif () endif () - else(MORSE_VERBOSE_FIND_PACKAGE) - message(WARNING "StarPU library has not been found and MORSE_VERBOSE_FIND_PACKAGE is set to OFF." - " Try to activate MORSE_VERBOSE_FIND_PACKAGE option (-DMORSE_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection") - endif(MORSE_VERBOSE_FIND_PACKAGE) + else(CHAMELEON_VERBOSE_FIND_PACKAGE) + message(WARNING "StarPU library has not been found and CHAMELEON_VERBOSE_FIND_PACKAGE is set to OFF." + " Try to activate CHAMELEON_VERBOSE_FIND_PACKAGE option (-DCHAMELEON_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection") + endif(CHAMELEON_VERBOSE_FIND_PACKAGE) if(NOT HWLOC_FOUND OR NOT HWLOC_LIBRARIES) message(FATAL_ERROR "hwloc library is required but has not been found") endif() @@ -781,7 +781,7 @@ if( CHAMELEON_SCHED_PARSEC ) # set(CMAKE_REQUIRED_LIBRARIES "${PARSEC_LIBRARIES_DEP}") # check_function_exists(parsec_init HAVE_PARSEC_INIT) else ( PARSEC_FOUND ) - if(MORSE_VERBOSE_FIND_PACKAGE) + if(CHAMELEON_VERBOSE_FIND_PACKAGE) if(NOT HWLOC_FOUND OR NOT HWLOC_LIBRARIES) if (NOT HWLOC_hwloc.h_DIRS) Print_Find_Header_Status(hwloc hwloc.h) @@ -804,10 +804,10 @@ if( CHAMELEON_SCHED_PARSEC ) endforeach() endif() endif() - else(MORSE_VERBOSE_FIND_PACKAGE) - message(WARNING "PaRSEC library has not been found and MORSE_VERBOSE_FIND_PACKAGE is set to OFF." - " Try to activate MORSE_VERBOSE_FIND_PACKAGE option (-DMORSE_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection") - endif(MORSE_VERBOSE_FIND_PACKAGE) + else(CHAMELEON_VERBOSE_FIND_PACKAGE) + message(WARNING "PaRSEC library has not been found and CHAMELEON_VERBOSE_FIND_PACKAGE is set to OFF." + " Try to activate CHAMELEON_VERBOSE_FIND_PACKAGE option (-DCHAMELEON_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection") + endif(CHAMELEON_VERBOSE_FIND_PACKAGE) if(NOT HWLOC_FOUND OR NOT HWLOC_LIBRARIES) message(FATAL_ERROR "hwloc library is required but has not been found") endif() @@ -843,7 +843,7 @@ if( CHAMELEON_SCHED_QUARK ) list(INSERT CHAMELEON_DEP 0 ${QUARK_LIBRARIES_DEP}) endif() else(QUARK_FOUND) - if(MORSE_VERBOSE_FIND_PACKAGE) + if(CHAMELEON_VERBOSE_FIND_PACKAGE) if(NOT HWLOC_FOUND OR NOT HWLOC_LIBRARIES) if (NOT HWLOC_hwloc.h_DIRS) Print_Find_Header_Status(hwloc hwloc.h) @@ -859,8 +859,8 @@ if( CHAMELEON_SCHED_QUARK ) Print_Find_Library_Status(quark libquark) endif () else() - message(WARNING "QUARK library has not been found and MORSE_VERBOSE_FIND_PACKAGE is set to OFF." - " Try to activate MORSE_VERBOSE_FIND_PACKAGE option (-DMORSE_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection") + message(WARNING "QUARK library has not been found and CHAMELEON_VERBOSE_FIND_PACKAGE is set to OFF." + " Try to activate CHAMELEON_VERBOSE_FIND_PACKAGE option (-DCHAMELEON_VERBOSE_FIND_PACKAGE=ON) to get some hints for the detection") endif() if(NOT HWLOC_FOUND OR NOT HWLOC_LIBRARIES) message(FATAL_ERROR "hwloc library is required but has not been found") diff --git a/ChangeLog b/ChangeLog index 2480d12b1e684aaf3963bb2e602271d769e193f3..de6947271780377090c145ace84cbde9a6f82401 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,7 +23,7 @@ r2253 | fpruvost | 2015-06-19 16:57:27 +0200 (ven. 19 juin 2015) - correct restrict zsytrf_nopiv - save config of build in config.log - improve potrf+potrs on distributed systems -- add a MORSE_VERBOSE mode to activate or not hints during the detection +- add a CHAMELEON_VERBOSE mode to activate or not hints during the detection - add the codelet name information in starpu_codelet for eztrace starpu module interceptions - change the name of the installed chameleon .pc file: no more starpu or quark suffix - change installation directories for headers, executables and docs. Make it relative to chameleon to avoid a bloody mess in system dirs @@ -36,7 +36,7 @@ r2253 | fpruvost | 2015-06-19 16:57:27 +0200 (ven. 19 juin 2015) - improve Find BLAS for gnu compilo and threaded mkl - if hints are given by user to find libs (CMake option or env. var) --> do not use pkg-config - avoid to call MPI_Finalize if MPI has been initialized by user -- add MORSE_Pause/Resume function to avoid CPU consumption when no tasks have to be executed +- add CHAMELEON_Pause/Resume function to avoid CPU consumption when no tasks have to be executed - update the fortran90 interface chameleon-0.9.0 diff --git a/cmake_modules/GenPkgConfig.cmake b/cmake_modules/GenPkgConfig.cmake index b4d2429e406344377e4178baf9b6357b08ee8fb3..153627b49a1de4e92b8ca60d24ebc051857a97dd 100644 --- a/cmake_modules/GenPkgConfig.cmake +++ b/cmake_modules/GenPkgConfig.cmake @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -163,7 +163,7 @@ MACRO(GENERATE_PKGCONFIG_FILE) SET(_output_cudablas_file "${CMAKE_BINARY_DIR}/cudablas.pc") endif() - # TODO: add url of MORSE releases in .pc file + # TODO: add url of CHAMELEON releases in .pc file CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/chameleon.pc.in" "${_output_chameleon_file}" @ONLY) CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/coreblas.pc.in" "${_output_coreblas_file}" @ONLY) if(CHAMELEON_USE_CUDA) diff --git a/cmake_modules/PrintOpts.cmake b/cmake_modules/PrintOpts.cmake index 5a1051a68fdfdda375fa72555a08761c55372d47..e5bf00c1178fe4248901da54726938858f2c199d 100644 --- a/cmake_modules/PrintOpts.cmake +++ b/cmake_modules/PrintOpts.cmake @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/cmake_modules/gitlab-ci-initial-cache.cmake b/cmake_modules/gitlab-ci-initial-cache.cmake index f472d6142feb70cf2e2058f5099f43451bcd9693..8bc6792b19ffbda7f44a20f797f0f5d801acf411 100644 --- a/cmake_modules/gitlab-ci-initial-cache.cmake +++ b/cmake_modules/gitlab-ci-initial-cache.cmake @@ -2,5 +2,5 @@ set(BUILD_SHARED_LIBS "ON" CACHE BOOL "") set(CMAKE_INSTALL_PREFIX "$ENV{PWD}/install" CACHE PATH "") set(CMAKE_VERBOSE_MAKEFILE "ON" CACHE BOOL "") -option(MORSE_ENABLE_WARNING "Enable warning messages" ON) -option(MORSE_ENABLE_COVERAGE "Enable flags for coverage test" ON) +option(CHAMELEON_ENABLE_WARNING "Enable warning messages" ON) +option(CHAMELEON_ENABLE_COVERAGE "Enable flags for coverage test" ON) diff --git a/cmake_modules/morse_cmake b/cmake_modules/morse_cmake index 1deddb2781f62dbbf0ee9199f569e49f7346397a..3c4da39c32e8a80c6af48ef066f9d5ebbba08aff 160000 --- a/cmake_modules/morse_cmake +++ b/cmake_modules/morse_cmake @@ -1 +1 @@ -Subproject commit 1deddb2781f62dbbf0ee9199f569e49f7346397a +Subproject commit 3c4da39c32e8a80c6af48ef066f9d5ebbba08aff diff --git a/compute/CMakeLists.txt b/compute/CMakeLists.txt index 6a9932cb5fa0f5e47511e58e88bf54a71334e5bf..9e5eb0cb4d5898e3c82127d04e9e49708463537f 100644 --- a/compute/CMakeLists.txt +++ b/compute/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -57,9 +57,9 @@ set(CHAMELEON_CONTROL ../control/descriptor.c ../control/workspace.c ../control/tile.c - ../control/morse_f77.c - ../control/morse_mf77.c -# ../control/morsewinthread.c + ../control/chameleon_f77.c + ../control/chameleon_mf77.c +# ../control/chameleonwinthread.c ) set(flags_to_add "") @@ -68,7 +68,7 @@ foreach(_prec ${CHAMELEON_PRECISION}) endforeach() set_source_files_properties(../control/tile.c PROPERTIES COMPILE_FLAGS "${flags_to_add}") -# Generate the morse sources for all possible precisions +# Generate the chameleon sources for all possible precisions # ------------------------------------------------------ set(CHAMELEON_SRCS_GENERATED "") set(ZSRC @@ -204,7 +204,6 @@ set(ZSRC pztile2band.c #pzgebrd_gb2bd.c pzgebrd_ge2gb.c - #pzgetmi2.c #pzgetrf_reclap.c #pzgetrf_rectil.c #pzhegst.c @@ -252,7 +251,7 @@ precisions_rules_py(CHAMELEON_SRCS_GENERATED "${ZSRC}" set(CONTROL_SRCS_GENERATED "") set(ZSRC ../control/workspace_z.c - ../control/morse_zf77.c + ../control/chameleon_zf77.c ) precisions_rules_py(CONTROL_SRCS_GENERATED "${ZSRC}" @@ -265,21 +264,21 @@ set(CHAMELEON_SRCS ${CONTROL_SRCS_GENERATED} ) -# Generate the morse fortran sources for all possible precisions +# Generate the chameleon fortran sources for all possible precisions # -------------------------------------------------------------- if(HAVE_ISO_C_BINDING) set(CHAMELEON_SRCS_F_GENERATED "") set(ZSRCF - ../control/morse_zcf90.F90 - ../control/morse_zf90.F90 - ../control/morse_zf90_wrappers.F90 + ../control/chameleon_zcf90.F90 + ../control/chameleon_zf90.F90 + ../control/chameleon_zf90_wrappers.F90 ) precisions_rules_py(CHAMELEON_SRCS_F_GENERATED "${ZSRCF}" PRECISIONS "${CHAMELEON_PRECISION}" TARGETDIR "control" ) set(CHAMELEON_SRCSF - ../control/morse_f90.f90 + ../control/chameleon_f90.f90 ${CHAMELEON_SRCS_F_GENERATED} ) endif(HAVE_ISO_C_BINDING) diff --git a/compute/pzbuild.c b/compute/pzbuild.c index 4f65345c55e9c3943065876d173b28627c749e54..417d429bd78d9864544e144eabc5e1e2c62c178d 100644 --- a/compute/pzbuild.c +++ b/compute/pzbuild.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -32,9 +32,9 @@ * * @param[in] uplo * Specifies the part of the matrix A to be copied to B. - * = MorseUpperLower: All the matrix A - * = MorseUpper: Upper triangular part - * = MorseLower: Lower triangular part + * = ChamUpperLower: All the matrix A + * = ChamUpper: Upper triangular part + * = ChamLower: Lower triangular part * * @param[in] A * On exit, The matrix A generated. @@ -53,33 +53,33 @@ * Identifies this function call (for exception handling purposes). * */ -void morse_pzbuild( MORSE_enum uplo, MORSE_desc_t *A, void *user_data, void* user_build_callback, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +void chameleon_pzbuild( cham_uplo_t uplo, CHAM_desc_t *A, void *user_data, void* user_build_callback, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int m, n; int ldam; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); for (m = 0; m < A->mt; m++) { ldam = BLKLDD(A, m); for (n = 0; n < A->nt; n++) { - if ( ( uplo == MorseUpper && m <= n ) || - ( uplo == MorseLower && m >= n ) || - ( uplo == MorseUpperLower ) ) - MORSE_TASK_zbuild( + if ( ( uplo == ChamUpper && m <= n ) || + ( uplo == ChamLower && m >= n ) || + ( uplo == ChamUpperLower ) ) + INSERT_TASK_zbuild( &options, A(m, n), ldam, user_data, user_build_callback ); } } - RUNTIME_options_finalize( &options, morse); + RUNTIME_options_finalize( &options, chamctxt); } diff --git a/compute/pzgebrd_ge2gb.c b/compute/pzgebrd_ge2gb.c index 0d27a9c089ed5b01ad96a6a755eed89c7fd21116..14e3bea724623c3550d78cb01c0b235c2763d4fe 100644 --- a/compute/pzgebrd_ge2gb.c +++ b/compute/pzgebrd_ge2gb.c @@ -20,45 +20,45 @@ */ #include "control/common.h" -void morse_pzgebrd_ge2gb(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzgebrd_ge2gb(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { int k; int tempkm, tempkn; - MORSE_desc_t *A1, *A2, *T1, *D1 = NULL; + CHAM_desc_t *A1, *A2, *T1, *D1 = NULL; if (A->m >= A->n){ for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; - A1 = morse_desc_submatrix(A, k*A->mb, k*A->nb, A->m-k*A->mb, tempkn); - A2 = morse_desc_submatrix(A, k*A->mb, (k+1)*A->nb, A->m-k*A->mb, A->n-(k+1)*A->nb); - T1 = morse_desc_submatrix(T, k*T->mb, k*T->nb, T->m-k*T->mb, T->nb ); + A1 = chameleon_desc_submatrix(A, k*A->mb, k*A->nb, A->m-k*A->mb, tempkn); + A2 = chameleon_desc_submatrix(A, k*A->mb, (k+1)*A->nb, A->m-k*A->mb, A->n-(k+1)*A->nb); + T1 = chameleon_desc_submatrix(T, k*T->mb, k*T->nb, T->m-k*T->mb, T->nb ); if ( D != NULL ) { - D1 = morse_desc_submatrix(D, k*D->mb, k*D->nb, D->m-k*D->mb, tempkn); + D1 = chameleon_desc_submatrix(D, k*D->mb, k*D->nb, D->m-k*D->mb, tempkn); } - morse_pzgeqrf( A1, T1, D1, + chameleon_pzgeqrf( A1, T1, D1, sequence, request); - morse_pzunmqr( MorseLeft, MorseConjTrans, + chameleon_pzunmqr( ChamLeft, ChamConjTrans, A1, A2, T1, D1, sequence, request); if (k+1 < A->nt){ tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; - A1 = morse_desc_submatrix(A, k*A->mb, (k+1)*A->nb, tempkm, A->n-(k+1)*A->nb); - A2 = morse_desc_submatrix(A, (k+1)*A->mb, (k+1)*A->nb, A->m-(k+1)*A->mb, A->n-(k+1)*A->nb); - T1 = morse_desc_submatrix(T, k*T->mb, (k+1)*T->nb, T->mb, T->n-(k+1)*T->nb); + A1 = chameleon_desc_submatrix(A, k*A->mb, (k+1)*A->nb, tempkm, A->n-(k+1)*A->nb); + A2 = chameleon_desc_submatrix(A, (k+1)*A->mb, (k+1)*A->nb, A->m-(k+1)*A->mb, A->n-(k+1)*A->nb); + T1 = chameleon_desc_submatrix(T, k*T->mb, (k+1)*T->nb, T->mb, T->n-(k+1)*T->nb); if ( D != NULL ) { - D1 = morse_desc_submatrix(D, k*D->mb, (k+1)*D->nb, tempkm, D->n-(k+1)*D->nb); + D1 = chameleon_desc_submatrix(D, k*D->mb, (k+1)*D->nb, tempkm, D->n-(k+1)*D->nb); } - morse_pzgelqf( A1, T1, D1, + chameleon_pzgelqf( A1, T1, D1, sequence, request); - morse_pzunmlq( MorseRight, MorseConjTrans, + chameleon_pzunmlq( ChamRight, ChamConjTrans, A1, A2, T1, D1, sequence, request); } @@ -68,33 +68,33 @@ void morse_pzgebrd_ge2gb(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, for (k = 0; k < A->mt; k++) { tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; - A1 = morse_desc_submatrix(A, k*A->mb, k*A->nb, tempkm, A->n-k*A->nb); - A2 = morse_desc_submatrix(A, (k+1)*A->mb, k*A->nb, A->m-(k+1)*A->mb, A->n-k*A->nb); - T1 = morse_desc_submatrix(T, k*T->mb, k*T->nb, T->mb, T->n-k*T->nb); + A1 = chameleon_desc_submatrix(A, k*A->mb, k*A->nb, tempkm, A->n-k*A->nb); + A2 = chameleon_desc_submatrix(A, (k+1)*A->mb, k*A->nb, A->m-(k+1)*A->mb, A->n-k*A->nb); + T1 = chameleon_desc_submatrix(T, k*T->mb, k*T->nb, T->mb, T->n-k*T->nb); if ( D != NULL ) { - D1 = morse_desc_submatrix(D, k*D->mb, k*D->nb, tempkm, D->n-k*D->nb); + D1 = chameleon_desc_submatrix(D, k*D->mb, k*D->nb, tempkm, D->n-k*D->nb); } - morse_pzgelqf( A1, T1, D1, + chameleon_pzgelqf( A1, T1, D1, sequence, request); - morse_pzunmlq( MorseRight, MorseConjTrans, + chameleon_pzunmlq( ChamRight, ChamConjTrans, A1, A2, T1, D1, sequence, request); if (k+1 < A->mt){ tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; - A1 = morse_desc_submatrix(A, (k+1)*A->mb, k*A->nb, A->m-(k+1)*A->mb, tempkn); - A2 = morse_desc_submatrix(A, (k+1)*A->mb, (k+1)*A->nb, A->m-(k+1)*A->mb, A->n-(k+1)*A->nb); - T1 = morse_desc_submatrix(T, (k+1)*T->mb, k*T->nb, T->m-(k+1)*T->mb, T->nb ); + A1 = chameleon_desc_submatrix(A, (k+1)*A->mb, k*A->nb, A->m-(k+1)*A->mb, tempkn); + A2 = chameleon_desc_submatrix(A, (k+1)*A->mb, (k+1)*A->nb, A->m-(k+1)*A->mb, A->n-(k+1)*A->nb); + T1 = chameleon_desc_submatrix(T, (k+1)*T->mb, k*T->nb, T->m-(k+1)*T->mb, T->nb ); if ( D != NULL ) { - D1 = morse_desc_submatrix(D, (k+1)*D->mb, k*D->nb, D->m-(k+1)*D->mb, tempkn); + D1 = chameleon_desc_submatrix(D, (k+1)*D->mb, k*D->nb, D->m-(k+1)*D->mb, tempkn); } - morse_pzgeqrf( A1, T1, D1, + chameleon_pzgeqrf( A1, T1, D1, sequence, request); - morse_pzunmqr( MorseLeft, MorseConjTrans, + chameleon_pzunmqr( ChamLeft, ChamConjTrans, A1, A2, T1, D1, sequence, request); } diff --git a/compute/pzgelqf.c b/compute/pzgelqf.c index 09dbfc41eae282599a3ec0de4dc0279fe9522ab4..2dd877734112bce989dc0d86d82626fa6151f089 100644 --- a/compute/pzgelqf.c +++ b/compute/pzgelqf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Hatem Ltaief * @author Mathieu Faverge @@ -36,11 +36,11 @@ /** * Parallel tile LQ factorization - dynamic scheduling */ -void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzgelqf(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -49,12 +49,12 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int tempkm, tempkn, tempmm, tempnn; int ib, minMNT; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; if (A->m > A->n) { minMNT = A->nt; @@ -84,33 +84,33 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); for (k = 0; k < minMNT; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); - MORSE_TASK_zgelqt( + INSERT_TASK_zgelqt( &options, tempkm, tempkn, ib, T->nb, A(k, k), ldak, T(k, k), T->mb); if ( k < (A->mt-1) ) { #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, A->mb, A->nb, A->nb, + ChamUpper, A->mb, A->nb, A->nb, A(k, k), ldak, D(k), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, A->mb, A->nb, + ChamLower, A->mb, A->nb, 0., 1., D(k), ldak ); #endif @@ -119,9 +119,9 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, for (m = k+1; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, - MorseRight, MorseConjTrans, + ChamRight, ChamConjTrans, tempmm, tempkn, tempkn, ib, T->nb, D(k), ldak, T(k, k), T->mb, @@ -137,7 +137,7 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, A->get_rankof( A, k, n ) ); /* TS kernel */ - MORSE_TASK_ztplqt( + INSERT_TASK_ztplqt( &options, tempkm, tempnn, 0, ib, T->nb, A(k, k), ldak, @@ -150,9 +150,9 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, RUNTIME_data_migrate( sequence, A(m, k), A->get_rankof( A, m, n ) ); - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, - MorseRight, MorseConjTrans, + ChamRight, ChamConjTrans, tempmm, tempnn, A->mb, 0, ib, T->nb, A(k, n), ldak, T(k, n), T->mb, @@ -169,10 +169,10 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, A->get_rankof( A, m, k ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); (void)D; } diff --git a/compute/pzgelqf_param.c b/compute/pzgelqf_param.c index 5acbf7c208b896ff0919fc1a3e13653b85d73d37..d172208305d880006e9dae7da9bf2db7cead9c79 100644 --- a/compute/pzgelqf_param.c +++ b/compute/pzgelqf_param.c @@ -30,13 +30,13 @@ /* * Parallel tile LQ factorization (reduction Householder) - dynamic scheduling */ -void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, - MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzgelqf_param( const libhqr_tree_t *qrtree, CHAM_desc_t *A, + CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; - MORSE_desc_t *T; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; + CHAM_desc_t *T; size_t ws_worker = 0; size_t ws_host = 0; @@ -47,12 +47,12 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, int ib; int *tiles; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; if ( D == NULL ) { D = A; @@ -82,8 +82,8 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, tiles = (int*)calloc(qrtree->mt, sizeof(int)); - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); @@ -91,7 +91,7 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, /* The number of the factorization */ for (k = 0; k < K; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); @@ -103,22 +103,22 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, temppn = p == A->nt-1 ? A->n-p*A->nb : A->nb; tempkmin = chameleon_min(tempkm, temppn); - MORSE_TASK_zgelqt( + INSERT_TASK_zgelqt( &options, tempkm, temppn, ib, T->nb, A( k, p), ldak, T(k, p), T->mb); if ( k < (A->mt-1) ) { #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkm, temppn, A->nb, + ChamUpper, tempkm, temppn, A->nb, A(k, p), ldak, D(k, p), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkm, temppn, + ChamLower, tempkm, temppn, 0., 1., D(k, p), ldak ); #endif @@ -127,9 +127,9 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, for (m = k+1; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, - MorseRight, MorseConjTrans, + ChamRight, ChamConjTrans, tempmm, temppn, tempkmin, ib, T->nb, D(k, p), ldak, T(k, p), T->mb, @@ -164,7 +164,7 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, RUNTIME_data_migrate( sequence, A(k, n), A->get_rankof( A, k, n ) ); - MORSE_TASK_ztplqt( + INSERT_TASK_ztplqt( &options, tempkm, tempnn, chameleon_min(L, tempkm), ib, T->nb, A(k, p), ldak, @@ -180,9 +180,9 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, RUNTIME_data_migrate( sequence, A(m, n), A->get_rankof( A, m, n ) ); - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, - MorseRight, MorseConjTrans, + ChamRight, ChamConjTrans, tempmm, tempnn, tempkm, L, ib, T->nb, A(k, n), ldak, T(k, n), T->mb, @@ -199,10 +199,10 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, A->get_rankof( A, m, k ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } free(tiles); RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzgelqfrh.c b/compute/pzgelqfrh.c index e8f7638fbecea65ab14a3904e2d0c0d6aa568e4c..cf0668b85db9627a1609ba06030c0630f1aa21d0 100644 --- a/compute/pzgelqfrh.c +++ b/compute/pzgelqfrh.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Hatem Ltaief * @author Dulceneia Becker @@ -38,11 +38,11 @@ /* * Parallel tile LQ factorization (reduction Householder) - dynamic scheduling */ -void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzgelqfrh(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D, int BS, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -52,12 +52,12 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, int tempkmin, tempkm, tempNn, tempnn, tempmm, tempNRDn; int ib; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; /* * zgelqt = A->nb * (ib+1) @@ -79,8 +79,8 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); @@ -88,29 +88,29 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, /* The number of the factorization */ for (k = 0; k < K; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); for (N = k; N < A->nt; N += BS) { tempNn = N == A->nt-1 ? A->n-N*A->nb : A->nb; tempkmin = chameleon_min(tempkm, tempNn); - MORSE_TASK_zgelqt( + INSERT_TASK_zgelqt( &options, tempkm, tempNn, ib, T->nb, A(k, N), ldak, T(k, N), T->mb); if ( k < (A->mt-1) ) { #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkm, tempNn, A->nb, + ChamUpper, tempkm, tempNn, A->nb, A(k, N), ldak, D(k, N), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkm, tempNn, + ChamLower, tempkm, tempNn, 0., 1., D(k, N), ldak ); #endif @@ -119,9 +119,9 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, for (m = k+1; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, - MorseRight, MorseConjTrans, + ChamRight, ChamConjTrans, tempmm, tempNn, tempkmin, ib, T->nb, D(k, N), ldak, T(k, N), T->mb, @@ -137,7 +137,7 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, A->get_rankof( A, k, n ) ); /* TS kernel */ - MORSE_TASK_ztplqt( + INSERT_TASK_ztplqt( &options, tempkm, tempnn, 0, ib, T->nb, A(k, N), ldak, @@ -151,9 +151,9 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, RUNTIME_data_migrate( sequence, A(m, N), A->get_rankof( A, m, n ) ); - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, - MorseRight, MorseConjTrans, + ChamRight, ChamConjTrans, tempmm, tempnn, tempkm, 0, ib, T->nb, A(k, n), ldak, T(k, n), T->mb, @@ -174,7 +174,7 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, A->get_rankof( A, k, N+RD ) ); /* TT kernel */ - MORSE_TASK_ztplqt( + INSERT_TASK_ztplqt( &options, tempkm, tempNRDn, chameleon_min(tempNRDn, tempkm), ib, T->nb, A (k, N ), ldak, @@ -190,9 +190,9 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, RUNTIME_data_migrate( sequence, A(m, N+RD), A->get_rankof( A, m, N+RD ) ); - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, - MorseRight, MorseConjTrans, + ChamRight, ChamConjTrans, tempmm, tempNRDn, tempkm, tempNRDn, ib, T->nb, A (k, N+RD), ldak, T2(k, N+RD), T->mb, @@ -210,10 +210,10 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, A->get_rankof( A, m, k ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); (void)D; } diff --git a/compute/pzgemm.c b/compute/pzgemm.c index 4ddd5651c126909f3437555d6bccab1b274ad54e..24cb787fc85697fa8b09c514f078b10785522173 100644 --- a/compute/pzgemm.c +++ b/compute/pzgemm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -29,25 +29,25 @@ /** * Parallel tile matrix-matrix multiplication - dynamic scheduling */ -void morse_pzgemm(MORSE_enum transA, MORSE_enum transB, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_Complex64_t beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzgemm(cham_trans_t transA, cham_trans_t transB, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int m, n, k; int ldam, ldak, ldbn, ldbk, ldcm; int tempmm, tempnn, tempkn, tempkm; - MORSE_Complex64_t zbeta; - MORSE_Complex64_t zone = (MORSE_Complex64_t)1.0; + CHAMELEON_Complex64_t zbeta; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t)1.0; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); for (m = 0; m < C->mt; m++) { tempmm = m == C->mt-1 ? C->m-m*C->mb : C->mb; @@ -55,16 +55,16 @@ void morse_pzgemm(MORSE_enum transA, MORSE_enum transB, for (n = 0; n < C->nt; n++) { tempnn = n == C->nt-1 ? C->n-n*C->nb : C->nb; /* - * A: MorseNoTrans / B: MorseNoTrans + * A: ChamNoTrans / B: ChamNoTrans */ - if (transA == MorseNoTrans) { + if (transA == ChamNoTrans) { ldam = BLKLDD(A, m); - if (transB == MorseNoTrans) { + if (transB == ChamNoTrans) { for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldbk = BLKLDD(B, k); zbeta = k == 0 ? beta : zone; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, transA, transB, tempmm, tempnn, tempkn, A->mb, @@ -74,14 +74,14 @@ void morse_pzgemm(MORSE_enum transA, MORSE_enum transB, } } /* - * A: MorseNoTrans / B: Morse[Conj]Trans + * A: ChamNoTrans / B: Cham[Conj]Trans */ else { ldbn = BLKLDD(B, n); for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; zbeta = k == 0 ? beta : zone; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, transA, transB, tempmm, tempnn, tempkn, A->mb, @@ -92,16 +92,16 @@ void morse_pzgemm(MORSE_enum transA, MORSE_enum transB, } } /* - * A: Morse[Conj]Trans / B: MorseNoTrans + * A: Cham[Conj]Trans / B: ChamNoTrans */ else { - if (transB == MorseNoTrans) { + if (transB == ChamNoTrans) { for (k = 0; k < A->mt; k++) { tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); ldbk = BLKLDD(B, k); zbeta = k == 0 ? beta : zone; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, transA, transB, tempmm, tempnn, tempkm, A->mb, @@ -111,7 +111,7 @@ void morse_pzgemm(MORSE_enum transA, MORSE_enum transB, } } /* - * A: Morse[Conj]Trans / B: Morse[Conj]Trans + * A: Cham[Conj]Trans / B: Cham[Conj]Trans */ else { ldbn = BLKLDD(B, n); @@ -119,7 +119,7 @@ void morse_pzgemm(MORSE_enum transA, MORSE_enum transB, tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); zbeta = k == 0 ? beta : zone; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, transA, transB, tempmm, tempnn, tempkm, A->mb, @@ -131,7 +131,7 @@ void morse_pzgemm(MORSE_enum transA, MORSE_enum transB, } RUNTIME_data_flush( sequence, C(m, n) ); } - if (transA == MorseNoTrans) { + if (transA == ChamNoTrans) { for (k = 0; k < A->nt; k++) { RUNTIME_data_flush( sequence, A(m, k) ); } @@ -141,5 +141,5 @@ void morse_pzgemm(MORSE_enum transA, MORSE_enum transB, } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzgeqrf.c b/compute/pzgeqrf.c index 38574eb128a302126c87994cc4eca8ca1c79f4e8..7aad319b21241933c3d20acf7a1c029d723680d8 100644 --- a/compute/pzgeqrf.c +++ b/compute/pzgeqrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Hatem Ltaief * @author Mathieu Faverge @@ -36,11 +36,11 @@ /** * Parallel tile QR factorization - dynamic scheduling */ -void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzgeqrf(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -50,12 +50,12 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int ib; int minMNT = chameleon_min(A->mt, A->nt); - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; if ( D == NULL ) { D = A; @@ -79,33 +79,33 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); for (k = 0; k < minMNT; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); - MORSE_TASK_zgeqrt( + INSERT_TASK_zgeqrt( &options, tempkm, tempkn, ib, T->nb, A(k, k), ldak, T(k, k), T->mb); if ( k < (A->nt-1) ) { #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, A->mb, A->nb, A->nb, + ChamLower, A->mb, A->nb, A->nb, A(k, k), ldak, D(k), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, A->mb, A->nb, + ChamUpper, A->mb, A->nb, 0., 1., D(k), ldak ); #endif @@ -113,9 +113,9 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, } for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, - MorseLeft, MorseConjTrans, + ChamLeft, ChamConjTrans, tempkm, tempnn, tempkm, ib, T->nb, D(k), ldak, T(k, k), T->mb, @@ -132,7 +132,7 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, A->get_rankof( A, m, k ) ); /* TS kernel */ - MORSE_TASK_ztpqrt( + INSERT_TASK_ztpqrt( &options, tempmm, tempkn, 0, ib, T->nb, A(k, k), ldak, @@ -146,9 +146,9 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, A->get_rankof( A, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, - MorseLeft, MorseConjTrans, + ChamLeft, ChamConjTrans, tempmm, tempnn, A->nb, 0, ib, T->nb, A(m, k), ldam, T(m, k), T->mb, @@ -165,10 +165,10 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, A->get_rankof( A, k, n ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); (void)D; } diff --git a/compute/pzgeqrf_param.c b/compute/pzgeqrf_param.c index efc866dabf22abfeb57c8aaad6a147b2749b877d..2d97b80c316e784b40ee68dd033d2ed806dbf95b 100644 --- a/compute/pzgeqrf_param.c +++ b/compute/pzgeqrf_param.c @@ -29,13 +29,13 @@ /** * Parallel tile QR factorization (reduction Householder) - dynamic scheduling */ -void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, - MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzgeqrf_param( const libhqr_tree_t *qrtree, CHAM_desc_t *A, + CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; - MORSE_desc_t *T; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; + CHAM_desc_t *T; size_t ws_worker = 0; size_t ws_host = 0; @@ -46,12 +46,12 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, int ib; int *tiles; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; if ( D == NULL ) { D = A; @@ -80,8 +80,8 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, /* Initialisation of temporary tiles array */ tiles = (int*)calloc(qrtree->mt, sizeof(int)); - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); @@ -89,7 +89,7 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, /* The number of the factorization */ for (k = 0; k < K; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; /* The number of geqrt to apply */ @@ -101,22 +101,22 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, T = TS; - MORSE_TASK_zgeqrt( + INSERT_TASK_zgeqrt( &options, tempmm, tempkn, ib, T->nb, A(m, k), ldam, T(m, k), T->mb); if ( k < (A->nt-1) ) { #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempmm, A->nb, A->nb, + ChamLower, tempmm, A->nb, A->nb, A(m, k), ldam, D(m, k), ldam ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempmm, A->nb, + ChamUpper, tempmm, A->nb, 0., 1., D(m, k), ldam ); #endif @@ -124,9 +124,9 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, } for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, - MorseLeft, MorseConjTrans, + ChamLeft, ChamConjTrans, tempmm, tempnn, tempkmin, ib, T->nb, D(m, k), ldam, T(m, k), T->mb, @@ -163,7 +163,7 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, RUNTIME_data_migrate( sequence, A(m, k), A->get_rankof( A, m, k ) ); - MORSE_TASK_ztpqrt( + INSERT_TASK_ztpqrt( &options, tempmm, tempkn, chameleon_min(L, tempkn), ib, T->nb, A(p, k), ldap, @@ -178,9 +178,9 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, RUNTIME_data_migrate( sequence, A(m, n), A->get_rankof( A, m, n ) ); - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, - MorseLeft, MorseConjTrans, + ChamLeft, ChamConjTrans, tempmm, tempnn, A->nb, L, ib, T->nb, A(m, k), ldam, T(m, k), T->mb, @@ -197,10 +197,10 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, A->get_rankof( A, k, n ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } free(tiles); RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzgeqrfrh.c b/compute/pzgeqrfrh.c index 2235fceb6de0d0bef056e22c33a1db77808f46b0..42903831e9e420f858234513b7159fa1f0e6f7ed 100644 --- a/compute/pzgeqrfrh.c +++ b/compute/pzgeqrfrh.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Hatem Ltaief * @author Dulceneia Becker @@ -38,11 +38,11 @@ /** * Parallel tile QR factorization (reduction Householder) - dynamic scheduling */ -void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzgeqrfrh(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D, int BS, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -52,12 +52,12 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, int tempkmin, tempkn, tempMm, tempnn, tempmm, tempMRDm; int ib; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; /* * zgeqrt = A->nb * (ib+1) @@ -79,14 +79,14 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); K = chameleon_min(A->mt, A->nt); for (k = 0; k < K; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; for (M = k; M < A->mt; M += BS) { @@ -94,22 +94,22 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, tempkmin = chameleon_min(tempMm, tempkn); ldaM = BLKLDD(A, M); - MORSE_TASK_zgeqrt( + INSERT_TASK_zgeqrt( &options, tempMm, tempkn, ib, T->nb, A(M, k), ldaM, T(M, k), T->mb); if ( k < (A->nt-1) ) { #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempMm, A->nb, A->nb, + ChamLower, tempMm, A->nb, A->nb, A(M, k), ldaM, D(M, k), ldaM ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempMm, A->nb, + ChamUpper, tempMm, A->nb, 0., 1., D(M, k), ldaM ); #endif @@ -117,9 +117,9 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, } for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, - MorseLeft, MorseConjTrans, + ChamLeft, ChamConjTrans, tempMm, tempnn, tempkmin, ib, T->nb, D(M, k), ldaM, T(M, k), T->mb, @@ -136,7 +136,7 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, A->get_rankof( A, m, k ) ); /* TS kernel */ - MORSE_TASK_ztpqrt( + INSERT_TASK_ztpqrt( &options, tempmm, tempkn, 0, ib, T->nb, A(M, k), ldaM, @@ -149,9 +149,9 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, RUNTIME_data_migrate( sequence, A(M, n), A->get_rankof( A, m, n ) ); - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, - MorseLeft, MorseConjTrans, + ChamLeft, ChamConjTrans, tempmm, tempnn, A->nb, 0, ib, T->nb, A(m, k), ldam, T(m, k), T->mb, @@ -174,7 +174,7 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, A->get_rankof( A, M+RD, k ) ); /* TT kernel */ - MORSE_TASK_ztpqrt( + INSERT_TASK_ztpqrt( &options, tempMRDm, tempkn, chameleon_min( tempMRDm, tempkn ), ib, T->nb, A (M , k), ldaM, @@ -189,9 +189,9 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, RUNTIME_data_migrate( sequence, A(M+RD, n), A->get_rankof( A, M+RD, n ) ); - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, - MorseLeft, MorseConjTrans, + ChamLeft, ChamConjTrans, tempMRDm, tempnn, A->nb, tempMRDm, ib, T->nb, A (M+RD, k), ldaMRD, T2(M+RD, k), T->mb, @@ -209,10 +209,10 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, A->get_rankof( A, k, n ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); (void)D; } diff --git a/compute/pzgetrf_incpiv.c b/compute/pzgetrf_incpiv.c index 26205bacfdedf1cbdb9bd7a248b220ffa5da5a94..1053772a11cb20216bdd66897aba3006cbb93726 100644 --- a/compute/pzgetrf_incpiv.c +++ b/compute/pzgetrf_incpiv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Hatem Ltaief * @author Mathieu Faverge @@ -40,11 +40,11 @@ /** * Parallel tile LU factorization - dynamic scheduling */ -void morse_pzgetrf_incpiv( MORSE_desc_t *A, MORSE_desc_t *L, MORSE_desc_t *D, int *IPIV, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +void chameleon_pzgetrf_incpiv( CHAM_desc_t *A, CHAM_desc_t *L, CHAM_desc_t *D, int *IPIV, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -54,12 +54,12 @@ void morse_pzgetrf_incpiv( MORSE_desc_t *A, MORSE_desc_t *L, MORSE_desc_t *D, in int ib; int minMNT = chameleon_min(A->mt, A->nt); - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; /* * zgetrf_incpiv = 0 @@ -69,18 +69,18 @@ void morse_pzgetrf_incpiv( MORSE_desc_t *A, MORSE_desc_t *L, MORSE_desc_t *D, in */ ws_worker = A->mb * ib; - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); for (k = 0; k < minMNT; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); - MORSE_TASK_zgetrf_incpiv( + INSERT_TASK_zgetrf_incpiv( &options, tempkm, tempkn, ib, L->nb, A(k, k), ldak, @@ -90,9 +90,9 @@ void morse_pzgetrf_incpiv( MORSE_desc_t *A, MORSE_desc_t *L, MORSE_desc_t *D, in if ( k < (minMNT-1) ) { #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpperLower, tempkm, tempkn, A->nb, + ChamUpperLower, tempkm, tempkn, A->nb, A(k, k), ldak, D(k), ldak); #endif @@ -100,7 +100,7 @@ void morse_pzgetrf_incpiv( MORSE_desc_t *A, MORSE_desc_t *L, MORSE_desc_t *D, in for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zgessm( + INSERT_TASK_zgessm( &options, tempkm, tempnn, tempkm, ib, L->nb, IPIV(k, k), @@ -111,7 +111,7 @@ void morse_pzgetrf_incpiv( MORSE_desc_t *A, MORSE_desc_t *L, MORSE_desc_t *D, in for (m = k+1; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_ztstrf( + INSERT_TASK_ztstrf( &options, tempmm, tempkn, ib, L->nb, A(k, k), ldak, @@ -122,7 +122,7 @@ void morse_pzgetrf_incpiv( MORSE_desc_t *A, MORSE_desc_t *L, MORSE_desc_t *D, in for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zssssm( + INSERT_TASK_zssssm( &options, A->nb, tempnn, tempmm, tempnn, A->nb, ib, L->nb, A(k, n), ldak, @@ -133,10 +133,10 @@ void morse_pzgetrf_incpiv( MORSE_desc_t *A, MORSE_desc_t *L, MORSE_desc_t *D, in } } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); (void)D; } diff --git a/compute/pzgetrf_nopiv.c b/compute/pzgetrf_nopiv.c index 9bb3fe4e030f3675c7c7fa0e1eed1bab61170f58..aef3d87b4ab3d80ad2ade2a7efd869172fa2d9f9 100644 --- a/compute/pzgetrf_nopiv.c +++ b/compute/pzgetrf_nopiv.c @@ -27,36 +27,36 @@ /** * Parallel tile LU factorization with no pivoting - dynamic scheduling */ -void morse_pzgetrf_nopiv(MORSE_desc_t *A, - MORSE_sequence_t *sequence, - MORSE_request_t *request) +void chameleon_pzgetrf_nopiv(CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, + RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int k, m, n, ib; int ldak, ldam; int tempkm, tempkn, tempmm, tempnn; - MORSE_Complex64_t zone = (MORSE_Complex64_t) 1.0; - MORSE_Complex64_t mzone = (MORSE_Complex64_t)-1.0; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t) 1.0; + CHAMELEON_Complex64_t mzone = (CHAMELEON_Complex64_t)-1.0; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; for (k = 0; k < chameleon_min(A->mt, A->nt); k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); options.priority = 2*A->nt - 2*k; - MORSE_TASK_zgetrf_nopiv( + INSERT_TASK_zgetrf_nopiv( &options, tempkm, tempkn, ib, A->mb, A(k, k), ldak, A->mb*k); @@ -65,9 +65,9 @@ void morse_pzgetrf_nopiv(MORSE_desc_t *A, options.priority = 2*A->nt - 2*k - m; tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseRight, MorseUpper, MorseNoTrans, MorseNonUnit, + ChamRight, ChamUpper, ChamNoTrans, ChamNonUnit, tempmm, tempkn, A->mb, zone, A(k, k), ldak, A(m, k), ldam); @@ -75,9 +75,9 @@ void morse_pzgetrf_nopiv(MORSE_desc_t *A, for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; options.priority = 2*A->nt - 2*k - n; - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseLeft, MorseLower, MorseNoTrans, MorseUnit, + ChamLeft, ChamLower, ChamNoTrans, ChamUnit, tempkm, tempnn, A->mb, zone, A(k, k), ldak, A(k, n), ldak); @@ -86,9 +86,9 @@ void morse_pzgetrf_nopiv(MORSE_desc_t *A, tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; options.priority = 2*A->nt - 2*k - n - m; ldam = BLKLDD(A, m); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, A->mb, A->mb, mzone, A(m, k), ldam, A(k, n), ldak, @@ -96,8 +96,8 @@ void morse_pzgetrf_nopiv(MORSE_desc_t *A, } } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzhemm.c b/compute/pzhemm.c index 3bf736b67c42af9b1d0d68e85513c853e8085ab5..418199cb9e0a2a0fecc939b7c5b507c626bb0b46 100644 --- a/compute/pzhemm.c +++ b/compute/pzhemm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -29,25 +29,25 @@ /** * Parallel tile Hermitian matrix-matrix multiplication - dynamic scheduling */ -void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_Complex64_t beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzhemm(cham_side_t side, cham_uplo_t uplo, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int k, m, n; int ldam, ldan, ldak, ldbk, ldbm, ldcm; int tempmm, tempnn, tempkn, tempkm; - MORSE_Complex64_t zbeta; - MORSE_Complex64_t zone = (MORSE_Complex64_t)1.0; + CHAMELEON_Complex64_t zbeta; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t)1.0; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); for(m = 0; m < C->mt; m++) { tempmm = m == C->mt-1 ? C->m-m*C->mb : C->mb; @@ -55,20 +55,20 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, for(n = 0; n < C->nt; n++) { tempnn = n == C->nt-1 ? C->n-n*C->nb : C->nb; /* - * MorseLeft / MorseLower + * ChamLeft / ChamLower */ - if (side == MorseLeft) { + if (side == ChamLeft) { ldam = BLKLDD(A, m); - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (k = 0; k < C->mt; k++) { tempkm = k == C->mt-1 ? C->m-k*C->mb : C->mb; ldak = BLKLDD(A, k); ldbk = BLKLDD(B, k); zbeta = k == 0 ? beta : zone; if (k < m) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, A(m, k), ldam, /* lda * K */ B(k, n), ldbk, /* ldb * Y */ @@ -76,7 +76,7 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, } else { if (k == m) { - MORSE_TASK_zhemm( + INSERT_TASK_zhemm( &options, side, uplo, tempmm, tempnn, A->mb, @@ -85,9 +85,9 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, zbeta, C(m, n), ldcm); /* ldc * Y */ } else { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseConjTrans, MorseNoTrans, + ChamConjTrans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, A(k, m), ldak, /* ldak * X */ B(k, n), ldbk, /* ldb * Y */ @@ -97,7 +97,7 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseLeft / MorseUpper + * ChamLeft / ChamUpper */ else { for (k = 0; k < C->mt; k++) { @@ -106,9 +106,9 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, ldbk = BLKLDD(B, k); zbeta = k == 0 ? beta : zone; if (k < m) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseConjTrans, MorseNoTrans, + ChamConjTrans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, A(k, m), ldak, /* ldak * X */ B(k, n), ldbk, /* ldb * Y */ @@ -116,7 +116,7 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, } else { if (k == m) { - MORSE_TASK_zhemm( + INSERT_TASK_zhemm( &options, side, uplo, tempmm, tempnn, A->mb, @@ -125,9 +125,9 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, zbeta, C(m, n), ldcm); /* ldc * Y */ } else { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, A(m, k), ldam, /* lda * K */ B(k, n), ldbk, /* ldb * Y */ @@ -138,20 +138,20 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseRight / MorseLower + * ChamRight / ChamLower */ else { ldan = BLKLDD(A, n); ldbm = BLKLDD(B, m); - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (k = 0; k < C->nt; k++) { tempkn = k == C->nt-1 ? C->n-k*C->nb : C->nb; ldak = BLKLDD(A, k); zbeta = k == 0 ? beta : zone; if (k < n) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseConjTrans, + ChamNoTrans, ChamConjTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, /* ldb * K */ A(n, k), ldan, /* lda * K */ @@ -159,7 +159,7 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, } else { if (k == n) { - MORSE_TASK_zhemm( + INSERT_TASK_zhemm( &options, side, uplo, tempmm, tempnn, A->mb, @@ -168,9 +168,9 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, zbeta, C(m, n), ldcm); /* ldc * Y */ } else { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, /* ldb * K */ A(k, n), ldak, /* ldak * Y */ @@ -180,7 +180,7 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseRight / MorseUpper + * ChamRight / ChamUpper */ else { for (k = 0; k < C->nt; k++) { @@ -188,9 +188,9 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, ldak = BLKLDD(A, k); zbeta = k == 0 ? beta : zone; if (k < n) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, /* ldb * K */ A(k, n), ldak, /* ldak * Y */ @@ -198,7 +198,7 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, } else { if (k == n) { - MORSE_TASK_zhemm( + INSERT_TASK_zhemm( &options, side, uplo, tempmm, tempnn, A->mb, @@ -207,9 +207,9 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, zbeta, C(m, n), ldcm); /* ldc * Y */ } else { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseConjTrans, + ChamNoTrans, ChamConjTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, /* ldb * K */ A(n, k), ldan, /* lda * K */ @@ -221,5 +221,5 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzher2k.c b/compute/pzher2k.c index a327b3fe8570f15c44ca95c9fb0f12bc107bf707..3654a8b9efbb3f4af6982591228bdea14a64b178 100644 --- a/compute/pzher2k.c +++ b/compute/pzher2k.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -29,27 +29,27 @@ /** * Parallel tile Hermitian rank-k update - dynamic scheduling */ -void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - double beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzher2k(cham_uplo_t uplo, cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + double beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int m, n, k; int ldak, ldam, ldan, ldcm, ldcn; int ldbk, ldbm, ldbn; int tempnn, tempmm, tempkn, tempkm; - MORSE_Complex64_t zone = (MORSE_Complex64_t)1.0; - MORSE_Complex64_t zbeta; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t)1.0; + CHAMELEON_Complex64_t zbeta; double dbeta; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); for (n = 0; n < C->nt; n++) { tempnn = n == C->nt-1 ? C->n-n*C->nb : C->nb; @@ -57,13 +57,13 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, ldbn = BLKLDD(B, n); ldcn = BLKLDD(C, n); /* - * MorseNoTrans + * ChamNoTrans */ - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; dbeta = k == 0 ? beta : 1.0; - MORSE_TASK_zher2k( + INSERT_TASK_zher2k( &options, uplo, trans, tempnn, tempkn, A->mb, @@ -72,9 +72,9 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, dbeta, C(n, n), ldcn); /* ldc * N */ } /* - * MorseNoTrans / MorseLower + * ChamNoTrans / ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (m = n+1; m < C->mt; m++) { tempmm = m == C->mt-1 ? C->m-m*C->mb : C->mb; ldam = BLKLDD(A, m); @@ -82,18 +82,18 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, ldcm = BLKLDD(C, m); for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; - zbeta = k == 0 ? (MORSE_Complex64_t)beta : zone; - MORSE_TASK_zgemm( + zbeta = k == 0 ? (CHAMELEON_Complex64_t)beta : zone; + INSERT_TASK_zgemm( &options, - trans, MorseConjTrans, + trans, ChamConjTrans, tempmm, tempnn, tempkn, A->mb, conj(alpha), A(m, k), ldam, /* ldam * K */ B(n, k), ldbn, /* ldan * K */ zbeta, C(m, n), ldcm); /* ldc * N */ - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseConjTrans, + trans, ChamConjTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, /* ldam * K */ A(n, k), ldan, /* ldan * K */ @@ -102,7 +102,7 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, } } /* - * MorseNoTrans / MorseUpper + * ChamNoTrans / ChamUpper */ else { for (m = n+1; m < C->mt; m++) { @@ -111,18 +111,18 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, ldbm = BLKLDD(B, m); for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; - zbeta = k == 0 ? (MORSE_Complex64_t)beta : zone; - MORSE_TASK_zgemm( + zbeta = k == 0 ? (CHAMELEON_Complex64_t)beta : zone; + INSERT_TASK_zgemm( &options, - trans, MorseConjTrans, + trans, ChamConjTrans, tempnn, tempmm, tempkn, A->mb, alpha, A(n, k), ldan, /* ldan * K */ B(m, k), ldbm, /* ldam * M */ zbeta, C(n, m), ldcn); /* ldc * M */ - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseConjTrans, + trans, ChamConjTrans, tempnn, tempmm, tempkn, A->mb, conj(alpha), B(n, k), ldan, /* ldan * K */ A(m, k), ldam, /* ldam * M */ @@ -132,7 +132,7 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, } } /* - * Morse[Conj]Trans + * Cham[Conj]Trans */ else { for (k = 0; k < A->mt; k++) { @@ -140,7 +140,7 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, ldak = BLKLDD(A, k); ldbk = BLKLDD(B, k); dbeta = k == 0 ? beta : 1.0; - MORSE_TASK_zher2k( + INSERT_TASK_zher2k( &options, uplo, trans, tempnn, tempkm, A->mb, @@ -149,9 +149,9 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, dbeta, C(n, n), ldcn); /* ldc * N */ } /* - * Morse[Conj]Trans / MorseLower + * Cham[Conj]Trans / ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (m = n+1; m < C->mt; m++) { tempmm = m == C->mt-1 ? C->m-m*C->mb : C->mb; ldcm = BLKLDD(C, m); @@ -159,18 +159,18 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); ldbk = BLKLDD(B, k); - zbeta = k == 0 ? (MORSE_Complex64_t)beta : zone; - MORSE_TASK_zgemm( + zbeta = k == 0 ? (CHAMELEON_Complex64_t)beta : zone; + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, A(k, m), ldak, /* lda * M */ B(k, n), ldbk, /* lda * N */ zbeta, C(m, n), ldcm); /* ldc * N */ - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, B(k, m), ldbk, /* lda * M */ A(k, n), ldak, /* lda * N */ @@ -179,7 +179,7 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, } } /* - * Morse[Conj]Trans / MorseUpper + * Cham[Conj]Trans / ChamUpper */ else { for (m = n+1; m < C->mt; m++) { @@ -188,18 +188,18 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); ldbk = BLKLDD(B, k); - zbeta = k == 0 ? (MORSE_Complex64_t)beta : zone; - MORSE_TASK_zgemm( + zbeta = k == 0 ? (CHAMELEON_Complex64_t)beta : zone; + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempnn, tempmm, tempkm, A->mb, alpha, A(k, n), ldak, /* lda * K */ B(k, m), ldbk, /* lda * M */ zbeta, C(n, m), ldcn); /* ldc * M */ - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempnn, tempmm, tempkm, A->mb, conj(alpha), B(k, n), ldbk, /* lda * K */ A(k, m), ldak, /* lda * M */ @@ -209,5 +209,5 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzherk.c b/compute/pzherk.c index 74f09e1195efb3eee5c9aa6a3c04c7a62cca9b3a..8aa5a694bee275ab09a84244e7846b2f551a7110 100644 --- a/compute/pzherk.c +++ b/compute/pzherk.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -28,40 +28,40 @@ /** * Parallel tile Hermitian rank-k update - dynamic scheduling */ -void morse_pzherk(MORSE_enum uplo, MORSE_enum trans, - double alpha, MORSE_desc_t *A, - double beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzherk(cham_uplo_t uplo, cham_trans_t trans, + double alpha, CHAM_desc_t *A, + double beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int m, n, k; int ldak, ldam, ldan, ldcm, ldcn; int tempnn, tempmm, tempkn, tempkm; - MORSE_Complex64_t zone = (MORSE_Complex64_t)1.0; - MORSE_Complex64_t zalpha = (MORSE_Complex64_t)alpha; - MORSE_Complex64_t zbeta; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t)1.0; + CHAMELEON_Complex64_t zalpha = (CHAMELEON_Complex64_t)alpha; + CHAMELEON_Complex64_t zbeta; double dbeta; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); for (n = 0; n < C->nt; n++) { tempnn = n == C->nt-1 ? C->n-n*C->nb : C->nb; ldan = BLKLDD(A, n); ldcn = BLKLDD(C, n); /* - * MorseNoTrans + * ChamNoTrans */ - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; dbeta = k == 0 ? beta : 1.0; - MORSE_TASK_zherk( + INSERT_TASK_zherk( &options, uplo, trans, tempnn, tempkn, A->mb, @@ -69,19 +69,19 @@ void morse_pzherk(MORSE_enum uplo, MORSE_enum trans, dbeta, C(n, n), ldcn); /* ldc * N */ } /* - * MorseNoTrans / MorseLower + * ChamNoTrans / ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (m = n+1; m < C->mt; m++) { tempmm = m == C->mt-1 ? C->m-m*C->mb : C->mb; ldam = BLKLDD(A, m); ldcm = BLKLDD(C, m); for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; - zbeta = k == 0 ? (MORSE_Complex64_t)beta : zone; - MORSE_TASK_zgemm( + zbeta = k == 0 ? (CHAMELEON_Complex64_t)beta : zone; + INSERT_TASK_zgemm( &options, - trans, MorseConjTrans, + trans, ChamConjTrans, tempmm, tempnn, tempkn, A->mb, zalpha, A(m, k), ldam, /* ldam * K */ A(n, k), ldan, /* ldan * K */ @@ -90,7 +90,7 @@ void morse_pzherk(MORSE_enum uplo, MORSE_enum trans, } } /* - * MorseNoTrans / MorseUpper + * ChamNoTrans / ChamUpper */ else { for (m = n+1; m < C->mt; m++) { @@ -98,10 +98,10 @@ void morse_pzherk(MORSE_enum uplo, MORSE_enum trans, ldam = BLKLDD(A, m); for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; - zbeta = k == 0 ? (MORSE_Complex64_t)beta : zone; - MORSE_TASK_zgemm( + zbeta = k == 0 ? (CHAMELEON_Complex64_t)beta : zone; + INSERT_TASK_zgemm( &options, - trans, MorseConjTrans, + trans, ChamConjTrans, tempnn, tempmm, tempkn, A->mb, zalpha, A(n, k), ldan, /* ldan * K */ A(m, k), ldam, /* ldam * M */ @@ -111,14 +111,14 @@ void morse_pzherk(MORSE_enum uplo, MORSE_enum trans, } } /* - * Morse[Conj]Trans + * Cham[Conj]Trans */ else { for (k = 0; k < A->mt; k++) { tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); dbeta = k == 0 ? beta : 1.0; - MORSE_TASK_zherk( + INSERT_TASK_zherk( &options, uplo, trans, tempnn, tempkm, A->mb, @@ -126,19 +126,19 @@ void morse_pzherk(MORSE_enum uplo, MORSE_enum trans, dbeta, C(n, n), ldcn); /* ldc * N */ } /* - * Morse[Conj]Trans / MorseLower + * Cham[Conj]Trans / ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (m = n+1; m < C->mt; m++) { tempmm = m == C->mt-1 ? C->m-m*C->mb : C->mb; ldcm = BLKLDD(C, m); for (k = 0; k < A->mt; k++) { tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); - zbeta = k == 0 ? (MORSE_Complex64_t)beta : zone; - MORSE_TASK_zgemm( + zbeta = k == 0 ? (CHAMELEON_Complex64_t)beta : zone; + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, zalpha, A(k, m), ldak, /* lda * M */ A(k, n), ldak, /* lda * N */ @@ -147,7 +147,7 @@ void morse_pzherk(MORSE_enum uplo, MORSE_enum trans, } } /* - * Morse[Conj]Trans / MorseUpper + * Cham[Conj]Trans / ChamUpper */ else { for (m = n+1; m < C->mt; m++) { @@ -155,10 +155,10 @@ void morse_pzherk(MORSE_enum uplo, MORSE_enum trans, for (k = 0; k < A->mt; k++) { tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); - zbeta = k == 0 ? (MORSE_Complex64_t)beta : zone; - MORSE_TASK_zgemm( + zbeta = k == 0 ? (CHAMELEON_Complex64_t)beta : zone; + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempnn, tempmm, tempkm, A->mb, zalpha, A(k, n), ldak, /* lda * K */ A(k, m), ldak, /* lda * M */ @@ -168,5 +168,5 @@ void morse_pzherk(MORSE_enum uplo, MORSE_enum trans, } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzhetrd_he2hb.c b/compute/pzhetrd_he2hb.c index ea785ab0c08c67428110151188100a6bec86999f..2ed482692e36ac69dec366958af4f0244c4755cb 100644 --- a/compute/pzhetrd_he2hb.c +++ b/compute/pzhetrd_he2hb.c @@ -36,14 +36,14 @@ /** * Parallel tile BAND Tridiagonal Reduction - dynamic scheduler */ -void morse_pzhetrd_he2hb(MORSE_enum uplo, - MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *E, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzhetrd_he2hb(cham_uplo_t uplo, + CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *E, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; - MORSE_desc_t *D = NULL; - MORSE_desc_t *AT = NULL; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; + CHAM_desc_t *D = NULL; + CHAM_desc_t *AT = NULL; size_t ws_worker = 0; size_t ws_host = 0; @@ -52,12 +52,12 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, int tempkm, tempkn, tempmm, tempnn, tempjj; int ib; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); - ib = MORSE_IB; + RUNTIME_options_init(&options, chamctxt, sequence, request); + ib = CHAMELEON_IB; /* * zgeqrt = A->nb * (ib+1) @@ -80,20 +80,20 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); /* Copy of the diagonal tiles to keep the general version of the tile all along the computation */ - D = (MORSE_desc_t*)malloc(sizeof(MORSE_desc_t)); - morse_zdesc_alloc_diag(*D, A->mb, A->nb, chameleon_min(A->m, A->n) - A->mb, A->nb, 0, 0, chameleon_min(A->m, A->n) - A->mb, A->nb, A->p, A->q); + D = (CHAM_desc_t*)malloc(sizeof(CHAM_desc_t)); + chameleon_zdesc_alloc_diag(*D, A->mb, A->nb, chameleon_min(A->m, A->n) - A->mb, A->nb, 0, 0, chameleon_min(A->m, A->n) - A->mb, A->nb, A->p, A->q); - AT = (MORSE_desc_t*)malloc(sizeof(MORSE_desc_t)); - *AT = morse_desc_init( - MorseComplexDouble, A->mb, A->nb, (A->mb*A->nb), + AT = (CHAM_desc_t*)malloc(sizeof(CHAM_desc_t)); + *AT = chameleon_desc_init( + ChamComplexDouble, A->mb, A->nb, (A->mb*A->nb), chameleon_min(A->mt, A->nt) * A->mb, A->nb, 0, 0, chameleon_min(A->mt, A->nt) * A->mb, A->nb, 1, 1); - morse_desc_mat_alloc( AT ); + chameleon_desc_mat_alloc( AT ); RUNTIME_desc_create( AT ); /* Let's extract the diagonal in a temporary copy that contains A and A' */ @@ -101,46 +101,46 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); - MORSE_TASK_zhe2ge(&options, + INSERT_TASK_zhe2ge(&options, uplo, tempkn, tempkn, ldak, A(k, k), ldak, D(k), ldak); } - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (k = 0; k < A->nt-1; k++){ - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k+1 == A->mt-1 ? A->m-(k+1)*A->mb : A->mb; tempkn = k == A->nt-1 ? A->n- k *A->nb : A->nb; ldak1 = BLKLDD(A, k+1); - MORSE_TASK_zgeqrt( + INSERT_TASK_zgeqrt( &options, tempkm, tempkn, ib, A->nb, A(k+1, k), ldak1, T(k+1, k), T->mb); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempkm, tempkn, A->nb, + ChamLower, tempkm, tempkn, A->nb, A(k+1, k), ldak1, E(k+1, k), ldak1 ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempkm, tempkn, + ChamUpper, tempkm, tempkn, 0., 1., E(k+1, k), ldak1 ); #endif #endif /* LEFT and RIGHT on the symmetric diagonal block */ - MORSE_TASK_zherfb( + INSERT_TASK_zherfb( &options, - MorseLower, + ChamLower, tempkm, tempkm, ib, A->nb, E(k+1, k), ldak1, T(k+1, k), T->mb, @@ -150,9 +150,9 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, for (m = k+2; m < A->mt ; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, - MorseRight, MorseNoTrans, + ChamRight, ChamNoTrans, tempmm, A->nb, tempkm, ib, A->nb, E(k+1, k), ldak1, T(k+1, k), T->mb, @@ -164,7 +164,7 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, ldam = BLKLDD(A, m); options.priority = 1; - MORSE_TASK_ztsqrt( + INSERT_TASK_ztsqrt( &options, tempmm, A->nb, ib, A->nb, A(k+1, k), ldak1, @@ -175,9 +175,9 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, /* LEFT */ for (i = k+2; i < m; i++) { ldai = BLKLDD(A, i); - MORSE_TASK_ztsmqr_hetra1( + INSERT_TASK_ztsmqr_hetra1( &options, - MorseLeft, MorseConjTrans, + ChamLeft, ChamConjTrans, A->mb, A->nb, tempmm, A->nb, A->nb, ib, A->nb, A(i, k+1), ldai, A(m, i), ldam, @@ -189,9 +189,9 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, for (j = m+1; j < A->mt ; j++) { tempjj = j == A->mt-1 ? A->m-j*A->mb : A->mb; ldaj = BLKLDD(A, j); - MORSE_TASK_ztsmqr( + INSERT_TASK_ztsmqr( &options, - MorseRight, MorseNoTrans, + ChamRight, ChamNoTrans, tempjj, A->nb, tempjj, tempmm, A->nb, ib, A->nb, A(j, k+1), ldaj, A(j, m), ldaj, @@ -211,18 +211,18 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, * from plasma split in 4 tasks */ /* Copy the transpose of A2 (m, k+1): AT(k) <- A2' = A2(k+1, m) */ - MORSE_TASK_zlatro( + INSERT_TASK_zlatro( &options, - MorseUpperLower, MorseConjTrans, + ChamUpperLower, ChamConjTrans, tempmm, A->nb, A->nb, A(m, k+1), ldam, AT(m), ldak1); /* Left application on |A1| */ /* |A2| */ - MORSE_TASK_ztsmqr( + INSERT_TASK_ztsmqr( &options, - MorseLeft, MorseConjTrans, + ChamLeft, ChamConjTrans, A->mb, A->nb, tempmm, A->nb, A->nb, ib, A->nb, D(k+1), ldak1, A(m, k+1), ldam, @@ -231,9 +231,9 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, /* Left application on | A2'| */ /* | A3 | */ - MORSE_TASK_ztsmqr( + INSERT_TASK_ztsmqr( &options, - MorseLeft, MorseConjTrans, + ChamLeft, ChamConjTrans, A->mb, tempmm, tempmm, tempmm, A->nb, ib, A->nb, AT(m), ldak1, D(m) , ldam, @@ -241,9 +241,9 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, T(m, k), T->mb); /* Right application on | A1 A2' | */ - MORSE_TASK_ztsmqr( + INSERT_TASK_ztsmqr( &options, - MorseRight, MorseNoTrans, + ChamRight, ChamNoTrans, A->mb, A->nb, A->mb, tempmm, A->nb, ib, A->nb, D(k+1), ldak1, AT(m) , ldak1, @@ -251,9 +251,9 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, T(m, k), T->mb); /* Right application on | A2 A3 | */ - MORSE_TASK_ztsmqr( + INSERT_TASK_ztsmqr( &options, - MorseRight, MorseNoTrans, + ChamRight, ChamNoTrans, tempmm, A->nb, tempmm, tempmm, A->nb, ib, A->nb, A(m, k+1), ldam, D(m) , ldam, @@ -262,42 +262,42 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, options.priority = 0; } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } else { for (k = 0; k < A->nt-1; k++){ - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k+1 == A->nt-1 ? A->n-(k+1)*A->nb : A->nb; tempkm = k == A->mt-1 ? A->m- k *A->mb : A->mb; ldak = BLKLDD(A, k); ldak1 = BLKLDD(A, k+1); - MORSE_TASK_zgelqt( + INSERT_TASK_zgelqt( &options, tempkm, tempkn, ib, A->nb, A(k, k+1), ldak, T(k, k+1), T->mb); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkm, tempkn, A->nb, + ChamUpper, tempkm, tempkn, A->nb, A(k, k+1), ldak, E(k, k+1), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkm, tempkn, + ChamLower, tempkm, tempkn, 0., 1., E(k, k+1), ldak ); #endif #endif /* RIGHT and LEFT on the symmetric diagonal block */ - MORSE_TASK_zherfb( + INSERT_TASK_zherfb( &options, - MorseUpper, + ChamUpper, tempkn, tempkn, ib, A->nb, E(k, k+1), ldak, T(k, k+1), T->mb, @@ -306,9 +306,9 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, /* LEFT on the remaining tiles until the left side */ for (n = k+2; n < A->nt ; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, A->mb, tempnn, tempkn, ib, A->nb, E(k, k+1), ldak, T(k, k+1), T->mb, @@ -319,7 +319,7 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; ldan = BLKLDD(A, n); options.priority = 1; - MORSE_TASK_ztslqt( + INSERT_TASK_ztslqt( &options, A->mb, tempnn, ib, A->nb, A(k, k+1), ldak, @@ -330,9 +330,9 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, /* RIGHT */ for (i = k+2; i < n; i++) { ldai = BLKLDD(A, i); - MORSE_TASK_ztsmlq_hetra1( + INSERT_TASK_ztsmlq_hetra1( &options, - MorseRight, MorseConjTrans, + ChamRight, ChamConjTrans, A->mb, A->nb, A->nb, tempnn, A->nb, ib, A->nb, A(k+1, i), ldak1, A(i, n), ldai, @@ -343,9 +343,9 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, /* LEFT */ for (j = n+1; j < A->nt ; j++) { tempjj = j == A->nt-1 ? A->n-j*A->nb : A->nb; - MORSE_TASK_ztsmlq( + INSERT_TASK_ztsmlq( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, A->nb, tempjj, tempnn, tempjj, A->nb, ib, A->nb, A(k+1, j), ldak1, A(n, j), ldan, @@ -365,17 +365,17 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, * from plasma split in 4 tasks */ /* Copy the transpose of A2: AT(k) <- A2' */ - MORSE_TASK_zlatro( + INSERT_TASK_zlatro( &options, - MorseUpperLower, MorseConjTrans, + ChamUpperLower, ChamConjTrans, A->mb, tempnn, A->nb, A(k+1, n), ldak1, AT(n), A->mb); /* Right application on | A1 A2 | */ - MORSE_TASK_ztsmlq( + INSERT_TASK_ztsmlq( &options, - MorseRight, MorseConjTrans, + ChamRight, ChamConjTrans, A->mb, A->nb, A->mb, tempnn, A->nb, ib, A->nb, D(k+1), ldak1, A(k+1, n), ldak1, @@ -383,9 +383,9 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, T(k, n), T->mb); /* Right application on | A2' A3 | */ - MORSE_TASK_ztsmlq( + INSERT_TASK_ztsmlq( &options, - MorseRight, MorseConjTrans, + ChamRight, ChamConjTrans, tempnn, A->nb, tempnn, tempnn, A->nb, ib, A->nb, AT(n), A->mb, D(n), ldan, @@ -394,9 +394,9 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, /* Left application on |A1 | */ /* |A2'| */ - MORSE_TASK_ztsmlq( + INSERT_TASK_ztsmlq( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, A->mb, A->nb, tempnn, A->nb, A->nb, ib, A->nb, D(k+1), ldak1, AT(n), A->mb, @@ -405,9 +405,9 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, /* Left application on | A2 | */ /* | A3 | */ - MORSE_TASK_ztsmlq( + INSERT_TASK_ztsmlq( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, A->mb, tempnn, tempnn, tempnn, A->nb, ib, A->nb, A(k+1, n), ldak1, D(n), ldan, @@ -416,7 +416,7 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, } options.priority = 0; - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } @@ -424,7 +424,7 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, for (k = 1; k < A->nt; k++){ tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); - MORSE_TASK_zlacpy(&options, + INSERT_TASK_zlacpy(&options, uplo, tempkn, tempkn, ldak, D(k), ldak, @@ -433,14 +433,11 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo, RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); - MORSE_Sequence_Wait(sequence); - morse_desc_mat_free(D); - free(D); - - morse_desc_mat_free(AT); - free(AT); + CHAMELEON_Sequence_Wait(sequence); + CHAMELEON_Desc_Destroy( &D ); + CHAMELEON_Desc_Destroy( &AT ); (void)E; } diff --git a/compute/pzlacpy.c b/compute/pzlacpy.c index 54cb862558f1ce195829dedb6445b9b360cfcdbd..29fe90bc5506e3c7c3e89be552d88b23fd3edbc3 100644 --- a/compute/pzlacpy.c +++ b/compute/pzlacpy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -31,44 +31,44 @@ /** * */ -void morse_pzlacpy(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzlacpy(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int X, Y; int m, n; int ldam, ldbm; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); switch (uplo) { /* - * MorseUpper + * ChamUpper */ - case MorseUpper: + case ChamUpper: for (m = 0; m < A->mt; m++) { X = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); ldbm = BLKLDD(B, m); if (m < A->nt) { Y = m == A->nt-1 ? A->n-m*A->nb : A->nb; - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, + ChamUpper, X, Y, A->mb, A(m, m), ldam, B(m, m), ldbm); } for (n = m+1; n < A->nt; n++) { Y = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpperLower, + ChamUpperLower, X, Y, A->mb, A(m, n), ldam, B(m, n), ldbm); @@ -76,27 +76,27 @@ void morse_pzlacpy(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, } break; /* - * MorseLower + * ChamLower */ - case MorseLower: + case ChamLower: for (m = 0; m < A->mt; m++) { X = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); ldbm = BLKLDD(B, m); if (m < A->nt) { Y = m == A->nt-1 ? A->n-m*A->nb : A->nb; - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, + ChamLower, X, Y, A->mb, A(m, m), ldam, B(m, m), ldbm); } for (n = 0; n < chameleon_min(m, A->nt); n++) { Y = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpperLower, + ChamUpperLower, X, Y, A->mb, A(m, n), ldam, B(m, n), ldbm); @@ -104,9 +104,9 @@ void morse_pzlacpy(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, } break; /* - * MorseUpperLower + * ChamUpperLower */ - case MorseUpperLower: + case ChamUpperLower: default: for (m = 0; m < A->mt; m++) { X = m == A->mt-1 ? A->m-m*A->mb : A->mb; @@ -114,14 +114,14 @@ void morse_pzlacpy(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, ldbm = BLKLDD(B, m); for (n = 0; n < A->nt; n++) { Y = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpperLower, + ChamUpperLower, X, Y, A->mb, A(m, n), ldam, B(m, n), ldbm); } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzlag2c.c b/compute/pzlag2c.c index 3d4e185e2aad52bfc41b90762b0e6a849a374254..194c50afa5be2549a3d64d6c096f5120d1f6b7cf 100644 --- a/compute/pzlag2c.c +++ b/compute/pzlag2c.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -33,20 +33,20 @@ /** * */ -void morse_pclag2z(MORSE_desc_t *SA, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pclag2z(CHAM_desc_t *SA, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int X, Y; int m, n; int ldam, ldbm; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); for(m = 0; m < SA->mt; m++) { X = m == SA->mt-1 ? SA->m-m*SA->mb : SA->mb; @@ -54,12 +54,12 @@ void morse_pclag2z(MORSE_desc_t *SA, MORSE_desc_t *B, ldbm = BLKLDD(B, m); for(n = 0; n < SA->nt; n++) { Y = n == SA->nt-1 ? SA->n-n*SA->nb : SA->nb; - MORSE_TASK_clag2z( + INSERT_TASK_clag2z( &options, X, Y, SA->mb, SA(m, n), ldam, B(m, n), ldbm); } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzlange.c b/compute/pzlange.c index 0b53b85e70ce75cf7d19a38e982a1e935fe6dbb8..5a6b15bbad1c39f75ed295f2b17ba159df04959d 100644 --- a/compute/pzlange.c +++ b/compute/pzlange.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Emmanuel Agullo * @author Mathieu Faverge * @author Florent Pruvost @@ -34,43 +34,43 @@ /** * */ -void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +void chameleon_pzlange( cham_normtype_t norm, CHAM_desc_t *A, double *result, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_desc_t *VECNORMS_STEP1 = NULL; - MORSE_desc_t *VECNORMS_STEP2 = NULL; - MORSE_desc_t *RESULT = NULL; - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_desc_t *VECNORMS_STEP1 = NULL; + CHAM_desc_t *VECNORMS_STEP2 = NULL; + CHAM_desc_t *RESULT = NULL; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int workm, workn; int tempkm, tempkn; int ldam; int m, n; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); *result = 0.0; switch ( norm ) { /* - * MorseOneNorm + * ChamOneNorm */ - case MorseOneNorm: + case ChamOneNorm: /* Init workspace handle for the call to zlange but unused */ RUNTIME_options_ws_alloc( &options, 1, 0 ); workm = chameleon_max( A->mt, A->p ); workn = A->n; - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, 1, A->nb, A->nb, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, 1, A->nb, A->nb, workm, workn, 0, 0, workm, workn, A->p, A->q); - MORSE_Desc_Create(&(VECNORMS_STEP2), NULL, MorseRealDouble, 1, A->nb, A->nb, + CHAMELEON_Desc_Create(&(VECNORMS_STEP2), NULL, ChamRealDouble, 1, A->nb, A->nb, 1, workn, 0, 0, 1, workn, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1); for(n = A->myrank % A->q; n < A->nt; n+=A->q) { @@ -78,9 +78,9 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, /* Zeroes my intermediate vectors */ for(m = (A->myrank / A->q); m < workm; m+=A->p) { - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, tempkn, + ChamUpperLower, 1, tempkn, 0., 0., VECNORMS_STEP1(m, n), 1); } @@ -89,24 +89,24 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, for(m = (A->myrank / A->q); m < A->mt; m+=A->p) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseColumnwise, MorseUpperLower, tempkm, tempkn, + ChamColumnwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); } /* Zeroes the second intermediate vector */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, tempkn, + ChamUpperLower, 1, tempkn, 0., 0., VECNORMS_STEP2(0, n), 1); /* Compute vector sums between tiles in columns */ for(m = 0; m < A->mt; m++) { - MORSE_TASK_dgeadd( + INSERT_TASK_dgeadd( &options, - MorseNoTrans, 1, tempkn, A->mb, + ChamNoTrans, 1, tempkn, A->mb, 1.0, VECNORMS_STEP1(m, n), 1, 1.0, VECNORMS_STEP2(0, n), 1); } @@ -115,24 +115,24 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, * Compute max norm of each segment of the final vector in the * previous workspace */ - MORSE_TASK_dlange( + INSERT_TASK_dlange( &options, - MorseMaxNorm, 1, tempkn, A->nb, + ChamMaxNorm, 1, tempkn, A->nb, VECNORMS_STEP2(0, n), 1, VECNORMS_STEP1(0, n)); } /* Initialize RESULT array */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 1, + ChamUpperLower, 1, 1, 0., 0., RESULT(0,0), 1); /* Compute max norm between tiles in the row */ if (A->myrank < A->q) { for(n = 0; n < A->nt; n++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(0, n), RESULT(0,0)); @@ -142,36 +142,36 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, /* Scatter norm over processus */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP2, sequence ); - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); - MORSE_Desc_Destroy( &(VECNORMS_STEP2) ); + CHAMELEON_Desc_Flush( VECNORMS_STEP2, sequence ); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP2) ); break; /* - * MorseInfNorm + * ChamInfNorm */ - case MorseInfNorm: + case ChamInfNorm: /* Init workspace handle for the call to zlange */ RUNTIME_options_ws_alloc( &options, A->mb, 0 ); workm = A->m; workn = chameleon_max( A->nt, A->q ); - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, A->mb, 1, A->mb, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, A->mb, 1, A->mb, workm, workn, 0, 0, workm, workn, A->p, A->q); - MORSE_Desc_Create(&(VECNORMS_STEP2), NULL, MorseRealDouble, A->mb, 1, A->mb, + CHAMELEON_Desc_Create(&(VECNORMS_STEP2), NULL, ChamRealDouble, A->mb, 1, A->mb, workm, 1, 0, 0, workm, 1, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 1, 1, A->p, A->q, 0, 0, A->p, A->q, A->p, A->q); for(m = (A->myrank / A->q); m < A->mt; m+=A->p) { @@ -180,9 +180,9 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, /* Zeroes my intermediate vectors */ for(n = A->myrank % A->q; n < workn; n+=A->q) { - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, tempkm, 1, + ChamUpperLower, tempkm, 1, 0., 0., VECNORMS_STEP1(m, n), 1); } @@ -190,33 +190,33 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, /* compute sums of absolute values on rows of each tile */ for(n = A->myrank % A->q; n < A->nt; n+=A->q) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseRowwise, MorseUpperLower, tempkm, tempkn, + ChamRowwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); } /* Zeroes the second intermediate vector */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, tempkm, 1, + ChamUpperLower, tempkm, 1, 0., 0., VECNORMS_STEP2(m, 0), 1); /* compute vector sums between tiles in rows locally on each rank */ for(n = A->myrank % A->q + A->q; n < A->nt; n+=A->q) { - MORSE_TASK_dgeadd( + INSERT_TASK_dgeadd( &options, - MorseNoTrans, tempkm, 1, A->mb, + ChamNoTrans, tempkm, 1, A->mb, 1.0, VECNORMS_STEP1(m, n), tempkm, 1.0, VECNORMS_STEP1(m, A->myrank % A->q), tempkm); } /* compute vector sums between tiles in rows between ranks */ for(n = 0; n < A->q; n++) { - MORSE_TASK_dgeadd( + INSERT_TASK_dgeadd( &options, - MorseNoTrans, tempkm, 1, A->mb, + ChamNoTrans, tempkm, 1, A->mb, 1.0, VECNORMS_STEP1(m, n), tempkm, 1.0, VECNORMS_STEP2(m, 0), tempkm); } @@ -225,24 +225,24 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, * Compute max norm of each segment of the final vector in the * previous workspace */ - MORSE_TASK_dlange( + INSERT_TASK_dlange( &options, - MorseMaxNorm, tempkm, 1, A->nb, + ChamMaxNorm, tempkm, 1, A->nb, VECNORMS_STEP2(m, 0), tempkm, VECNORMS_STEP1(m, 0)); } /* Initialize RESULT array */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 1, + ChamUpperLower, 1, 1, 0., 0., RESULT(A->myrank / A->q, A->myrank % A->q), 1); /* compute max norm between tiles in the column locally on each rank */ if (A->myrank % A->q == 0) { for(m = (A->myrank / A->q); m < A->mt; m+=A->p) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(m, 0), RESULT(A->myrank / A->q, A->myrank % A->q)); @@ -252,7 +252,7 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, /* compute max norm between tiles in the column between ranks */ if (A->myrank % A->q == 0) { for(m = 0; m < A->p; m++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, RESULT(m,0), RESULT(0,0)); @@ -262,31 +262,31 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, /* Scatter norm over processus */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP2, sequence ); - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); - MORSE_Desc_Destroy( &(VECNORMS_STEP2) ); + CHAMELEON_Desc_Flush( VECNORMS_STEP2, sequence ); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP2) ); break; /* - * MorseFrobeniusNorm + * ChamFrobeniusNorm */ - case MorseFrobeniusNorm: + case ChamFrobeniusNorm: workm = chameleon_max( A->mt, A->p ); workn = chameleon_max( A->nt, A->q ); - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, 1, 2, 2, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, 1, 2, 2, workm, 2*workn, 0, 0, workm, 2*workn, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 2, 2, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 2, 2, 1, 2, 0, 0, 1, 2, 1, 1); /* Compute local norm to each tile */ @@ -294,13 +294,13 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); for(n = 0; n < A->nt; n++) { - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 2, + ChamUpperLower, 1, 2, 1., 0., VECNORMS_STEP1(m,n), 1); tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zgessq( + INSERT_TASK_zgessq( &options, tempkm, tempkn, A(m, n), ldam, @@ -309,46 +309,46 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, } /* Initialize arrays */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 2, + ChamUpperLower, 1, 2, 1., 0., RESULT(0,0), 1); /* Compute accumulation of scl and ssq */ for(m = 0; m < A->mt; m++) { for(n = 0; n < A->nt; n++) { - MORSE_TASK_dplssq( + INSERT_TASK_dplssq( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); } } /* Compute scl * sqrt(ssq) */ - MORSE_TASK_dplssq2( + INSERT_TASK_dplssq2( &options, RESULT(0,0)); /* Copy max norm in tiles to dispatch on every nodes */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); break; /* - * MorseMaxNorm + * ChamMaxNorm */ - case MorseMaxNorm: + case ChamMaxNorm: default: /* Init workspace handle for the call to zlange but unused */ RUNTIME_options_ws_alloc( &options, 1, 0 ); @@ -356,9 +356,9 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, workm = chameleon_max( A->mt, A->p ); workn = chameleon_max( A->nt, A->q ); - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, 1, 1, 1, workm, workn, 0, 0, workm, workn, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1); /* Compute local maximum to each tile */ @@ -367,25 +367,25 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, ldam = BLKLDD(A, m); for(n = 0; n < A->nt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zlange( + INSERT_TASK_zlange( &options, - MorseMaxNorm, tempkm, tempkn, A->nb, + ChamMaxNorm, tempkm, tempkn, A->nb, A(m, n), ldam, VECNORMS_STEP1(m, n)); } } /* Initialize RESULT array */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 1, + ChamUpperLower, 1, 1, 0., 0., RESULT(0,0), 1); /* Compute max norm between tiles */ for(m = 0; m < A->mt; m++) { for(n = 0; n < A->nt; n++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); @@ -395,23 +395,23 @@ void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result, /* Copy max norm in tiles to dispatch on every nodes */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); } *result = *(double *)VECNORMS_STEP1->get_blkaddr(VECNORMS_STEP1, A->myrank / A->q, A->myrank % A->q ); - MORSE_Desc_Destroy( &(VECNORMS_STEP1) ); - MORSE_Desc_Destroy( &(RESULT) ); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP1) ); + CHAMELEON_Desc_Destroy( &(RESULT) ); RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzlanhe.c b/compute/pzlanhe.c index eb0cb47d8834f4e4aa285611dfe303565877ab09..e7c181296209393fd2b940d92a44238cc72c663f 100644 --- a/compute/pzlanhe.c +++ b/compute/pzlanhe.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Emmanuel Agullo * @author Mathieu Faverge * @date 2010-11-15 @@ -36,14 +36,14 @@ /** * */ -void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *result, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzlanhe(cham_normtype_t norm, cham_uplo_t uplo, CHAM_desc_t *A, double *result, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_desc_t *VECNORMS_STEP1 = NULL; - MORSE_desc_t *VECNORMS_STEP2 = NULL; - MORSE_desc_t *RESULT = NULL; - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_desc_t *VECNORMS_STEP1 = NULL; + CHAM_desc_t *VECNORMS_STEP2 = NULL; + CHAM_desc_t *RESULT = NULL; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int workm, workn; int tempkm, tempkn; @@ -54,39 +54,39 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re /* part_p = A->myrank / A->q; */ /* part_q = A->myrank % A->q; */ - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); *result = 0.0; switch ( norm ) { /* - * MorseOneNorm / MorseInfNorm + * ChamOneNorm / ChamInfNorm */ - case MorseOneNorm: - case MorseInfNorm: + case ChamOneNorm: + case ChamInfNorm: /* Init workspace handle for the call to zlanhe */ RUNTIME_options_ws_alloc( &options, A->mb, 0 ); workm = A->m; workn = chameleon_max( A->nt, A->q ); - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, A->mb, 1, A->mb, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, A->mb, 1, A->mb, workm, workn, 0, 0, workm, workn, A->p, A->q); - MORSE_Desc_Create(&(VECNORMS_STEP2), NULL, MorseRealDouble, A->mb, 1, A->mb, + CHAMELEON_Desc_Create(&(VECNORMS_STEP2), NULL, ChamRealDouble, A->mb, 1, A->mb, workm, 1, 0, 0, workm, 1, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1); /* Zeroes my intermediate vectors */ for(m = 0; m < A->mt; m++) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; for(n = 0; n < workn; n++) { - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, tempkm, 1, + ChamUpperLower, tempkm, 1, 0., 0., VECNORMS_STEP1(m, n), 1); } @@ -97,32 +97,32 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re ldam = BLKLDD(A, m); /* compute sums of absolute values on diagonal tile m */ - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseRowwise, uplo, tempkm, tempkm, + ChamRowwise, uplo, tempkm, tempkm, A(m, m), ldam, VECNORMS_STEP1(m, m)); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { //for(n = A->myrank % A->q; n < m; n+=A->q) { for(n = 0; n < m; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; /* compute sums of absolute values on rows of tile m */ - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseRowwise, MorseUpperLower, tempkm, tempkn, + ChamRowwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); /* same operation on the symmetric part */ - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseColumnwise, MorseUpperLower, tempkm, tempkn, + ChamColumnwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(n, m)); } } /* - * MorseUpper + * ChamUpper */ else { // for(n = ( part_q > part_p ? (m/part_p)*part_p + part_q : (m/part_p)*part_p + part_q + A->q ); @@ -130,14 +130,14 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re for(n = m+1; n < A->mt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; /* compute sums of absolute values on rows of tile m */ - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseRowwise, MorseUpperLower, tempkm, tempkn, + ChamRowwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); /* same operation on the symmetric part */ - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseColumnwise, MorseUpperLower, tempkm, tempkn, + ChamColumnwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(n, m)); } } @@ -146,15 +146,15 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re /* compute vector sum between tiles in rows */ for(m = (A->myrank / A->q); m < A->mt; m+=A->p) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, tempkm, 1, + ChamUpperLower, tempkm, 1, 0., 0., VECNORMS_STEP2(m, 0), 1); for(n = 0; n < A->nt; n++) { - MORSE_TASK_dgeadd( + INSERT_TASK_dgeadd( &options, - MorseNoTrans, tempkm, 1, A->mb, + ChamNoTrans, tempkm, 1, A->mb, 1.0, VECNORMS_STEP1(m, n), tempkm, 1.0, VECNORMS_STEP2(m, 0), tempkm); } @@ -162,24 +162,24 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re * Compute max norm of each segment of the final vector in the * previous workspace */ - MORSE_TASK_dlange( + INSERT_TASK_dlange( &options, - MorseMaxNorm, tempkm, 1, A->nb, + ChamMaxNorm, tempkm, 1, A->nb, VECNORMS_STEP2(m, 0), tempkm, VECNORMS_STEP1(m, 0)); } /* Initialize RESULT array */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 1, + ChamUpperLower, 1, 1, 0., 0., RESULT(0,0), 1); /* compute max norm between tiles in the column */ if (A->myrank % A->q == 0) { for(m = 0; m < A->mt; m++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(m, 0), RESULT(0,0)); @@ -189,32 +189,32 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re /* Scatter norm over processus */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP2, sequence ); - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); + CHAMELEON_Desc_Flush( VECNORMS_STEP2, sequence ); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); *result = *(double *)VECNORMS_STEP1->get_blkaddr(VECNORMS_STEP1, A->myrank / A->q, A->myrank % A->q ); - MORSE_Desc_Destroy( &(VECNORMS_STEP1) ); - MORSE_Desc_Destroy( &(VECNORMS_STEP2) ); - MORSE_Desc_Destroy( &(RESULT) ); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP1) ); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP2) ); + CHAMELEON_Desc_Destroy( &(RESULT) ); break; /* - * MorseFrobeniusNorm + * ChamFrobeniusNorm */ - case MorseFrobeniusNorm: + case ChamFrobeniusNorm: workm = chameleon_max( A->mt, A->p ); workn = chameleon_max( A->nt, A->q ); - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, 1, 2, 2, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, 1, 2, 2, workm, 2*workn, 0, 0, workm, 2*workn, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 2, 2, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 2, 2, 1, 2, 0, 0, 1, 2, 1, 1); /* Compute local norm to each tile */ @@ -224,35 +224,35 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re /* Zeroes my intermediate vectors */ for(n = A->myrank % A->q; n < workn; n+=A->q) { - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 2, + ChamUpperLower, 1, 2, 1., 0., VECNORMS_STEP1(m,n), 1); } /* compute norm on diagonal tile m */ - MORSE_TASK_zhessq( + INSERT_TASK_zhessq( &options, uplo, tempkm, A(m, m), ldam, VECNORMS_STEP1(m, m)); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { //for(n = A->myrank % A->q; n < m; n+=A->q) { for(n = 0; n < m; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; /* compute norm on the lower part */ - MORSE_TASK_zgessq( + INSERT_TASK_zgessq( &options, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); /* same operation on the symmetric part */ - MORSE_TASK_zgessq( + INSERT_TASK_zgessq( &options, tempkm, tempkn, A(m, n), ldam, @@ -260,7 +260,7 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re } } /* - * MorseUpper + * ChamUpper */ else { // for(n = ( part_q > part_p ? (m/part_p)*part_p + part_q : (m/part_p)*part_p + part_q + A->q ); @@ -268,13 +268,13 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re for(n = m+1; n < A->mt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; /* compute norm on the lower part */ - MORSE_TASK_zgessq( + INSERT_TASK_zgessq( &options, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); /* same operation on the symmetric part */ - MORSE_TASK_zgessq( + INSERT_TASK_zgessq( &options, tempkm, tempkn, A(m, n), ldam, @@ -284,34 +284,34 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re } /* Initialize arrays */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 2, + ChamUpperLower, 1, 2, 1., 0., RESULT(0,0), 1); /* Compute accumulation of scl and ssq */ for(m = (A->myrank / A->q); m < A->mt; m+=A->p) { /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { //for(n = A->myrank % A->q; n < m; n+=A->q) { for(n = 0; n <= m; n++) { - MORSE_TASK_dplssq( + INSERT_TASK_dplssq( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); } } /* - * MorseUpper + * ChamUpper */ else { // for(n = ( part_q > part_p ? (m/part_p)*part_p + part_q : (m/part_p)*part_p + part_q + A->q ); // n < A->mt; n+=A->q) { for(n = m; n < A->mt; n++) { - MORSE_TASK_dplssq( + INSERT_TASK_dplssq( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); @@ -320,33 +320,33 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re } /* Compute scl * sqrt(ssq) */ - MORSE_TASK_dplssq2( + INSERT_TASK_dplssq2( &options, RESULT(0,0)); /* Copy max norm in tiles to dispatch on every nodes */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); *result = *(double *)VECNORMS_STEP1->get_blkaddr(VECNORMS_STEP1, A->myrank / A->q, A->myrank % A->q ); - MORSE_Desc_Destroy( &(VECNORMS_STEP1) ); - MORSE_Desc_Destroy( &(RESULT) ); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP1) ); + CHAMELEON_Desc_Destroy( &(RESULT) ); break; /* - * MorseMaxNorm + * ChamMaxNorm */ - case MorseMaxNorm: + case ChamMaxNorm: default: /* Init workspace handle for the call to zlange but unused */ RUNTIME_options_ws_alloc( &options, 1, 0 ); @@ -354,9 +354,9 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re workm = chameleon_max( A->mt, A->p ); workn = chameleon_max( A->nt, A->q ); - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, 1, 1, 1, workm, workn, 0, 0, workm, workn, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1); /* Compute local maximum to each tile */ @@ -364,37 +364,37 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_zlanhe( + INSERT_TASK_zlanhe( &options, - MorseMaxNorm, uplo, tempkm, A->nb, + ChamMaxNorm, uplo, tempkm, A->nb, A(m, m), ldam, VECNORMS_STEP1(m, m)); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { //for(n = A->myrank % A->q; n < m; n+=A->q) { for(n = 0; n < m; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zlange( + INSERT_TASK_zlange( &options, - MorseMaxNorm, tempkm, tempkn, A->nb, + ChamMaxNorm, tempkm, tempkn, A->nb, A(m, n), ldam, VECNORMS_STEP1(m, n)); } } /* - * MorseUpper + * ChamUpper */ else { //for(n = ( part_q > part_p ? (m/part_p)*part_p + part_q : (m/part_p)*part_p + part_q + A->q ); // n < A->mt; n+=A->q) { for(n = m+1; n < A->mt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zlange( + INSERT_TASK_zlange( &options, - MorseMaxNorm, tempkm, tempkn, A->nb, + ChamMaxNorm, tempkm, tempkn, A->nb, A(m, n), ldam, VECNORMS_STEP1(m, n)); } @@ -402,34 +402,34 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re } /* Initialize RESULT array */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 1, + ChamUpperLower, 1, 1, 0., 0., RESULT(0,0), 1); /* Compute max norm between tiles */ for(m = 0; m < A->mt; m++) { /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { //for(n = A->myrank % A->q; n < m; n+=A->q) { for(n = 0; n <= m; n++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); } } /* - * MorseUpper + * ChamUpper */ else { //for(n = ( part_q > part_p ? (m/part_p)*part_p + part_q : (m/part_p)*part_p + part_q + A->q ); // n < A->mt; n+=A->q) { for(n = m; n < A->mt; n++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); @@ -440,21 +440,21 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re /* Copy max norm in tiles to dispatch on every nodes */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); *result = *(double *)VECNORMS_STEP1->get_blkaddr(VECNORMS_STEP1, A->myrank / A->q, A->myrank % A->q ); - MORSE_Desc_Destroy( &(VECNORMS_STEP1) ); - MORSE_Desc_Destroy( &(RESULT) ); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP1) ); + CHAMELEON_Desc_Destroy( &(RESULT) ); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzlansy.c b/compute/pzlansy.c index 3c1bcbd7d485456ae9e8ab1f50923ae5dd3c3a71..96411e26c4946c157bec2218e334b5f0bb373ad9 100644 --- a/compute/pzlansy.c +++ b/compute/pzlansy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Emmanuel Agullo * @author Mathieu Faverge * @date 2010-11-15 @@ -36,14 +36,14 @@ /** * */ -void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *result, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzlansy(cham_normtype_t norm, cham_uplo_t uplo, CHAM_desc_t *A, double *result, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_desc_t *VECNORMS_STEP1 = NULL; - MORSE_desc_t *VECNORMS_STEP2 = NULL; - MORSE_desc_t *RESULT = NULL; - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_desc_t *VECNORMS_STEP1 = NULL; + CHAM_desc_t *VECNORMS_STEP2 = NULL; + CHAM_desc_t *RESULT = NULL; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int workm, workn; int tempkm, tempkn; @@ -54,39 +54,39 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re /* part_p = A->myrank / A->q; */ /* part_q = A->myrank % A->q; */ - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); *result = 0.0; switch ( norm ) { /* - * MorseOneNorm / MorseInfNorm + * ChamOneNorm / ChamInfNorm */ - case MorseOneNorm: - case MorseInfNorm: + case ChamOneNorm: + case ChamInfNorm: /* Init workspace handle for the call to zlange */ RUNTIME_options_ws_alloc( &options, A->mb, 0 ); workm = A->m; workn = chameleon_max( A->nt, A->q ); - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, A->mb, 1, A->mb, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, A->mb, 1, A->mb, workm, workn, 0, 0, workm, workn, A->p, A->q); - MORSE_Desc_Create(&(VECNORMS_STEP2), NULL, MorseRealDouble, A->mb, 1, A->mb, + CHAMELEON_Desc_Create(&(VECNORMS_STEP2), NULL, ChamRealDouble, A->mb, 1, A->mb, workm, 1, 0, 0, workm, 1, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1); /* Zeroes my intermediate vectors */ for(m = 0; m < A->mt; m++) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; for(n = 0; n < workn; n++) { - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, tempkm, 1, + ChamUpperLower, tempkm, 1, 0., 0., VECNORMS_STEP1(m, n), 1); } @@ -97,32 +97,32 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re ldam = BLKLDD(A, m); /* compute sums of absolute values on diagonal tile m */ - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseRowwise, uplo, tempkm, tempkm, + ChamRowwise, uplo, tempkm, tempkm, A(m, m), ldam, VECNORMS_STEP1(m, m)); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { //for(n = A->myrank % A->q; n < m; n+=A->q) { for(n = 0; n < m; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; /* compute sums of absolute values on rows of tile m */ - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseRowwise, MorseUpperLower, tempkm, tempkn, + ChamRowwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); /* same operation on the symmetric part */ - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseColumnwise, MorseUpperLower, tempkm, tempkn, + ChamColumnwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(n, m)); } } /* - * MorseUpper + * ChamUpper */ else { // for(n = ( part_q > part_p ? (m/part_p)*part_p + part_q : (m/part_p)*part_p + part_q + A->q ); @@ -130,14 +130,14 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re for(n = m+1; n < A->mt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; /* compute sums of absolute values on rows of tile m */ - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseRowwise, MorseUpperLower, tempkm, tempkn, + ChamRowwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); /* same operation on the symmetric part */ - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseColumnwise, MorseUpperLower, tempkm, tempkn, + ChamColumnwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(n, m)); } } @@ -146,15 +146,15 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re /* compute vector sum between tiles in rows */ for(m = 0; m < A->mt; m++) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, tempkm, 1, + ChamUpperLower, tempkm, 1, 0., 0., VECNORMS_STEP2(m, 0), 1); for(n = 0; n < A->nt; n++) { - MORSE_TASK_dgeadd( + INSERT_TASK_dgeadd( &options, - MorseNoTrans, tempkm, 1, A->mb, + ChamNoTrans, tempkm, 1, A->mb, 1.0, VECNORMS_STEP1(m, n), tempkm, 1.0, VECNORMS_STEP2(m, 0), tempkm); } @@ -162,24 +162,24 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re * Compute max norm of each segment of the final vector in the * previous workspace */ - MORSE_TASK_dlange( + INSERT_TASK_dlange( &options, - MorseMaxNorm, tempkm, 1, A->nb, + ChamMaxNorm, tempkm, 1, A->nb, VECNORMS_STEP2(m, 0), tempkm, VECNORMS_STEP1(m, 0)); } /* Initialize RESULT array */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 1, + ChamUpperLower, 1, 1, 0., 0., RESULT(0,0), 1); /* compute max norm between tiles in the column */ if (A->myrank % A->q == 0) { for(m = 0; m < A->mt; m++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(m, 0), RESULT(0,0)); @@ -189,29 +189,29 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re /* Scatter norm over processus */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP2, sequence ); - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); - MORSE_Desc_Destroy( &(VECNORMS_STEP2) ); + CHAMELEON_Desc_Flush( VECNORMS_STEP2, sequence ); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP2) ); break; /* - * MorseFrobeniusNorm + * ChamFrobeniusNorm */ - case MorseFrobeniusNorm: + case ChamFrobeniusNorm: workm = chameleon_max( A->mt, A->p ); workn = chameleon_max( A->nt, A->q ); - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, 1, 2, 2, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, 1, 2, 2, workm, 2*workn, 0, 0, workm, 2*workn, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 2, 2, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 2, 2, 1, 2, 0, 0, 1, 2, 1, 1); /* Compute local norm to each tile */ @@ -220,39 +220,39 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re ldam = BLKLDD(A, m); /* Zeroes my intermediate vector */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 2, + ChamUpperLower, 1, 2, 1., 0., VECNORMS_STEP1(m, m), 1); /* compute norm on diagonal tile m */ - MORSE_TASK_zsyssq( + INSERT_TASK_zsyssq( &options, uplo, tempkm, A(m, m), ldam, VECNORMS_STEP1(m, m)); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { //for(n = A->myrank % A->q; n < m; n+=A->q) { for(n = 0; n < m; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; /* Zeroes my intermediate vector */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 2, + ChamUpperLower, 1, 2, 1., 0., VECNORMS_STEP1(m, n), 1); /* compute norm on the lower part */ - MORSE_TASK_zgessq( + INSERT_TASK_zgessq( &options, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); /* same operation on the symmetric part */ - MORSE_TASK_zgessq( + INSERT_TASK_zgessq( &options, tempkm, tempkn, A(m, n), ldam, @@ -260,7 +260,7 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re } } /* - * MorseUpper + * ChamUpper */ else { // for(n = ( part_q > part_p ? (m/part_p)*part_p + part_q : (m/part_p)*part_p + part_q + A->q ); @@ -268,19 +268,19 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re for(n = m+1; n < A->mt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; /* Zeroes my intermediate vector */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 2, + ChamUpperLower, 1, 2, 1., 0., VECNORMS_STEP1(m, n), 1); /* compute norm on the lower part */ - MORSE_TASK_zgessq( + INSERT_TASK_zgessq( &options, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); /* same operation on the symmetric part */ - MORSE_TASK_zgessq( + INSERT_TASK_zgessq( &options, tempkm, tempkn, A(m, n), ldam, @@ -290,34 +290,34 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re } /* Zeroes my intermediate vector */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 2, + ChamUpperLower, 1, 2, 1., 0., RESULT(0,0), 1); /* Compute accumulation of scl and ssq */ for(m = (A->myrank / A->q); m < A->mt; m+=A->p) { /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { //for(n = A->myrank % A->q; n < m; n+=A->q) { for(n = 0; n <= m; n++) { - MORSE_TASK_dplssq( + INSERT_TASK_dplssq( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); } } /* - * MorseUpper + * ChamUpper */ else { // for(n = ( part_q > part_p ? (m/part_p)*part_p + part_q : (m/part_p)*part_p + part_q + A->q ); // n < A->mt; n+=A->q) { for(n = m; n < A->mt; n++) { - MORSE_TASK_dplssq( + INSERT_TASK_dplssq( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); @@ -326,30 +326,30 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re } /* Compute scl * sqrt(ssq) */ - MORSE_TASK_dplssq2( + INSERT_TASK_dplssq2( &options, RESULT(0,0)); /* Copy max norm in tiles to dispatch on every nodes */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); break; /* - * MorseMaxNorm + * ChamMaxNorm */ - case MorseMaxNorm: + case ChamMaxNorm: default: /* Init workspace handle for the call to zlange but unused */ RUNTIME_options_ws_alloc( &options, 1, 0 ); @@ -357,9 +357,9 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re workm = chameleon_max( A->mt, A->p ); workn = chameleon_max( A->nt, A->q ); - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, 1, 1, 1, workm, workn, 0, 0, workm, workn, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1); /* Compute local maximum to each tile */ @@ -367,37 +367,37 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_zlansy( + INSERT_TASK_zlansy( &options, - MorseMaxNorm, uplo, tempkm, A->nb, + ChamMaxNorm, uplo, tempkm, A->nb, A(m, m), ldam, VECNORMS_STEP1(m, m)); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { //for(n = A->myrank % A->q; n < m; n+=A->q) { for(n = 0; n < m; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zlange( + INSERT_TASK_zlange( &options, - MorseMaxNorm, tempkm, tempkn, A->nb, + ChamMaxNorm, tempkm, tempkn, A->nb, A(m, n), ldam, VECNORMS_STEP1(m, n)); } } /* - * MorseUpper + * ChamUpper */ else { //for(n = ( part_q > part_p ? (m/part_p)*part_p + part_q : (m/part_p)*part_p + part_q + A->q ); // n < A->mt; n+=A->q) { for(n = m+1; n < A->mt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zlange( + INSERT_TASK_zlange( &options, - MorseMaxNorm, tempkm, tempkn, A->nb, + ChamMaxNorm, tempkm, tempkn, A->nb, A(m, n), ldam, VECNORMS_STEP1(m, n)); } @@ -405,34 +405,34 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re } /* Zeroes RESULT array */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 1, + ChamUpperLower, 1, 1, 0., 0., RESULT(0,0), 1); /* Compute max norm between tiles */ for(m = 0; m < A->mt; m++) { /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { //for(n = A->myrank % A->q; n < m; n+=A->q) { for(n = 0; n <= m; n++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); } } /* - * MorseUpper + * ChamUpper */ else { //for(n = ( part_q > part_p ? (m/part_p)*part_p + part_q : (m/part_p)*part_p + part_q + A->q ); // n < A->mt; n+=A->q) { for(n = m; n < A->mt; n++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); @@ -443,23 +443,23 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re /* Copy max norm in tiles to dispatch on every nodes */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); } *result = *(double *)VECNORMS_STEP1->get_blkaddr(VECNORMS_STEP1, A->myrank / A->q, A->myrank % A->q ); - MORSE_Desc_Destroy( &(VECNORMS_STEP1) ); - MORSE_Desc_Destroy( &(RESULT) ); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP1) ); + CHAMELEON_Desc_Destroy( &(RESULT) ); RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzlantr.c b/compute/pzlantr.c index 5943beed8f4be766cafe794068d453b28ca24b54..cbdefa954a5d97293bf9277895a499de3300a6a2 100644 --- a/compute/pzlantr.c +++ b/compute/pzlantr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -30,15 +30,15 @@ /** * */ -void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, - MORSE_desc_t *A, double *result, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzlantr(cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, + CHAM_desc_t *A, double *result, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_desc_t *VECNORMS_STEP1 = NULL; - MORSE_desc_t *VECNORMS_STEP2 = NULL; - MORSE_desc_t *RESULT = NULL; - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_desc_t *VECNORMS_STEP1 = NULL; + CHAM_desc_t *VECNORMS_STEP2 = NULL; + CHAM_desc_t *RESULT = NULL; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int workm, workn; int tempkm, tempkn; @@ -51,41 +51,41 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, /* part_p = A->myrank / A->q; */ /* part_q = A->myrank % A->q; */ - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); *result = 0.0; switch ( norm ) { /* - * MorseOneNorm + * ChamOneNorm */ - case MorseOneNorm: + case ChamOneNorm: /* Init workspace handle for the call to zlange but unused */ RUNTIME_options_ws_alloc( &options, 1, 0 ); workm = chameleon_max( A->mt, A->p ); workn = A->n; - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, 1, A->nb, A->nb, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, 1, A->nb, A->nb, workm, workn, 0, 0, workm, workn, A->p, A->q); - MORSE_Desc_Create(&(VECNORMS_STEP2), NULL, MorseRealDouble, 1, A->nb, A->nb, + CHAMELEON_Desc_Create(&(VECNORMS_STEP2), NULL, ChamRealDouble, 1, A->nb, A->nb, 1, workn, 0, 0, 1, workn, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1); /* - * MorseUpper + * ChamUpper */ - if (uplo == MorseUpper) { + if (uplo == ChamUpper) { /* Zeroes intermediate vector */ for(n = 0; n < A->nt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, tempkn, + ChamUpperLower, 1, tempkn, 0., 0., VECNORMS_STEP2(0, n), 1); } @@ -93,9 +93,9 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, /* Zeroes intermediate vectors */ for(n = m; n < A->nt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, tempkn, + ChamUpperLower, 1, tempkn, 0., 0., VECNORMS_STEP1(m, n), 1); } @@ -103,34 +103,34 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, tempkn = m == A->nt-1 ? A->n-m*A->nb : A->nb; ldam = BLKLDD(A, m); /* compute sums of absolute values on columns of diag tile */ - MORSE_TASK_ztrasm( + INSERT_TASK_ztrasm( &options, - MorseColumnwise, uplo, diag, tempkm, tempkn, + ChamColumnwise, uplo, diag, tempkm, tempkn, A(m, m), ldam, VECNORMS_STEP1(m, m)); /* compute sums of absolute values on columns of each tile */ for(n = m+1; n < A->nt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseColumnwise, MorseUpperLower, tempkm, tempkn, + ChamColumnwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); } /* Compute vector sums between tiles in columns */ for(n = m; n < A->nt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_dgeadd( + INSERT_TASK_dgeadd( &options, - MorseNoTrans, 1, tempkn, A->mb, + ChamNoTrans, 1, tempkn, A->mb, 1.0, VECNORMS_STEP1(m, n), 1, 1.0, VECNORMS_STEP2(0, n), 1); } } } /* - * MorseLower + * ChamLower */ else { for(n = 0; n < minMNT; n++) { @@ -139,23 +139,23 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, ldan = BLKLDD(A, n); /* Zeroes intermediate vectors */ for(m = n; m < A->mt; m++) { - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, tempkn, + ChamUpperLower, 1, tempkn, 0., 0., VECNORMS_STEP1(m, n), 1); } /* Zeroes the second intermediate vector */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, tempkn, + ChamUpperLower, 1, tempkn, 0., 0., VECNORMS_STEP2(0, n), 1); /* compute sums of absolute values on columns of diag tile */ - MORSE_TASK_ztrasm( + INSERT_TASK_ztrasm( &options, - MorseColumnwise, uplo, diag, tempkm, tempkn, + ChamColumnwise, uplo, diag, tempkm, tempkn, A(n, n), ldan, VECNORMS_STEP1(n, n)); @@ -163,17 +163,17 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, for(m = n+1; m < A->mt; m++) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseColumnwise, MorseUpperLower, tempkm, tempkn, + ChamColumnwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); } /* Compute vector sums between tiles in columns */ for(m = n; m < A->mt; m++) { - MORSE_TASK_dgeadd( + INSERT_TASK_dgeadd( &options, - MorseNoTrans, 1, tempkn, A->mb, + ChamNoTrans, 1, tempkn, A->mb, 1.0, VECNORMS_STEP1(m, n), 1, 1.0, VECNORMS_STEP2(0, n), 1); } @@ -186,24 +186,24 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, */ for(n = 0; n < A->nt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_dlange( + INSERT_TASK_dlange( &options, - MorseMaxNorm, 1, tempkn, A->nb, + ChamMaxNorm, 1, tempkn, A->nb, VECNORMS_STEP2(0, n), 1, VECNORMS_STEP1(0, n)); } /* Initialize RESULT array */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 1, + ChamUpperLower, 1, 1, 0., 0., RESULT(0,0), 1); /* Compute max norm between tiles in the row */ if (A->myrank < A->q) { for(n = 0; n < A->nt; n++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(0, n), RESULT(0,0)); @@ -213,84 +213,84 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, /* Scatter norm over processus */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP2, sequence ); - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); + CHAMELEON_Desc_Flush( VECNORMS_STEP2, sequence ); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); *result = *(double *)VECNORMS_STEP1->get_blkaddr(VECNORMS_STEP1, A->myrank / A->q, A->myrank % A->q ); - MORSE_Desc_Destroy( &(VECNORMS_STEP1) ); - MORSE_Desc_Destroy( &(VECNORMS_STEP2) ); - MORSE_Desc_Destroy( &(RESULT) ); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP1) ); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP2) ); + CHAMELEON_Desc_Destroy( &(RESULT) ); break; /* - * MorseInfNorm + * ChamInfNorm */ - case MorseInfNorm: + case ChamInfNorm: /* Init workspace handle for the call to zlange */ RUNTIME_options_ws_alloc( &options, A->mb, 0 ); workm = A->m; workn = chameleon_max( A->nt, A->q ); - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, A->mb, 1, A->mb, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, A->mb, 1, A->mb, workm, workn, 0, 0, workm, workn, A->p, A->q); - MORSE_Desc_Create(&(VECNORMS_STEP2), NULL, MorseRealDouble, A->mb, 1, A->mb, + CHAMELEON_Desc_Create(&(VECNORMS_STEP2), NULL, ChamRealDouble, A->mb, 1, A->mb, workm, 1, 0, 0, workm, 1, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1); /* - * MorseUpper + * ChamUpper */ - if (uplo == MorseUpper) { + if (uplo == ChamUpper) { for(m = 0; m < minMNT; m++) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; tempkn = m == A->nt-1 ? A->n-m*A->nb : A->nb; ldam = BLKLDD(A, m); /* Zeroes intermediate vectors */ for(n = m; n < A->nt; n++) { - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, tempkm, 1, + ChamUpperLower, tempkm, 1, 0., 0., VECNORMS_STEP1(m, n), 1); } /* Zeroes intermediate vector */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, tempkm, 1, + ChamUpperLower, tempkm, 1, 0., 0., VECNORMS_STEP2(m, 0), 1); /* compute sums of absolute values on rows of diag tile */ - MORSE_TASK_ztrasm( + INSERT_TASK_ztrasm( &options, - MorseRowwise, uplo, diag, tempkm, tempkn, + ChamRowwise, uplo, diag, tempkm, tempkn, A(m, m), ldam, VECNORMS_STEP1(m, m)); /* compute sums of absolute values on rows of each tile */ for(n = m+1; n < A->nt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseRowwise, MorseUpperLower, tempkm, tempkn, + ChamRowwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); } /* Compute vector sums between tiles in rows */ for(n = m; n < A->nt; n++) { - MORSE_TASK_dgeadd( + INSERT_TASK_dgeadd( &options, - MorseNoTrans, tempkm, 1, A->mb, + ChamNoTrans, tempkm, 1, A->mb, 1.0, VECNORMS_STEP1(m, n), tempkm, 1.0, VECNORMS_STEP2(m, 0), tempkm); } @@ -298,15 +298,15 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, } } /* - * MorseLower + * ChamLower */ else { /* Zeroes intermediate vector */ for(m = 0; m < A->mt; m++) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, tempkm, 1, + ChamUpperLower, tempkm, 1, 0., 0., VECNORMS_STEP2(m, 0), 1); } @@ -314,9 +314,9 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, /* Zeroes intermediate vectors */ for(m = n; m < A->mt; m++) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, tempkm, 1, + ChamUpperLower, tempkm, 1, 0., 0., VECNORMS_STEP1(m, n), tempkm); } @@ -324,9 +324,9 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; ldan = BLKLDD(A, n); /* compute sums of absolute values on rows of diag tile */ - MORSE_TASK_ztrasm( + INSERT_TASK_ztrasm( &options, - MorseRowwise, uplo, diag, tempkm, tempkn, + ChamRowwise, uplo, diag, tempkm, tempkn, A(n, n), ldan, VECNORMS_STEP1(n, n)); @@ -334,18 +334,18 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, for(m = n+1; m < A->mt; m++) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_dzasum( + INSERT_TASK_dzasum( &options, - MorseRowwise, MorseUpperLower, tempkm, tempkn, + ChamRowwise, ChamUpperLower, tempkm, tempkn, A(m, n), ldam, VECNORMS_STEP1(m, n)); } /* Compute vector sums between tiles in rows */ for(m = n; m < A->mt; m++) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; - MORSE_TASK_dgeadd( + INSERT_TASK_dgeadd( &options, - MorseNoTrans, tempkm, 1, A->mb, + ChamNoTrans, tempkm, 1, A->mb, 1.0, VECNORMS_STEP1(m, n), tempkm, 1.0, VECNORMS_STEP2(m, 0), tempkm); } @@ -358,24 +358,24 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, */ for(m = 0; m < A->mt; m++) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; - MORSE_TASK_dlange( + INSERT_TASK_dlange( &options, - MorseMaxNorm, tempkm, 1, A->nb, + ChamMaxNorm, tempkm, 1, A->nb, VECNORMS_STEP2(m, 0), 1, VECNORMS_STEP1(m, 0)); } /* Initialize RESULT array */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 1, + ChamUpperLower, 1, 1, 0., 0., RESULT(0,0), 1); /* compute max norm between tiles in the column */ if (A->myrank % A->q == 0) { for(m = 0; m < A->mt; m++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(m, 0), RESULT(0,0)); @@ -385,38 +385,38 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, /* Scatter norm over processus */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP2, sequence ); - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); + CHAMELEON_Desc_Flush( VECNORMS_STEP2, sequence ); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); *result = *(double *)VECNORMS_STEP1->get_blkaddr(VECNORMS_STEP1, A->myrank / A->q, A->myrank % A->q ); - MORSE_Desc_Destroy( &(VECNORMS_STEP1) ); - MORSE_Desc_Destroy( &(VECNORMS_STEP2) ); - MORSE_Desc_Destroy( &(RESULT) ); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP1) ); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP2) ); + CHAMELEON_Desc_Destroy( &(RESULT) ); break; /* - * MorseFrobeniusNorm + * ChamFrobeniusNorm */ - case MorseFrobeniusNorm: + case ChamFrobeniusNorm: workm = chameleon_max( A->mt, A->p ); workn = chameleon_max( A->nt, A->q ); - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, 1, 2, 2, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, 1, 2, 2, workm, 2*workn, 0, 0, workm, 2*workn, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 2, 2, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 2, 2, 1, 2, 0, 0, 1, 2, 1, 1); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { /* Compute local maximum to each tile */ for(n = 0; n < minMNT; n++) { tempkm = n == A->mt-1 ? A->m-n*A->mb : A->mb; @@ -424,14 +424,14 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, ldan = BLKLDD(A, n); /* Zeroes my intermediate vectors */ for(m = n; m < A->mt; m++) { - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 2, + ChamUpperLower, 1, 2, 1., 0., VECNORMS_STEP1(m,n), 1); } /* Compute local norm of the diagonal tile */ - MORSE_TASK_ztrssq( + INSERT_TASK_ztrssq( &options, uplo, diag, tempkm, tempkn, A(n, n), ldan, @@ -440,7 +440,7 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, for(m = n+1; m < A->mt; m++) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_zgessq( + INSERT_TASK_zgessq( &options, tempkm, tempkn, A(m, n), ldam, @@ -449,7 +449,7 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, } } /* - * MorseUpper + * ChamUpper */ else { /* Compute local maximum to each tile */ @@ -459,14 +459,14 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, ldam = BLKLDD(A, m); /* Zeroes my intermediate vectors */ for(n = m; n < A->nt; n++) { - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 2, + ChamUpperLower, 1, 2, 1., 0., VECNORMS_STEP1(m,n), 1); } /* Compute local norm of the diagonal tile */ - MORSE_TASK_ztrssq( + INSERT_TASK_ztrssq( &options, uplo, diag, tempkm, tempkn, A(m, m), ldam, @@ -474,7 +474,7 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, /* Compute local norm to each tile */ for(n = m+1; n < A->nt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zgessq( + INSERT_TASK_zgessq( &options, tempkm, tempkn, A(m, n), ldam, @@ -484,20 +484,20 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, } /* Initialize arrays */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 2, + ChamUpperLower, 1, 2, 1., 0., RESULT(0,0), 1); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { /* Compute accumulation of scl and ssq */ for(n = 0; n < minMNT; n++) { for(m = n; m < A->mt; m++) { - MORSE_TASK_dplssq( + INSERT_TASK_dplssq( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); @@ -505,13 +505,13 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, } } /* - * MorseUpper + * ChamUpper */ else { /* Compute accumulation of scl and ssq */ for(m = 0; m < minMNT; m++) { for(n = m; n < A->nt; n++) { - MORSE_TASK_dplssq( + INSERT_TASK_dplssq( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); @@ -520,33 +520,33 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, } /* Compute scl * sqrt(ssq) */ - MORSE_TASK_dplssq2( + INSERT_TASK_dplssq2( &options, RESULT(0,0)); /* Copy max norm in tiles to dispatch on every nodes */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); *result = *(double *)VECNORMS_STEP1->get_blkaddr(VECNORMS_STEP1, A->myrank / A->q, A->myrank % A->q ); - MORSE_Desc_Destroy( &(VECNORMS_STEP1) ); - MORSE_Desc_Destroy( &(RESULT) ); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP1) ); + CHAMELEON_Desc_Destroy( &(RESULT) ); break; /* - * MorseMaxNorm + * ChamMaxNorm */ - case MorseMaxNorm: + case ChamMaxNorm: default: /* Init workspace handle for the call to zlange but unused */ RUNTIME_options_ws_alloc( &options, 1, 0 ); @@ -554,23 +554,23 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, workm = chameleon_max( A->mt, A->p ); workn = chameleon_max( A->nt, A->q ); - MORSE_Desc_Create(&(VECNORMS_STEP1), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(VECNORMS_STEP1), NULL, ChamRealDouble, 1, 1, 1, workm, workn, 0, 0, workm, workn, A->p, A->q); - MORSE_Desc_Create(&(RESULT), NULL, MorseRealDouble, 1, 1, 1, + CHAMELEON_Desc_Create(&(RESULT), NULL, ChamRealDouble, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { /* Compute local maximum to each tile */ for(n = 0; n < minMNT; n++) { tempkm = n == A->mt-1 ? A->m-n*A->mb : A->mb; tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; ldan = BLKLDD(A, n); - MORSE_TASK_zlantr( + INSERT_TASK_zlantr( &options, - MorseMaxNorm, uplo, diag, + ChamMaxNorm, uplo, diag, tempkm, tempkn, A->nb, A(n, n), ldan, VECNORMS_STEP1(n, n)); @@ -578,16 +578,16 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, for(m = n+1; m < A->mt; m++) { tempkm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_zlange( + INSERT_TASK_zlange( &options, - MorseMaxNorm, tempkm, tempkn, A->nb, + ChamMaxNorm, tempkm, tempkn, A->nb, A(m, n), ldam, VECNORMS_STEP1(m, n)); } } } /* - * MorseUpper + * ChamUpper */ else { /* Compute local maximum to each tile */ @@ -596,18 +596,18 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, tempkn = m == A->nt-1 ? A->n-m*A->nb : A->nb; ldam = BLKLDD(A, m); - MORSE_TASK_zlantr( + INSERT_TASK_zlantr( &options, - MorseMaxNorm, uplo, diag, + ChamMaxNorm, uplo, diag, tempkm, tempkn, A->nb, A(m, m), ldam, VECNORMS_STEP1(m, m)); for(n = m+1; n < A->nt; n++) { tempkn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zlange( + INSERT_TASK_zlange( &options, - MorseMaxNorm, tempkm, tempkn, A->nb, + ChamMaxNorm, tempkm, tempkn, A->nb, A(m, n), ldam, VECNORMS_STEP1(m, n)); } @@ -615,20 +615,20 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, } /* Initialize RESULT array */ - MORSE_TASK_dlaset( + INSERT_TASK_dlaset( &options, - MorseUpperLower, 1, 1, + ChamUpperLower, 1, 1, 0., 0., RESULT(0,0), 1); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { /* Compute max norm between tiles */ for(n = 0; n < minMNT; n++) { for(m = n; m < A->mt; m++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); @@ -636,13 +636,13 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, } } /* - * MorseUpper + * ChamUpper */ else { /* Compute max norm between tiles */ for(m = 0; m < minMNT; m++) { for(n = m; n < A->nt; n++) { - MORSE_TASK_dlange_max( + INSERT_TASK_dlange_max( &options, VECNORMS_STEP1(m, n), RESULT(0,0)); @@ -653,21 +653,21 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, /* Copy max norm in tiles to dispatch on every nodes */ for(m = 0; m < A->p; m++) { for(n = 0; n < A->q; n++) { - MORSE_TASK_dlacpy( + INSERT_TASK_dlacpy( &options, - MorseUpperLower, 1, 1, 1, + ChamUpperLower, 1, 1, 1, RESULT(0,0), 1, VECNORMS_STEP1(m, n), 1 ); } } - MORSE_Desc_Flush( VECNORMS_STEP1, sequence ); - MORSE_Desc_Flush( RESULT, sequence ); - RUNTIME_sequence_wait(morse, sequence); + CHAMELEON_Desc_Flush( VECNORMS_STEP1, sequence ); + CHAMELEON_Desc_Flush( RESULT, sequence ); + RUNTIME_sequence_wait(chamctxt, sequence); *result = *(double *)VECNORMS_STEP1->get_blkaddr(VECNORMS_STEP1, A->myrank / A->q, A->myrank % A->q ); - MORSE_Desc_Destroy( &(VECNORMS_STEP1) ); - MORSE_Desc_Destroy( &(RESULT) ); + CHAMELEON_Desc_Destroy( &(VECNORMS_STEP1) ); + CHAMELEON_Desc_Destroy( &(RESULT) ); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzlascal.c b/compute/pzlascal.c index 4f4224a95bdf2dbaf83080355e569a46663e1ca4..de54e477ef86fa484e5b4a5cb79231991c96227e 100644 --- a/compute/pzlascal.c +++ b/compute/pzlascal.c @@ -23,70 +23,70 @@ /** * Parallel scale of a matrix A */ -void morse_pzlascal(MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzlascal(cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int tempmm, tempnn, tempmn, tempnm; int m, n; int ldam, ldan; int minmnt = chameleon_min(A->mt, A->nt); - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); switch(uplo) { - case MorseLower: + case ChamLower: for (n = 0; n < minmnt; n++) { tempnm = n == A->mt-1 ? A->m-n*A->mb : A->mb; tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; ldan = BLKLDD(A, n); - MORSE_TASK_zlascal( + INSERT_TASK_zlascal( &options, - MorseLower, tempnm, tempnn, A->mb, + ChamLower, tempnm, tempnn, A->mb, alpha, A(n, n), ldan); for (m = n+1; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-A->mb*m : A->nb; ldam = BLKLDD(A, m); - MORSE_TASK_zlascal( + INSERT_TASK_zlascal( &options, - MorseUpperLower, tempmm, tempnn, A->mb, + ChamUpperLower, tempmm, tempnn, A->mb, alpha, A(m, n), ldam); } } break; - case MorseUpper: + case ChamUpper: for (m = 0; m < minmnt; m++) { tempmm = m == A->mt-1 ? A->m-A->mb*m : A->nb; tempmn = m == A->nt-1 ? A->n-m*A->nb : A->nb; ldam = BLKLDD(A, m); - MORSE_TASK_zlascal( + INSERT_TASK_zlascal( &options, - MorseUpper, tempmm, tempmn, A->mb, + ChamUpper, tempmm, tempmn, A->mb, alpha, A(m, m), ldam); for (n = m+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zlascal( + INSERT_TASK_zlascal( &options, - MorseUpperLower, tempmm, tempnn, A->mb, + ChamUpperLower, tempmm, tempnn, A->mb, alpha, A(m, n), ldam); } } break; - case MorseUpperLower: + case ChamUpperLower: default: for (m = 0; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-A->mb*m : A->nb; @@ -95,12 +95,12 @@ void morse_pzlascal(MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_desc_t *A, for (n = 0; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zlascal( + INSERT_TASK_zlascal( &options, - MorseUpperLower, tempmm, tempnn, A->mb, + ChamUpperLower, tempmm, tempnn, A->mb, alpha, A(m, n), ldam); } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzlaset.c b/compute/pzlaset.c index 0ad8fd653da0d1375d6cb26c7ecfea2773796e35..f0a5f88a8d97f2b1f65a4a9d3e2c7976b4d34c2d 100644 --- a/compute/pzlaset.c +++ b/compute/pzlaset.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Mathieu Faverge * @author Emmanuel Agullo @@ -29,13 +29,13 @@ * Parallel initialization a 2-D array A to BETA on the diagonal and * ALPHA on the offdiagonals. */ -void morse_pzlaset(MORSE_enum uplo, - MORSE_Complex64_t alpha, MORSE_Complex64_t beta, - MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzlaset(cham_uplo_t uplo, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, + CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int i, j; int ldai, ldaj; @@ -43,41 +43,41 @@ void morse_pzlaset(MORSE_enum uplo, int tempjm, tempjn; int minmn = chameleon_min(A->mt, A->nt); - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (j = 0; j < minmn; j++){ tempjm = j == A->mt-1 ? A->m-j*A->mb : A->mb; tempjn = j == A->nt-1 ? A->n-j*A->nb : A->nb; ldaj = BLKLDD(A, j); - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempjm, tempjn, alpha, beta, + ChamLower, tempjm, tempjn, alpha, beta, A(j, j), ldaj); for (i = j+1; i < A->mt; i++){ tempim = i == A->mt-1 ? A->m-i*A->mb : A->mb; ldai = BLKLDD(A, i); - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpperLower, tempim, tempjn, alpha, alpha, + ChamUpperLower, tempim, tempjn, alpha, alpha, A(i, j), ldai); } } } - else if (uplo == MorseUpper) { + else if (uplo == ChamUpper) { for (j = 1; j < A->nt; j++){ tempjn = j == A->nt-1 ? A->n-j*A->nb : A->nb; for (i = 0; i < chameleon_min(j, A->mt); i++){ tempim = i == A->mt-1 ? A->m-i*A->mb : A->mb; ldai = BLKLDD(A, i); - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpperLower, tempim, tempjn, alpha, alpha, + ChamUpperLower, tempim, tempjn, alpha, alpha, A(i, j), ldai); } } @@ -85,9 +85,9 @@ void morse_pzlaset(MORSE_enum uplo, tempjm = j == A->mt-1 ? A->m-j*A->mb : A->mb; tempjn = j == A->nt-1 ? A->n-j*A->nb : A->nb; ldaj = BLKLDD(A, j); - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempjm, tempjn, alpha, beta, + ChamUpper, tempjm, tempjn, alpha, beta, A(j, j), ldaj); } } @@ -97,9 +97,9 @@ void morse_pzlaset(MORSE_enum uplo, ldai = BLKLDD(A, i); for (j = 0; j < A->nt; j++){ tempjn = j == A->nt-1 ? A->n-j*A->nb : A->nb; - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpperLower, tempim, tempjn, alpha, alpha, + ChamUpperLower, tempim, tempjn, alpha, alpha, A(i, j), ldai); } } @@ -107,11 +107,11 @@ void morse_pzlaset(MORSE_enum uplo, tempjm = j == A->mt-1 ? A->m-j*A->mb : A->mb; tempjn = j == A->nt-1 ? A->n-j*A->nb : A->nb; ldaj = BLKLDD(A, j); - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpperLower, tempjm, tempjn, alpha, beta, + ChamUpperLower, tempjm, tempjn, alpha, beta, A(j, j), ldaj); } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzlaset2.c b/compute/pzlaset2.c index f39e3497589c1039160a8b7b65381fa7a9b01996..80a836a78fe61fe563241a429653ead9d2b09b6b 100644 --- a/compute/pzlaset2.c +++ b/compute/pzlaset2.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Mathieu Faverge * @author Emmanuel Agullo @@ -29,12 +29,12 @@ * Parallel initializztion a 2-D array A to * ALPHA on the offdiagonals. */ -void morse_pzlaset2(MORSE_enum uplo, MORSE_Complex64_t alpha, - MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzlaset2(cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, + CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int i, j; int ldai, ldaj; @@ -42,41 +42,41 @@ void morse_pzlaset2(MORSE_enum uplo, MORSE_Complex64_t alpha, int tempjm, tempjn; int minmn = chameleon_min(A->mt, A->nt); - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (j = 0; j < minmn; j++){ tempjm = j == A->mt-1 ? A->m-j*A->mb : A->mb; tempjn = j == A->nt-1 ? A->n-j*A->nb : A->nb; ldaj = BLKLDD(A, j); - MORSE_TASK_zlaset2( + INSERT_TASK_zlaset2( &options, - MorseLower, tempjm, tempjn, alpha, + ChamLower, tempjm, tempjn, alpha, A(j, j), ldaj); for (i = j+1; i < A->mt; i++){ tempim = i == A->mt-1 ? A->m-i*A->mb : A->mb; ldai = BLKLDD(A, i); - MORSE_TASK_zlaset2( + INSERT_TASK_zlaset2( &options, - MorseUpperLower, tempim, tempjn, alpha, + ChamUpperLower, tempim, tempjn, alpha, A(i, j), ldai); } } } - else if (uplo == MorseUpper) { + else if (uplo == ChamUpper) { for (j = 1; j < A->nt; j++){ tempjn = j == A->nt-1 ? A->n-j*A->nb : A->nb; for (i = 0; i < chameleon_min(j, A->mt); i++){ tempim = i == A->mt-1 ? A->m-i*A->mb : A->mb; ldai = BLKLDD(A, i); - MORSE_TASK_zlaset2( + INSERT_TASK_zlaset2( &options, - MorseUpperLower, tempim, tempjn, alpha, + ChamUpperLower, tempim, tempjn, alpha, A(i, j), ldai); } } @@ -84,9 +84,9 @@ void morse_pzlaset2(MORSE_enum uplo, MORSE_Complex64_t alpha, tempjm = j == A->mt-1 ? A->m-j*A->mb : A->mb; tempjn = j == A->nt-1 ? A->n-j*A->nb : A->nb; ldaj = BLKLDD(A, j); - MORSE_TASK_zlaset2( + INSERT_TASK_zlaset2( &options, - MorseUpper, tempjm, tempjn, alpha, + ChamUpper, tempjm, tempjn, alpha, A(j, j), ldaj); } } @@ -96,12 +96,12 @@ void morse_pzlaset2(MORSE_enum uplo, MORSE_Complex64_t alpha, ldai = BLKLDD(A, i); for (j = 0; j < A->nt; j++){ tempjn = j == A->nt-1 ? A->n-j*A->nb : A->nb; - MORSE_TASK_zlaset2( + INSERT_TASK_zlaset2( &options, - MorseUpperLower, tempim, tempjn, alpha, + ChamUpperLower, tempim, tempjn, alpha, A(i, j), ldai); } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzlauum.c b/compute/pzlauum.c index d525a9e8bc176d09b002f1564e2f9b7220841ac1..89ea4b72d7c2fa8ff1e0007bb06024e702164850 100644 --- a/compute/pzlauum.c +++ b/compute/pzlauum.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -29,41 +29,41 @@ /** * Parallel UU' or L'L operation - dynamic scheduling */ -void morse_pzlauum(MORSE_enum uplo, MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzlauum(cham_uplo_t uplo, CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int k, m, n; int ldak, ldam, ldan; int tempkm, tempkn; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (k = 0; k < A->mt; k++) { tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); for(n = 0; n < k; n++) { ldan = BLKLDD(A, n); - MORSE_TASK_zherk( + INSERT_TASK_zherk( &options, - uplo, MorseConjTrans, + uplo, ChamConjTrans, A->mb, tempkm, A->mb, 1.0, A(k, n), ldak, 1.0, A(n, n), ldan); for(m = n+1; m < k; m++) { ldam = BLKLDD(A, m); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseConjTrans, MorseNoTrans, + ChamConjTrans, ChamNoTrans, A->mb, A->nb, tempkm, A->mb, 1.0, A(k, m), ldak, A(k, n), ldak, @@ -72,22 +72,22 @@ void morse_pzlauum(MORSE_enum uplo, MORSE_desc_t *A, } for (n = 0; n < k; n++) { RUNTIME_data_flush( sequence, A(k, n) ); - MORSE_TASK_ztrmm( + INSERT_TASK_ztrmm( &options, - MorseLeft, uplo, MorseConjTrans, MorseNonUnit, + ChamLeft, uplo, ChamConjTrans, ChamNonUnit, tempkm, A->nb, A->mb, 1.0, A(k, k), ldak, A(k, n), ldak); } RUNTIME_data_flush( sequence, A(k, k) ); - MORSE_TASK_zlauum( + INSERT_TASK_zlauum( &options, uplo, tempkm, A->mb, A(k, k), ldak); } } /* - * MorseUpper + * ChamUpper */ else { for (k = 0; k < A->mt; k++) { @@ -96,18 +96,18 @@ void morse_pzlauum(MORSE_enum uplo, MORSE_desc_t *A, for (m = 0; m < k; m++) { ldam = BLKLDD(A, m); - MORSE_TASK_zherk( + INSERT_TASK_zherk( &options, - uplo, MorseNoTrans, + uplo, ChamNoTrans, A->mb, tempkn, A->mb, 1.0, A(m, k), ldam, 1.0, A(m, m), ldam); for (n = m+1; n < k; n++){ ldan = BLKLDD(A, n); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseConjTrans, + ChamNoTrans, ChamConjTrans, A->mb, A->nb, tempkn, A->mb, 1.0, A(m, k), ldam, A(n, k), ldan, @@ -117,19 +117,19 @@ void morse_pzlauum(MORSE_enum uplo, MORSE_desc_t *A, for (m = 0; m < k; m++) { ldam = BLKLDD(A, m); RUNTIME_data_flush( sequence, A(m, k) ); - MORSE_TASK_ztrmm( + INSERT_TASK_ztrmm( &options, - MorseRight, uplo, MorseConjTrans, MorseNonUnit, + ChamRight, uplo, ChamConjTrans, ChamNonUnit, A->mb, tempkn, A->mb, 1.0, A(k, k), ldak, A(m, k), ldam); } RUNTIME_data_flush( sequence, A(k, k) ); - MORSE_TASK_zlauum( + INSERT_TASK_zlauum( &options, uplo, tempkn, A->mb, A(k, k), ldak); } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzplghe.c b/compute/pzplghe.c index 2b9233945ed1dce4c196f958ddeb0f6b48197a68..d569c1045c4073000d8470eadfa6461a96c89dad 100644 --- a/compute/pzplghe.c +++ b/compute/pzplghe.c @@ -14,7 +14,7 @@ * @version 1.0.0 * @comment This file is a copy from pzplghe.c * wich has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -28,69 +28,69 @@ #define A(m,n) A, m, n /** - * morse_pzplghe - Generate a random hermitian (positive definite if 'bump' is large enough) half-matrix by tiles. + * chameleon_pzplghe - Generate a random hermitian (positive definite if 'bump' is large enough) half-matrix by tiles. */ -void morse_pzplghe( double bump, MORSE_enum uplo, MORSE_desc_t *A, +void chameleon_pzplghe( double bump, cham_uplo_t uplo, CHAM_desc_t *A, unsigned long long int seed, - MORSE_sequence_t *sequence, MORSE_request_t *request ) + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int m, n; int ldam; int tempmm, tempnn; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); for (m = 0; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (n = 0; n <= m; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; options.priority = m + n; - MORSE_TASK_zplghe( + INSERT_TASK_zplghe( &options, bump, tempmm, tempnn, A(m, n), ldam, A->m, m*A->mb, n*A->nb, seed ); } } /* - * MorseUpper + * ChamUpper */ - else if (uplo == MorseUpper) { + else if (uplo == ChamUpper) { for (n = m; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; options.priority = m + n; - MORSE_TASK_zplghe( + INSERT_TASK_zplghe( &options, bump, tempmm, tempnn, A(m, n), ldam, A->m, m*A->mb, n*A->nb, seed ); } } /* - * MorseUpperLower + * ChamUpperLower */ else { for (n = 0; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zplghe( + INSERT_TASK_zplghe( &options, bump, tempmm, tempnn, A(m, n), ldam, A->m, m*A->mb, n*A->nb, seed ); } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzplgsy.c b/compute/pzplgsy.c index ed11f6756721a046911dce6d278107a68f375415..3c249177693cc314dcfc109e1a5d9bef5613ac82 100644 --- a/compute/pzplgsy.c +++ b/compute/pzplgsy.c @@ -14,7 +14,7 @@ * @version 1.0.0 * @comment This file is a copy of pzplgsy.c, wich has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -28,69 +28,69 @@ #define A(m,n) A, m, n /** - * morse_pzplgsy - Generate a random symmetric (positive definite if 'bump' is large enough) half-matrix by tiles. + * chameleon_pzplgsy - Generate a random symmetric (positive definite if 'bump' is large enough) half-matrix by tiles. */ -void morse_pzplgsy( MORSE_Complex64_t bump, MORSE_enum uplo, MORSE_desc_t *A, +void chameleon_pzplgsy( CHAMELEON_Complex64_t bump, cham_uplo_t uplo, CHAM_desc_t *A, unsigned long long int seed, - MORSE_sequence_t *sequence, MORSE_request_t *request ) + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int m, n; int ldam; int tempmm, tempnn; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); for (m = 0; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (n = 0; n <= m; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; options.priority = m + n; - MORSE_TASK_zplgsy( + INSERT_TASK_zplgsy( &options, bump, tempmm, tempnn, A(m, n), ldam, A->m, m*A->mb, n*A->nb, seed ); } } /* - * MorseUpper + * ChamUpper */ - else if (uplo == MorseUpper) { + else if (uplo == ChamUpper) { for (n = m; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; options.priority = m + n; - MORSE_TASK_zplgsy( + INSERT_TASK_zplgsy( &options, bump, tempmm, tempnn, A(m, n), ldam, A->m, m*A->mb, n*A->nb, seed ); } } /* - * MorseUpperLower + * ChamUpperLower */ else { for (n = 0; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zplgsy( + INSERT_TASK_zplgsy( &options, bump, tempmm, tempnn, A(m, n), ldam, A->m, m*A->mb, n*A->nb, seed ); } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzplrnt.c b/compute/pzplrnt.c index d43f036f86b5c78f196e3b7e6343766e9e6400fc..68f2fb72563c53fc64bec1e5e68bb7477222b307 100644 --- a/compute/pzplrnt.c +++ b/compute/pzplrnt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -25,22 +25,22 @@ #define A(m, n) A, m, n /** - * morse_pzplghe - Generate a random matrix by tiles. + * chameleon_pzplghe - Generate a random matrix by tiles. */ -void morse_pzplrnt( MORSE_desc_t *A, unsigned long long int seed, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +void chameleon_pzplrnt( CHAM_desc_t *A, unsigned long long int seed, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int m, n; int ldam; int tempmm, tempnn; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); for (m = 0; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; @@ -49,11 +49,11 @@ void morse_pzplrnt( MORSE_desc_t *A, unsigned long long int seed, for (n = 0; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zplrnt( + INSERT_TASK_zplrnt( &options, tempmm, tempnn, A(m, n), ldam, A->m, m*A->mb, n*A->nb, seed ); } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzpotrf.c b/compute/pzpotrf.c index ad4283dacf541a3e0563df635799396e221edee6..35a506b99e7bc59acdf3040b6e61606161da47ad 100644 --- a/compute/pzpotrf.c +++ b/compute/pzpotrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Hatem Ltaief * @author Mathieu Faverge @@ -30,41 +30,41 @@ /** * Parallel tile Cholesky factorization - dynamic scheduling */ -void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzpotrf(cham_uplo_t uplo, CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int k, m, n; int ldak, ldam, ldan; int tempkm, tempmm, tempnn; size_t ws_host = 0; - MORSE_Complex64_t zone = (MORSE_Complex64_t) 1.0; - MORSE_Complex64_t mzone = (MORSE_Complex64_t)-1.0; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t) 1.0; + CHAMELEON_Complex64_t mzone = (CHAMELEON_Complex64_t)-1.0; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); RUNTIME_options_ws_alloc( &options, 0, ws_host ); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (k = 0; k < A->mt; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); options.priority = 2*A->mt - 2*k; - MORSE_TASK_zpotrf( + INSERT_TASK_zpotrf( &options, - MorseLower, tempkm, A->mb, + ChamLower, tempkm, A->mb, A(k, k), ldak, A->nb*k); for (m = k+1; m < A->mt; m++) { @@ -72,9 +72,9 @@ void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A, ldam = BLKLDD(A, m); options.priority = 2*A->mt - 2*k - m; - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseRight, MorseLower, MorseConjTrans, MorseNonUnit, + ChamRight, ChamLower, ChamConjTrans, ChamNonUnit, tempmm, A->mb, A->mb, zone, A(k, k), ldak, A(m, k), ldam); @@ -86,9 +86,9 @@ void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A, ldan = BLKLDD(A, n); options.priority = 2*A->mt - 2*k - n; - MORSE_TASK_zherk( + INSERT_TASK_zherk( &options, - MorseLower, MorseNoTrans, + ChamLower, ChamNoTrans, tempnn, A->nb, A->mb, -1.0, A(n, k), ldan, 1.0, A(n, n), ldan); @@ -98,9 +98,9 @@ void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A, ldam = BLKLDD(A, m); options.priority = 2*A->mt - 2*k - n - m; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseConjTrans, + ChamNoTrans, ChamConjTrans, tempmm, tempnn, A->mb, A->mb, mzone, A(m, k), ldam, A(n, k), ldan, @@ -108,23 +108,23 @@ void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A, } RUNTIME_data_flush( sequence, A(n, k) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } /* - * MorseUpper + * ChamUpper */ else { for (k = 0; k < A->nt; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); options.priority = 2*A->nt - 2*k; - MORSE_TASK_zpotrf( + INSERT_TASK_zpotrf( &options, - MorseUpper, + ChamUpper, tempkm, A->mb, A(k, k), ldak, A->nb*k); @@ -132,9 +132,9 @@ void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A, tempnn = n == A->nt-1 ? A->n - n*A->nb : A->nb; options.priority = 2*A->nt - 2*k - n; - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseLeft, MorseUpper, MorseConjTrans, MorseNonUnit, + ChamLeft, ChamUpper, ChamConjTrans, ChamNonUnit, A->mb, tempnn, A->mb, zone, A(k, k), ldak, A(k, n), ldak); @@ -146,9 +146,9 @@ void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A, ldam = BLKLDD(A, m); options.priority = 2*A->nt - 2*k - m; - MORSE_TASK_zherk( + INSERT_TASK_zherk( &options, - MorseUpper, MorseConjTrans, + ChamUpper, ChamConjTrans, tempmm, A->mb, A->mb, -1.0, A(k, m), ldak, 1.0, A(m, m), ldam); @@ -157,9 +157,9 @@ void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A, tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; options.priority = 2*A->nt - 2*k - n - m; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseConjTrans, MorseNoTrans, + ChamConjTrans, ChamNoTrans, tempmm, tempnn, A->mb, A->mb, mzone, A(k, m), ldak, A(k, n), ldak, @@ -168,9 +168,9 @@ void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A, RUNTIME_data_flush( sequence, A(k, m) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzpotrimm.c b/compute/pzpotrimm.c index 680a6e79d48f3b88d7f86027dd9b1859bcf40df0..4b7861b7cc1c72cff8909c14921bed77427f13dc 100644 --- a/compute/pzpotrimm.c +++ b/compute/pzpotrimm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Mathieu Faverge * @author Ali M Charara @@ -29,53 +29,53 @@ /** * Parallel tile Cholesky factorization - dynamic scheduling */ -void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzpotrimm(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int k, m, n; int ldbm, ldcm; int ldak, ldam, ldan; int tempkm, tempmm, tempnn, tempkn; - MORSE_Complex64_t alpha = (MORSE_Complex64_t) 1.0; - MORSE_Complex64_t beta = (MORSE_Complex64_t) 0.0; - MORSE_Complex64_t zbeta; - MORSE_Complex64_t zone = (MORSE_Complex64_t) 1.0; - MORSE_Complex64_t mzone = (MORSE_Complex64_t)-1.0; + CHAMELEON_Complex64_t alpha = (CHAMELEON_Complex64_t) 1.0; + CHAMELEON_Complex64_t beta = (CHAMELEON_Complex64_t) 0.0; + CHAMELEON_Complex64_t zbeta; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t) 1.0; + CHAMELEON_Complex64_t mzone = (CHAMELEON_Complex64_t)-1.0; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { /* * ZPOTRF */ for (k = 0; k < A->mt; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); - MORSE_TASK_zpotrf( + INSERT_TASK_zpotrf( &options, - MorseLower, tempkm, A->mb, + ChamLower, tempkm, A->mb, A(k, k), ldak, A->nb*k); for (m = k+1; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseRight, MorseLower, MorseConjTrans, MorseNonUnit, + ChamRight, ChamLower, ChamConjTrans, ChamNonUnit, tempmm, A->mb, A->mb, zone, A(k, k), ldak, A(m, k), ldam); @@ -85,9 +85,9 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; ldan = BLKLDD(A, n); - MORSE_TASK_zherk( + INSERT_TASK_zherk( &options, - MorseLower, MorseNoTrans, + ChamLower, ChamNoTrans, tempnn, A->nb, A->mb, -1.0, A(n, k), ldan, 1.0, A(n, n), ldan); @@ -95,9 +95,9 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de for (m = n+1; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m - m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseConjTrans, + ChamNoTrans, ChamConjTrans, tempmm, tempnn, A->mb, A->mb, mzone, A(m, k), ldam, A(n, k), ldan, @@ -106,22 +106,22 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de RUNTIME_data_flush( sequence, A(n, k) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } /* * ZTRTRI */ for (k = 0; k < A->nt; k++) { - RUNTIME_iteration_push(morse, A->nt + k); + RUNTIME_iteration_push(chamctxt, A->nt + k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); for (m = k+1; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseRight, uplo, MorseNoTrans, MorseNonUnit, + ChamRight, uplo, ChamNoTrans, ChamNonUnit, tempmm, tempkn, A->mb, mzone, A(k, k), ldak, A(m, k), ldam); @@ -130,9 +130,9 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); for (n = 0; n < k; n++) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, A->nb, tempkn, A->mb, zone, A(m, k), ldam, A(k, n), ldak, @@ -142,44 +142,44 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de } for (n = 0; n < k; n++) { RUNTIME_data_flush( sequence, A(k, n) ); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseLeft, uplo, MorseNoTrans, MorseNonUnit, + ChamLeft, uplo, ChamNoTrans, ChamNonUnit, tempkn, A->nb, A->mb, zone, A(k, k), ldak, A(k, n), ldak); } RUNTIME_data_flush( sequence, A(k, k) ); - MORSE_TASK_ztrtri( + INSERT_TASK_ztrtri( &options, - uplo, MorseNonUnit, + uplo, ChamNonUnit, tempkn, A->mb, A(k, k), ldak, A->nb*k); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } /* * ZLAUUM */ for (k = 0; k < A->mt; k++) { - RUNTIME_iteration_push(morse, 2*A->nt + k); + RUNTIME_iteration_push(chamctxt, 2*A->nt + k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); for(n = 0; n < k; n++) { ldan = BLKLDD(A, n); - MORSE_TASK_zherk( + INSERT_TASK_zherk( &options, - uplo, MorseConjTrans, + uplo, ChamConjTrans, A->mb, tempkm, A->mb, 1.0, A(k, n), ldak, 1.0, A(n, n), ldan); for(m = n+1; m < k; m++) { ldam = BLKLDD(A, m); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseConjTrans, MorseNoTrans, + ChamConjTrans, ChamNoTrans, A->mb, A->nb, tempkm, A->mb, 1.0, A(k, m), ldak, A(k, n), ldak, @@ -188,26 +188,26 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de } for (n = 0; n < k; n++) { RUNTIME_data_flush( sequence, A(k, n) ); - MORSE_TASK_ztrmm( + INSERT_TASK_ztrmm( &options, - MorseLeft, uplo, MorseConjTrans, MorseNonUnit, + ChamLeft, uplo, ChamConjTrans, ChamNonUnit, tempkm, A->nb, A->mb, 1.0, A(k, k), ldak, A(k, n), ldak); } RUNTIME_data_flush( sequence, A(k, k) ); - MORSE_TASK_zlauum( + INSERT_TASK_zlauum( &options, uplo, tempkm, A->mb, A(k, k), ldak); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } /* * ZSYMM Right / Lower */ for (k = 0; k < C->nt; k++) { - RUNTIME_iteration_push(morse, 3*A->nt + k); + RUNTIME_iteration_push(chamctxt, 3*A->nt + k); tempkn = k == C->nt-1 ? C->n-k*C->nb : C->nb; ldak = BLKLDD(A, k); @@ -223,9 +223,9 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de ldan = BLKLDD(A, n); if (k < n) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseTrans, + ChamNoTrans, ChamTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, /* ldbm * K */ A(n, k), ldan, /* ldan * K */ @@ -233,18 +233,18 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de } else { if (k == n) { - MORSE_TASK_zsymm( + INSERT_TASK_zsymm( &options, - MorseRight, uplo, + ChamRight, uplo, tempmm, tempnn, A->mb, alpha, A(k, k), ldak, /* ldak * Y */ B(m, k), ldbm, /* ldbm * Y */ zbeta, C(m, n), ldcm); /* ldcm * Y */ } else { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, /* ldbm * K */ A(k, n), ldak, /* ldak * Y */ @@ -258,32 +258,32 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de RUNTIME_data_flush( sequence, A(k, n) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } /* - * MorseUpper + * ChamUpper */ else { /* * ZPOTRF */ for (k = 0; k < A->nt; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); - MORSE_TASK_zpotrf( + INSERT_TASK_zpotrf( &options, - MorseUpper, + ChamUpper, tempkm, A->mb, A(k, k), ldak, A->nb*k); for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n - n*A->nb : A->nb; - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseLeft, MorseUpper, MorseConjTrans, MorseNonUnit, + ChamLeft, ChamUpper, ChamConjTrans, ChamNonUnit, A->mb, tempnn, A->mb, zone, A(k, k), ldak, A(k, n), ldak); @@ -294,9 +294,9 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de tempmm = m == A->mt-1 ? A->m - m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_zherk( + INSERT_TASK_zherk( &options, - MorseUpper, MorseConjTrans, + ChamUpper, ChamConjTrans, tempmm, A->mb, A->mb, -1.0, A(k, m), ldak, 1.0, A(m, m), ldam); @@ -304,9 +304,9 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de for (n = m+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseConjTrans, MorseNoTrans, + ChamConjTrans, ChamNoTrans, tempmm, tempnn, A->mb, A->mb, mzone, A(k, m), ldak, A(k, n), ldak, @@ -315,21 +315,21 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de RUNTIME_data_flush( sequence, A(k, m) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } /* * ZTRTRI */ for (k = 0; k < A->mt; k++) { - RUNTIME_iteration_push(morse, A->nt + k); + RUNTIME_iteration_push(chamctxt, A->nt + k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseLeft, uplo, MorseNoTrans, MorseNonUnit, + ChamLeft, uplo, ChamNoTrans, ChamNonUnit, tempkm, tempnn, A->mb, mzone, A(k, k), ldak, A(k, n), ldak); @@ -338,9 +338,9 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; for (m = 0; m < k; m++) { ldam = BLKLDD(A, m); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, A->mb, tempnn, tempkm, A->mb, zone, A(m, k), ldam, A(k, n), ldak, @@ -351,45 +351,45 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de for (m = 0; m < k; m++) { ldam = BLKLDD(A, m); RUNTIME_data_flush( sequence, A(m, k) ); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseRight, uplo, MorseNoTrans, MorseNonUnit, + ChamRight, uplo, ChamNoTrans, ChamNonUnit, A->mb, tempkm, A->mb, zone, A(k, k), ldak, A(m, k), ldam); } RUNTIME_data_flush( sequence, A(k, k) ); - MORSE_TASK_ztrtri( + INSERT_TASK_ztrtri( &options, - uplo, MorseNonUnit, + uplo, ChamNonUnit, tempkm, A->mb, A(k, k), ldak, A->mb*k); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } /* * ZLAUUM */ for (k = 0; k < A->mt; k++) { - RUNTIME_iteration_push(morse, 2*A->nt + k); + RUNTIME_iteration_push(chamctxt, 2*A->nt + k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); for (m = 0; m < k; m++) { ldam = BLKLDD(A, m); - MORSE_TASK_zherk( + INSERT_TASK_zherk( &options, - uplo, MorseNoTrans, + uplo, ChamNoTrans, A->mb, tempkn, A->mb, 1.0, A(m, k), ldam, 1.0, A(m, m), ldam); for (n = m+1; n < k; n++){ ldan = BLKLDD(A, n); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseConjTrans, + ChamNoTrans, ChamConjTrans, A->mb, A->nb, tempkn, A->mb, 1.0, A(m, k), ldam, A(n, k), ldan, @@ -399,26 +399,26 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de for (m = 0; m < k; m++) { ldam = BLKLDD(A, m); RUNTIME_data_flush( sequence, A(m, k) ); - MORSE_TASK_ztrmm( + INSERT_TASK_ztrmm( &options, - MorseRight, uplo, MorseConjTrans, MorseNonUnit, + ChamRight, uplo, ChamConjTrans, ChamNonUnit, A->mb, tempkn, A->mb, 1.0, A(k, k), ldak, A(m, k), ldam); } RUNTIME_data_flush( sequence, A(k, k) ); - MORSE_TASK_zlauum( + INSERT_TASK_zlauum( &options, uplo, tempkn, A->mb, A(k, k), ldak); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } /* * ZSYMM Right / Upper */ for (k = 0; k < C->nt; k++) { - RUNTIME_iteration_push(morse, 3*A->nt + k); + RUNTIME_iteration_push(chamctxt, 3*A->nt + k); tempkn = k == C->nt-1 ? C->n-k*C->nb : C->nb; ldak = BLKLDD(A, k); @@ -434,9 +434,9 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de ldan = BLKLDD(A, n); if (k < n) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, /* ldbm * K */ A(k, n), ldak, /* ldak * Y */ @@ -444,18 +444,18 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de } else { if (k == n) { - MORSE_TASK_zsymm( + INSERT_TASK_zsymm( &options, - MorseRight, uplo, + ChamRight, uplo, tempmm, tempnn, A->mb, alpha, A(k, k), ldak, /* ldak * Y */ B(m, k), ldbm, /* ldbm * Y */ zbeta, C(m, n), ldcm); /* ldcm * Y */ } else { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseTrans, + ChamNoTrans, ChamTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, /* ldbm * K */ A(n, k), ldan, /* ldan * K */ @@ -469,9 +469,9 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de RUNTIME_data_flush( sequence, A(m, k) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzsymm.c b/compute/pzsymm.c index 0af835f5d3dcdae98848edfc3b79967ae1f56e8e..c534665f5bb51acdbf6120fbc284a6cdb26fb3cb 100644 --- a/compute/pzsymm.c +++ b/compute/pzsymm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -29,30 +29,30 @@ /** * Parallel tile symmetric matrix-matrix multiplication - dynamic scheduling */ -void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_Complex64_t beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzsymm(cham_side_t side, cham_uplo_t uplo, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int k, m, n; int ldak, ldam, ldan, ldbk, ldbm, ldcm; int tempmm, tempnn, tempkn, tempkm; - MORSE_Complex64_t zbeta; - MORSE_Complex64_t zone = (MORSE_Complex64_t)1.0; + CHAMELEON_Complex64_t zbeta; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t)1.0; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); /* - * MorseLeft + * ChamLeft */ - if (side == MorseLeft) { + if (side == ChamLeft) { for (k = 0; k < C->mt; k++) { tempkm = k == C->mt-1 ? C->m-k*C->mb : C->mb; ldak = BLKLDD(A, k); @@ -68,13 +68,13 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, ldcm = BLKLDD(C, m); /* - * MorseLeft / MorseLower + * ChamLeft / ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { if (k < m) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, A(m, k), ldam, B(k, n), ldbk, @@ -82,7 +82,7 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, } else { if (k == m) { - MORSE_TASK_zsymm( + INSERT_TASK_zsymm( &options, side, uplo, tempmm, tempnn, A->mb, @@ -91,9 +91,9 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, zbeta, C(m, n), ldcm); } else { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseTrans, MorseNoTrans, + ChamTrans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, A(k, m), ldak, B(k, n), ldbk, @@ -102,13 +102,13 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseLeft / MorseUpper + * ChamLeft / ChamUpper */ else { if (k < m) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseTrans, MorseNoTrans, + ChamTrans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, A(k, m), ldak, B(k, n), ldbk, @@ -116,7 +116,7 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, } else { if (k == m) { - MORSE_TASK_zsymm( + INSERT_TASK_zsymm( &options, side, uplo, tempmm, tempnn, A->mb, @@ -125,9 +125,9 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, zbeta, C(m, n), ldcm); } else { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, A(m, k), ldam, B(k, n), ldbk, @@ -138,7 +138,7 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, } RUNTIME_data_flush( sequence, B(k, n) ); } - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (n = 0; n <= k; n++) { RUNTIME_data_flush( sequence, A(k, n) ); } @@ -151,7 +151,7 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseRight + * ChamRight */ else { for (k = 0; k < C->nt; k++) { @@ -169,13 +169,13 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, ldan = BLKLDD(A, n); /* - * MorseRight / MorseLower + * ChamRight / ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { if (k < n) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseTrans, + ChamNoTrans, ChamTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, A(n, k), ldan, @@ -183,18 +183,18 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, } else { if (k == n) { - MORSE_TASK_zsymm( + INSERT_TASK_zsymm( &options, - MorseRight, uplo, + ChamRight, uplo, tempmm, tempnn, A->mb, alpha, A(k, k), ldak, B(m, k), ldbm, zbeta, C(m, n), ldcm); } else { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, A(k, n), ldak, @@ -203,13 +203,13 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseRight / MorseUpper + * ChamRight / ChamUpper */ else { if (k < n) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, A(k, n), ldak, @@ -217,18 +217,18 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, } else { if (k == n) { - MORSE_TASK_zsymm( + INSERT_TASK_zsymm( &options, - MorseRight, uplo, + ChamRight, uplo, tempmm, tempnn, A->mb, alpha, A(k, k), ldak, B(m, k), ldbm, zbeta, C(m, n), ldcm); } else { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseTrans, + ChamNoTrans, ChamTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, A(n, k), ldan, @@ -239,7 +239,7 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, } RUNTIME_data_flush( sequence, B(m, k) ); } - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (n = 0; n <= k; n++) { RUNTIME_data_flush( sequence, A(k, n) ); } @@ -251,5 +251,5 @@ void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzsyr2k.c b/compute/pzsyr2k.c index f37e72721b9d4f7752d8656703b5257ac33229f1..22a8ededb10bc382da57477b3dd439f6808f3b0a 100644 --- a/compute/pzsyr2k.c +++ b/compute/pzsyr2k.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -29,26 +29,26 @@ /** * Parallel tile Hermitian rank-k update - dynamic scheduling */ -void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_Complex64_t beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzsyr2k(cham_uplo_t uplo, cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int m, n, k; int ldak, ldam, ldan, ldcm, ldcn; int ldbk, ldbm, ldbn; int tempnn, tempmm, tempkn, tempkm; - MORSE_Complex64_t zone = (MORSE_Complex64_t)1.0; - MORSE_Complex64_t zbeta; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t)1.0; + CHAMELEON_Complex64_t zbeta; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); for (n = 0; n < C->nt; n++) { tempnn = n == C->nt-1 ? C->n-n*C->nb : C->nb; @@ -56,13 +56,13 @@ void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, ldbn = BLKLDD(B, n); ldcn = BLKLDD(C, n); /* - * MorseNoTrans + * ChamNoTrans */ - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; zbeta = k == 0 ? beta : zone; - MORSE_TASK_zsyr2k( + INSERT_TASK_zsyr2k( &options, uplo, trans, tempnn, tempkn, A->mb, @@ -71,9 +71,9 @@ void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, zbeta, C(n, n), ldcn); /* ldc * N */ } /* - * MorseNoTrans / MorseLower + * ChamNoTrans / ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (m = n+1; m < C->mt; m++) { tempmm = m == C->mt-1 ? C->m-m*C->mb : C->mb; ldam = BLKLDD(A, m); @@ -82,17 +82,17 @@ void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; zbeta = k == 0 ? beta : zone; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseTrans, + trans, ChamTrans, tempmm, tempnn, tempkn, A->mb, alpha, A(m, k), ldam, /* ldam * K */ B(n, k), ldbn, /* ldan * K */ zbeta, C(m, n), ldcm); /* ldc * N */ - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseTrans, + trans, ChamTrans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, /* ldam * K */ A(n, k), ldan, /* ldan * K */ @@ -101,7 +101,7 @@ void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, } } /* - * MorseNoTrans / MorseUpper + * ChamNoTrans / ChamUpper */ else { for (m = n+1; m < C->mt; m++) { @@ -111,17 +111,17 @@ void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; zbeta = k == 0 ? beta : zone; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseTrans, + trans, ChamTrans, tempnn, tempmm, tempkn, A->mb, alpha, A(n, k), ldan, /* ldan * K */ B(m, k), ldbm, /* ldam * M */ zbeta, C(n, m), ldcn); /* ldc * M */ - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseTrans, + trans, ChamTrans, tempnn, tempmm, tempkn, A->mb, alpha, B(n, k), ldan, /* ldan * K */ A(m, k), ldam, /* ldam * M */ @@ -131,7 +131,7 @@ void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, } } /* - * Morse[Conj]Trans + * Cham[Conj]Trans */ else { for (k = 0; k < A->mt; k++) { @@ -139,7 +139,7 @@ void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, ldak = BLKLDD(A, k); ldbk = BLKLDD(B, k); zbeta = k == 0 ? beta : zone; - MORSE_TASK_zsyr2k( + INSERT_TASK_zsyr2k( &options, uplo, trans, tempnn, tempkm, A->mb, @@ -148,9 +148,9 @@ void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, zbeta, C(n, n), ldcn); /* ldc * N */ } /* - * Morse[Conj]Trans / MorseLower + * Cham[Conj]Trans / ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (m = n+1; m < C->mt; m++) { tempmm = m == C->mt-1 ? C->m-m*C->mb : C->mb; ldcm = BLKLDD(C, m); @@ -159,17 +159,17 @@ void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, ldak = BLKLDD(A, k); ldbk = BLKLDD(B, k); zbeta = k == 0 ? beta : zone; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, A(k, m), ldak, /* lda * M */ B(k, n), ldbk, /* lda * N */ zbeta, C(m, n), ldcm); /* ldc * N */ - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, B(k, m), ldbk, /* lda * M */ A(k, n), ldak, /* lda * N */ @@ -178,7 +178,7 @@ void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, } } /* - * Morse[Conj]Trans / MorseUpper + * Cham[Conj]Trans / ChamUpper */ else { for (m = n+1; m < C->mt; m++) { @@ -188,17 +188,17 @@ void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, ldak = BLKLDD(A, k); ldbk = BLKLDD(B, k); zbeta = k == 0 ? beta : zone; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempnn, tempmm, tempkm, A->mb, alpha, A(k, n), ldak, /* lda * K */ B(k, m), ldbk, /* lda * M */ zbeta, C(n, m), ldcn); /* ldc * M */ - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempnn, tempmm, tempkm, A->mb, alpha, B(k, n), ldbk, /* lda * K */ A(k, m), ldak, /* lda * M */ @@ -208,5 +208,5 @@ void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzsyrk.c b/compute/pzsyrk.c index bb918cca5e5cae52f9b07bd0126a4ace633776b5..8dd954a3dbe983ea1a983de7b6f5235cf2837ae0 100644 --- a/compute/pzsyrk.c +++ b/compute/pzsyrk.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -29,38 +29,38 @@ /** * Parallel tile symmetric rank-k update - dynamic scheduling */ -void morse_pzsyrk(MORSE_enum uplo, MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, - MORSE_Complex64_t beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzsyrk(cham_uplo_t uplo, cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int m, n, k; int ldak, ldam, ldan, ldcm, ldcn; int tempnn, tempmm, tempkn, tempkm; - MORSE_Complex64_t zbeta; - MORSE_Complex64_t zone = (MORSE_Complex64_t)1.0; + CHAMELEON_Complex64_t zbeta; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t)1.0; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); for (n = 0; n < C->nt; n++) { tempnn = n == C->nt-1 ? C->n-n*C->nb : C->nb; ldan = BLKLDD(A, n); ldcn = BLKLDD(C, n); /* - * MorseNoTrans + * ChamNoTrans */ - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; zbeta = k == 0 ? beta : zone; - MORSE_TASK_zsyrk( + INSERT_TASK_zsyrk( &options, uplo, trans, tempnn, tempkn, A->mb, @@ -68,9 +68,9 @@ void morse_pzsyrk(MORSE_enum uplo, MORSE_enum trans, zbeta, C(n, n), ldcn); /* ldc * N */ } /* - * MorseNoTrans / MorseLower + * ChamNoTrans / ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (m = n+1; m < C->mt; m++) { tempmm = m == C->mt-1 ? C->m-m*C->mb : C->mb; ldam = BLKLDD(A, m); @@ -78,9 +78,9 @@ void morse_pzsyrk(MORSE_enum uplo, MORSE_enum trans, for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; zbeta = k == 0 ? beta : zone; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseTrans, + trans, ChamTrans, tempmm, tempnn, tempkn, A->mb, alpha, A(m, k), ldam, /* ldam * K */ A(n, k), ldan, /* ldan * K */ @@ -89,7 +89,7 @@ void morse_pzsyrk(MORSE_enum uplo, MORSE_enum trans, } } /* - * MorseNoTrans / MorseUpper + * ChamNoTrans / ChamUpper */ else { for (m = n+1; m < C->mt; m++) { @@ -98,9 +98,9 @@ void morse_pzsyrk(MORSE_enum uplo, MORSE_enum trans, for (k = 0; k < A->nt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; zbeta = k == 0 ? beta : zone; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseTrans, + trans, ChamTrans, tempnn, tempmm, tempkn, A->mb, alpha, A(n, k), ldan, /* ldan * K */ A(m, k), ldam, /* ldam * M */ @@ -110,14 +110,14 @@ void morse_pzsyrk(MORSE_enum uplo, MORSE_enum trans, } } /* - * MorseTrans + * ChamTrans */ else { for (k = 0; k < A->mt; k++) { tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); zbeta = k == 0 ? beta : zone; - MORSE_TASK_zsyrk( + INSERT_TASK_zsyrk( &options, uplo, trans, tempnn, tempkm, A->mb, @@ -125,9 +125,9 @@ void morse_pzsyrk(MORSE_enum uplo, MORSE_enum trans, zbeta, C(n, n), ldcn); /* ldc * N */ } /* - * MorseTrans / MorseLower + * ChamTrans / ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (m = n+1; m < C->mt; m++) { tempmm = m == C->mt-1 ? C->m-m*C->mb : C->mb; ldcm = BLKLDD(C, m); @@ -135,9 +135,9 @@ void morse_pzsyrk(MORSE_enum uplo, MORSE_enum trans, tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); zbeta = k == 0 ? beta : zone; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, A(k, m), ldak, /* lda * M */ A(k, n), ldak, /* lda * N */ @@ -146,7 +146,7 @@ void morse_pzsyrk(MORSE_enum uplo, MORSE_enum trans, } } /* - * MorseTrans / MorseUpper + * ChamTrans / ChamUpper */ else { for (m = n+1; m < C->mt; m++) { @@ -155,9 +155,9 @@ void morse_pzsyrk(MORSE_enum uplo, MORSE_enum trans, tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); zbeta = k == 0 ? beta : zone; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempnn, tempmm, tempkm, A->mb, alpha, A(k, n), ldak, /* lda * K */ A(k, m), ldak, /* lda * M */ @@ -167,5 +167,5 @@ void morse_pzsyrk(MORSE_enum uplo, MORSE_enum trans, } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzsytrf.c b/compute/pzsytrf.c index 27f411a7da8c950a87daa9ee4329659a3c5a60e6..96456c11bc2995838bb825c68a68bb9304ce3b88 100644 --- a/compute/pzsytrf.c +++ b/compute/pzsytrf.c @@ -29,48 +29,48 @@ /** * Parallel tile Cholesky factorization - dynamic scheduling */ -void morse_pzsytrf(MORSE_enum uplo, MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzsytrf(cham_uplo_t uplo, CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int k, m, n; int ldak, ldam, ldan; int tempkm, tempmm, tempnn; size_t ws_host = 0; - MORSE_Complex64_t zone = (MORSE_Complex64_t) 1.0; - MORSE_Complex64_t mzone = (MORSE_Complex64_t)-1.0; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t) 1.0; + CHAMELEON_Complex64_t mzone = (CHAMELEON_Complex64_t)-1.0; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); RUNTIME_options_ws_alloc( &options, 0, ws_host ); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (k = 0; k < A->mt; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); - MORSE_TASK_zsytrf_nopiv( + INSERT_TASK_zsytrf_nopiv( &options, - MorseLower, tempkm, A->mb, + ChamLower, tempkm, A->mb, A(k, k), ldak, A->nb*k); for (m = k+1; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseRight, MorseLower, MorseTrans, MorseNonUnit, + ChamRight, ChamLower, ChamTrans, ChamNonUnit, tempmm, A->mb, A->mb, zone, A(k, k), ldak, A(m, k), ldam); @@ -80,9 +80,9 @@ void morse_pzsytrf(MORSE_enum uplo, MORSE_desc_t *A, for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; ldan = BLKLDD(A, n); - MORSE_TASK_zsyrk( + INSERT_TASK_zsyrk( &options, - MorseLower, MorseNoTrans, + ChamLower, ChamNoTrans, tempnn, A->nb, A->mb, -1.0, A(n, k), ldan, 1.0, A(n, n), ldan); @@ -90,9 +90,9 @@ void morse_pzsytrf(MORSE_enum uplo, MORSE_desc_t *A, for (m = n+1; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m - m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseTrans, + ChamNoTrans, ChamTrans, tempmm, tempnn, A->mb, A->mb, mzone, A(m, k), ldam, A(n, k), ldan, @@ -101,29 +101,29 @@ void morse_pzsytrf(MORSE_enum uplo, MORSE_desc_t *A, RUNTIME_data_flush( sequence, A(n, k) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } /* - * MorseUpper + * ChamUpper */ else { for (k = 0; k < A->nt; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); - MORSE_TASK_zsytrf_nopiv( + INSERT_TASK_zsytrf_nopiv( &options, - MorseUpper, + ChamUpper, tempkm, A->mb, A(k, k), ldak, A->nb*k); for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n - n*A->nb : A->nb; - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseLeft, MorseUpper, MorseTrans, MorseNonUnit, + ChamLeft, ChamUpper, ChamTrans, ChamNonUnit, A->mb, tempnn, A->mb, zone, A(k, k), ldak, A(k, n), ldak); @@ -134,9 +134,9 @@ void morse_pzsytrf(MORSE_enum uplo, MORSE_desc_t *A, tempmm = m == A->mt-1 ? A->m - m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_zsyrk( + INSERT_TASK_zsyrk( &options, - MorseUpper, MorseTrans, + ChamUpper, ChamTrans, tempmm, A->mb, A->mb, -1.0, A(k, m), ldak, 1.0, A(m, m), ldam); @@ -144,9 +144,9 @@ void morse_pzsytrf(MORSE_enum uplo, MORSE_desc_t *A, for (n = m+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseTrans, MorseNoTrans, + ChamTrans, ChamNoTrans, tempmm, tempnn, A->mb, A->mb, mzone, A(k, m), ldak, A(k, n), ldak, @@ -155,10 +155,10 @@ void morse_pzsytrf(MORSE_enum uplo, MORSE_desc_t *A, RUNTIME_data_flush( sequence, A(k, m) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pztile2band.c b/compute/pztile2band.c index 0cd73a1c1496c5cd4e214cd1c688782fadbc076c..2dbe93eeaf18d061c08279a66a9831805931766b 100644 --- a/compute/pztile2band.c +++ b/compute/pztile2band.c @@ -27,28 +27,28 @@ /** * Parallel copy of a band matrix from full NxN tile storage to band storage (LDABxN). */ -void morse_pztile2band(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pztile2band(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int j; int ldaj, ldx; int tempjm, tempjn; int minmnt = chameleon_min(A->mt, A->nt); - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); ldx = B->mb-1; /* - * MorseLower => Lower Band + * ChamLower => Lower Band */ - if ( uplo == MorseLower ) { + if ( uplo == ChamLower ) { for (j = 0; j < minmnt; j++){ /* Compute dimension on N with B since it is dimensioned with chameleon_min(A->m, A->n) */ assert( A->m == B->n ); @@ -58,30 +58,30 @@ void morse_pztile2band(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, tempjn = j == B->nt-1 ? B->n - j * B->nb : B->nb; ldaj = BLKLDD(A, j); - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpperLower, B->mb, tempjn, + ChamUpperLower, B->mb, tempjn, 0., 0., B(0, j), B->mb ); - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempjm, tempjn, A->nb, + ChamLower, tempjm, tempjn, A->nb, A(j, j), ldaj, B(0, j), ldx ); if( j<minmnt-1 ){ tempjm = (j+1) == A->mt-1 ? A->m-(j+1)*A->mb : A->mb; ldaj = BLKLDD(A, j+1); - MORSE_TASK_zlacpyx( + INSERT_TASK_zlacpyx( &options, - MorseUpper, tempjm, tempjn, A->nb, + ChamUpper, tempjm, tempjn, A->nb, 0, A(j+1, j), ldaj, A->nb, B(0, j), ldx); } } } - else if ( uplo == MorseUpper ) { + else if ( uplo == ChamUpper ) { for (j = 0; j < minmnt; j++){ /* Compute dimension on M with B since it is dimensioned with chameleon_min(A->m, A->n) */ assert( A->n == B->n ); @@ -89,29 +89,29 @@ void morse_pztile2band(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, tempjn = j == A->nt-1 ? A->n - j * A->nb : A->nb; ldaj = BLKLDD(A, j); - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpperLower, B->mb, tempjn, + ChamUpperLower, B->mb, tempjn, 0., 0., B(0, j), B->mb ); if(j > 0){ - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, A->mb, tempjn, A->nb, + ChamLower, A->mb, tempjn, A->nb, A(j-1, j), BLKLDD(A, j-1), B(0, j), ldx); } tempjm = j == B->nt-1 ? B->n - j * B->nb : B->nb; - MORSE_TASK_zlacpyx( + INSERT_TASK_zlacpyx( &options, - MorseUpper, tempjm, tempjn, A->nb, + ChamUpper, tempjm, tempjn, A->nb, 0, A(j, j), ldaj, A->nb, B(0, j), ldx); } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } #undef B #undef A diff --git a/compute/pztpgqrt.c b/compute/pztpgqrt.c index 9a4079708e0a97ae6282073ac00fc3e9abd8a8e0..4687703d6aceb576dcb71282c1ff60c18be24084 100644 --- a/compute/pztpgqrt.c +++ b/compute/pztpgqrt.c @@ -35,15 +35,15 @@ /** * Parallel tile QR factorization - dynamic scheduling */ -void morse_pztpgqrt( int L, - MORSE_desc_t *V1, MORSE_desc_t *T1, - MORSE_desc_t *V2, MORSE_desc_t *T2, - MORSE_desc_t *Q1, MORSE_desc_t *Q2, - MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +void chameleon_pztpgqrt( int L, + CHAM_desc_t *V1, CHAM_desc_t *T1, + CHAM_desc_t *V2, CHAM_desc_t *T2, + CHAM_desc_t *Q1, CHAM_desc_t *Q2, + CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -58,12 +58,12 @@ void morse_pztpgqrt( int L, int maxmt = (maxm % Q2->mb == 0) ? (maxm / Q2->mb) : (maxm / Q2->mb + 1); int maxmtk; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; /* * ztpmqrt = Q1->nb * ib */ @@ -78,13 +78,13 @@ void morse_pztpgqrt( int L, ws_worker = chameleon_max( ws_worker, ib * Q1->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); for (k = V1->nt-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == V1->mt-1 ? V1->m-k*V1->mb : V1->mb; tempkk = k == V1->nt-1 ? V1->n-k*V1->nb : V1->nb; @@ -103,9 +103,9 @@ void morse_pztpgqrt( int L, for (n = k; n < Q2->nt; n++) { tempnn = n == Q2->nt-1 ? Q2->n-n*Q2->nb : Q2->nb; /* TT kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, tempmm, tempnn, tempkn, templm, ib, T2->nb, V2(m, k), ldvm, T2(m, k), T2->mb, @@ -121,9 +121,9 @@ void morse_pztpgqrt( int L, for (n = k; n < Q1->nt; n++) { tempnn = n == Q1->nt-1 ? Q1->n-n*Q1->nb : Q1->nb; /* TS kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, tempmm, tempnn, tempkn, 0, ib, T1->nb, V1(m, k), ldvm, T1(m, k), T1->mb, @@ -133,34 +133,34 @@ void morse_pztpgqrt( int L, } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempkm, tempkk, V1->nb, + ChamLower, tempkm, tempkk, V1->nb, V1(k, k), ldvk, D(k), ldvk ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempkm, tempkk, + ChamUpper, tempkm, tempkk, 0., 1., D(k), ldvk ); #endif #endif for (n = k; n < Q1->nt; n++) { tempnn = n == Q1->nt-1 ? Q1->n-n*Q1->nb : Q1->nb; - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, tempkm, tempnn, tempkk, ib, T1->nb, D(k), ldvk, T1(k, k), T1->mb, Q1(k, n), ldqk); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); (void)D; } diff --git a/compute/pztpqrt.c b/compute/pztpqrt.c index a85d4f2f452dc75487973dcb5e84d3e1998a2fef..4b2ac340ec4540ed5c73afc9fa6c3bdf79649bd7 100644 --- a/compute/pztpqrt.c +++ b/compute/pztpqrt.c @@ -27,11 +27,11 @@ /** * Parallel tile QR factorization - dynamic scheduling */ -void morse_pztpqrt( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +void chameleon_pztpqrt( int L, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -44,12 +44,12 @@ void morse_pztpqrt( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, int maxm = chameleon_max( B->m - L, 1 ); int maxmt = (maxm % B->mb == 0) ? (maxm / B->mb) : (maxm / B->mb + 1); - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; /* * ztsqrt = A->nb * (ib+1) @@ -66,13 +66,13 @@ void morse_pztpqrt( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); for (k = 0; k < A->nt; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; @@ -83,7 +83,7 @@ void morse_pztpqrt( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, templm = m == maxmt-1 ? tempmm : 0; ldbm = BLKLDD(B, m); /* TT kernel */ - MORSE_TASK_ztpqrt( + INSERT_TASK_ztpqrt( &options, tempmm, tempkn, templm, ib, T->nb, A(k, k), ldak, @@ -92,9 +92,9 @@ void morse_pztpqrt( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, for (n = k+1; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, - MorseLeft, MorseConjTrans, + ChamLeft, ChamConjTrans, tempmm, tempnn, tempkm, templm, ib, T->nb, B(m, k), ldbm, T(m, k), T->mb, @@ -105,9 +105,9 @@ void morse_pztpqrt( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, maxmt = chameleon_min( B->mt, maxmt+1 ); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pztradd.c b/compute/pztradd.c index 3db356b6eecafc0bccb2e7adeee4ad8a5f762157..cb5528562f5a13874d6aacc5457a95674a2695d4 100644 --- a/compute/pztradd.c +++ b/compute/pztradd.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Emmanuel Agullo * @author Mathieu Faverge * @date 2011-11-03 @@ -28,33 +28,33 @@ /** * Parallel tile matrix-matrix multiplication - dynamic scheduling */ -void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, - MORSE_Complex64_t beta, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pztradd(cham_uplo_t uplo, cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, + CHAMELEON_Complex64_t beta, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int tempmm, tempnn, tempmn, tempnm; int m, n; int ldam, ldan, ldbm, ldbn; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); switch(uplo){ - case MorseLower: - if (trans == MorseNoTrans) { + case ChamLower: + if (trans == ChamNoTrans) { for (n = 0; n < chameleon_min(B->mt,B->nt); n++) { tempnm = n == B->mt-1 ? B->m-n*B->mb : B->mb; tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; ldan = BLKLDD(A, n); ldbn = BLKLDD(B, n); - MORSE_TASK_ztradd( + INSERT_TASK_ztradd( &options, uplo, trans, tempnm, tempnn, B->mb, alpha, A(n, n), ldan, @@ -65,7 +65,7 @@ void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, ldam = BLKLDD(A, m); ldbm = BLKLDD(B, m); - MORSE_TASK_zgeadd( + INSERT_TASK_zgeadd( &options, trans, tempmm, tempnn, B->mb, alpha, A(m, n), ldam, @@ -80,7 +80,7 @@ void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, ldan = BLKLDD(A, n); ldbn = BLKLDD(B, n); - MORSE_TASK_ztradd( + INSERT_TASK_ztradd( &options, uplo, trans, tempnm, tempnn, B->mb, alpha, A(n, n), ldan, @@ -90,7 +90,7 @@ void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, tempmm = m == B->mt-1 ? B->m-B->mb*m : B->nb; ldbm = BLKLDD(B, m); - MORSE_TASK_zgeadd( + INSERT_TASK_zgeadd( &options, trans, tempmm, tempnn, B->mb, alpha, A(n, m), ldan, @@ -99,15 +99,15 @@ void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, } } break; - case MorseUpper: - if (trans == MorseNoTrans) { + case ChamUpper: + if (trans == ChamNoTrans) { for (m = 0; m < chameleon_min(B->mt,B->nt); m++) { tempmm = m == B->mt-1 ? B->m-B->mb*m : B->nb; tempmn = m == B->nt-1 ? B->n-m*B->nb : B->nb; ldam = BLKLDD(A, m); ldbm = BLKLDD(B, m); - MORSE_TASK_ztradd( + INSERT_TASK_ztradd( &options, uplo, trans, tempmm, tempmn, B->mb, alpha, A(m, m), ldam, @@ -116,7 +116,7 @@ void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, for (n = m+1; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zgeadd( + INSERT_TASK_zgeadd( &options, trans, tempmm, tempnn, B->mb, alpha, A(m, n), ldam, @@ -131,7 +131,7 @@ void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, ldam = BLKLDD(A, m); ldbm = BLKLDD(B, m); - MORSE_TASK_ztradd( + INSERT_TASK_ztradd( &options, uplo, trans, tempmm, tempmn, B->mb, alpha, A(m, m), ldam, @@ -141,7 +141,7 @@ void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; ldan = BLKLDD(A, n); - MORSE_TASK_zgeadd( + INSERT_TASK_zgeadd( &options, trans, tempmm, tempnn, B->mb, alpha, A(n, m), ldan, @@ -150,9 +150,9 @@ void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, } } break; - case MorseUpperLower: + case ChamUpperLower: default: - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { for (m = 0; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-B->mb*m : B->nb; ldam = BLKLDD(A, m); @@ -161,7 +161,7 @@ void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zgeadd( + INSERT_TASK_zgeadd( &options, trans, tempmm, tempnn, B->mb, alpha, A(m, n), ldam, @@ -178,7 +178,7 @@ void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; ldan = BLKLDD(A, n); - MORSE_TASK_zgeadd( + INSERT_TASK_zgeadd( &options, trans, tempmm, tempnn, B->mb, alpha, A(n, m), ldan, @@ -188,5 +188,5 @@ void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pztrmm.c b/compute/pztrmm.c index 1551fa10c3e69b6ccc7e8aec59fe4bdbd20f3fdb..3f9e136d4b75b3c878fe35d98a92488956130214 100644 --- a/compute/pztrmm.c +++ b/compute/pztrmm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -31,37 +31,37 @@ /** * Parallel tile triangular matrix-matrix multiplication - dynamic scheduling */ -void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, - MORSE_enum trans, MORSE_enum diag, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pztrmm(cham_side_t side, cham_uplo_t uplo, + cham_trans_t trans, cham_diag_t diag, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int k, m, n; int ldak, ldam, ldan, ldbk, ldbm; int tempkm, tempkn, tempmm, tempnn; - MORSE_Complex64_t zone = (MORSE_Complex64_t)1.0; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t)1.0; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); /* - * MorseLeft / MorseUpper / MorseNoTrans + * ChamLeft / ChamUpper / ChamNoTrans */ - if (side == MorseLeft) { - if (uplo == MorseUpper) { - if (trans == MorseNoTrans) { + if (side == ChamLeft) { + if (uplo == ChamUpper) { + if (trans == ChamNoTrans) { for (m = 0; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); ldam = BLKLDD(A, m); for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_ztrmm( + INSERT_TASK_ztrmm( &options, side, uplo, trans, diag, tempmm, tempnn, A->mb, @@ -71,9 +71,9 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, for (k = m+1; k < A->mt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldbk = BLKLDD(B, k); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempmm, tempnn, tempkn, A->mb, alpha, A(m, k), ldam, B(k, n), ldbk, @@ -83,7 +83,7 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseLeft / MorseUpper / Morse[Conj]Trans + * ChamLeft / ChamUpper / Cham[Conj]Trans */ else { for (m = B->mt-1; m > -1; m--) { @@ -92,7 +92,7 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, ldam = BLKLDD(A, m); for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_ztrmm( + INSERT_TASK_ztrmm( &options, side, uplo, trans, diag, tempmm, tempnn, A->mb, @@ -102,9 +102,9 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, for (k = 0; k < m; k++) { ldbk = BLKLDD(B, k); ldak = BLKLDD(A, k); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempmm, tempnn, B->mb, A->mb, alpha, A(k, m), ldak, B(k, n), ldbk, @@ -115,17 +115,17 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseLeft / MorseLower / MorseNoTrans + * ChamLeft / ChamLower / ChamNoTrans */ else { - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { for (m = B->mt-1; m > -1; m--) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); ldam = BLKLDD(A, m); for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_ztrmm( + INSERT_TASK_ztrmm( &options, side, uplo, trans, diag, tempmm, tempnn, A->mb, @@ -134,9 +134,9 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, for (k = 0; k < m; k++) { ldbk = BLKLDD(B, k); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempmm, tempnn, B->mb, A->mb, alpha, A(m, k), ldam, B(k, n), ldbk, @@ -146,7 +146,7 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseLeft / MorseLower / Morse[Conj]Trans + * ChamLeft / ChamLower / Cham[Conj]Trans */ else { for (m = 0; m < B->mt; m++) { @@ -155,7 +155,7 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, ldam = BLKLDD(A, m); for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_ztrmm( + INSERT_TASK_ztrmm( &options, side, uplo, trans, diag, tempmm, tempnn, A->mb, @@ -166,9 +166,9 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); ldbk = BLKLDD(B, k); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempmm, tempnn, tempkm, A->mb, alpha, A(k, m), ldak, B(k, n), ldbk, @@ -180,18 +180,18 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseRight / MorseUpper / MorseNoTrans + * ChamRight / ChamUpper / ChamNoTrans */ else { - if (uplo == MorseUpper) { - if (trans == MorseNoTrans) { + if (uplo == ChamUpper) { + if (trans == ChamNoTrans) { for (n = B->nt-1; n > -1; n--) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; ldan = BLKLDD(A, n); for (m = 0; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); - MORSE_TASK_ztrmm( + INSERT_TASK_ztrmm( &options, side, uplo, trans, diag, tempmm, tempnn, A->mb, @@ -200,9 +200,9 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, for (k = 0; k < n; k++) { ldak = BLKLDD(A, k); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, trans, + ChamNoTrans, trans, tempmm, tempnn, B->mb, A->mb, alpha, B(m, k), ldbm, A(k, n), ldak, @@ -212,7 +212,7 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseRight / MorseUpper / Morse[Conj]Trans + * ChamRight / ChamUpper / Cham[Conj]Trans */ else { for (n = 0; n < B->nt; n++) { @@ -221,7 +221,7 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, for (m = 0; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); - MORSE_TASK_ztrmm( + INSERT_TASK_ztrmm( &options, side, uplo, trans, diag, tempmm, tempnn, A->mb, @@ -230,9 +230,9 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, for (k = n+1; k < A->mt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, trans, + ChamNoTrans, trans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, A(n, k), ldan, @@ -243,17 +243,17 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseRight / MorseLower / MorseNoTrans + * ChamRight / ChamLower / ChamNoTrans */ else { - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; ldan = BLKLDD(A, n); for (m = 0; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); - MORSE_TASK_ztrmm( + INSERT_TASK_ztrmm( &options, side, uplo, trans, diag, tempmm, tempnn, A->mb, @@ -263,9 +263,9 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, for (k = n+1; k < A->mt; k++) { tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, trans, + ChamNoTrans, trans, tempmm, tempnn, tempkn, A->mb, alpha, B(m, k), ldbm, A(k, n), ldak, @@ -275,7 +275,7 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, } } /* - * MorseRight / MorseLower / Morse[Conj]Trans + * ChamRight / ChamLower / Cham[Conj]Trans */ else { for (n = B->nt-1; n > -1; n--) { @@ -284,7 +284,7 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, for (m = 0; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); - MORSE_TASK_ztrmm( + INSERT_TASK_ztrmm( &options, side, uplo, trans, diag, tempmm, tempnn, A->mb, @@ -292,9 +292,9 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, B(m, n), ldbm); /* ldb * tempnn */ for (k = 0; k < n; k++) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, trans, + ChamNoTrans, trans, tempmm, tempnn, B->mb, A->mb, alpha, B(m, k), ldbm, A(n, k), ldan, @@ -306,5 +306,5 @@ void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pztrsm.c b/compute/pztrsm.c index 366d08bbccaba46cc2e4b41cb02e7c7e74abcc06..dccac48893fdc3273c124fcc78a31aab031c5e2d 100644 --- a/compute/pztrsm.c +++ b/compute/pztrsm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Hatem Ltaief * @author Mathieu Faverge @@ -30,32 +30,32 @@ /** * Parallel tile triangular solve - dynamic scheduling */ -void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum diag, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pztrsm(cham_side_t side, cham_uplo_t uplo, cham_trans_t trans, cham_diag_t diag, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int k, m, n; int ldak, ldam, ldan, ldbk, ldbm; int tempkm, tempkn, tempmm, tempnn; - MORSE_Complex64_t zone = (MORSE_Complex64_t) 1.0; - MORSE_Complex64_t mzone = (MORSE_Complex64_t)-1.0; - MORSE_Complex64_t minvalpha = (MORSE_Complex64_t)-1.0 / alpha; - MORSE_Complex64_t lalpha; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t) 1.0; + CHAMELEON_Complex64_t mzone = (CHAMELEON_Complex64_t)-1.0; + CHAMELEON_Complex64_t minvalpha = (CHAMELEON_Complex64_t)-1.0 / alpha; + CHAMELEON_Complex64_t lalpha; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); /* - * MorseLeft / MorseUpper / MorseNoTrans + * ChamLeft / ChamUpper / ChamNoTrans */ - if (side == MorseLeft) { - if (uplo == MorseUpper) { - if (trans == MorseNoTrans) { + if (side == ChamLeft) { + if (uplo == ChamUpper) { + if (trans == ChamNoTrans) { for (k = 0; k < B->mt; k++) { tempkm = k == 0 ? B->m-(B->mt-1)*B->mb : B->mb; ldak = BLKLDD(A, B->mt-1-k); @@ -63,7 +63,7 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum lalpha = k == 0 ? alpha : zone; for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, side, uplo, trans, diag, tempkm, tempnn, A->mb, @@ -76,9 +76,9 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum ldbm = BLKLDD(B, B->mt-1-m); for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, B->mb, tempnn, tempkm, A->mb, mzone, A(B->mt-1-m, B->mt-1-k), ldam, B(B->mt-1-k, n ), ldbk, @@ -92,7 +92,7 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum } } /* - * MorseLeft / MorseUpper / Morse[Conj]Trans + * ChamLeft / ChamUpper / Cham[Conj]Trans */ else { for (k = 0; k < B->mt; k++) { @@ -102,7 +102,7 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum lalpha = k == 0 ? alpha : zone; for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, side, uplo, trans, diag, tempkm, tempnn, A->mb, @@ -115,9 +115,9 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum ldbm = BLKLDD(B, m); for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, tempmm, tempnn, B->mb, A->mb, mzone, A(k, m), ldak, B(k, n), ldbk, @@ -133,10 +133,10 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum } } /* - * MorseLeft / MorseLower / MorseNoTrans + * ChamLeft / ChamLower / ChamNoTrans */ else { - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { for (k = 0; k < B->mt; k++) { tempkm = k == B->mt-1 ? B->m-k*B->mb : B->mb; ldak = BLKLDD(A, k); @@ -144,7 +144,7 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum lalpha = k == 0 ? alpha : zone; for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, side, uplo, trans, diag, tempkm, tempnn, A->mb, @@ -158,9 +158,9 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum ldbm = BLKLDD(B, m); for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, B->mb, A->mb, mzone, A(m, k), ldam, B(k, n), ldbk, @@ -174,7 +174,7 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum } } /* - * MorseLeft / MorseLower / Morse[Conj]Trans + * ChamLeft / ChamLower / Cham[Conj]Trans */ else { for (k = 0; k < B->mt; k++) { @@ -184,7 +184,7 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum lalpha = k == 0 ? alpha : zone; for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, side, uplo, trans, diag, tempkm, tempnn, A->mb, @@ -196,9 +196,9 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum ldbm = BLKLDD(B, B->mt-1-m); for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - trans, MorseNoTrans, + trans, ChamNoTrans, B->mb, tempnn, tempkm, A->mb, mzone, A(B->mt-1-k, B->mt-1-m), ldak, B(B->mt-1-k, n ), ldbk, @@ -214,11 +214,11 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum } } /* - * MorseRight / MorseUpper / MorseNoTrans + * ChamRight / ChamUpper / ChamNoTrans */ else { - if (uplo == MorseUpper) { - if (trans == MorseNoTrans) { + if (uplo == ChamUpper) { + if (trans == ChamNoTrans) { for (k = 0; k < B->nt; k++) { tempkn = k == B->nt-1 ? B->n-k*B->nb : B->nb; ldak = BLKLDD(A, k); @@ -226,7 +226,7 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum for (m = 0; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, side, uplo, trans, diag, tempmm, tempkn, A->mb, @@ -239,9 +239,9 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum ldbm = BLKLDD(B, m); for (n = k+1; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, tempnn, B->mb, A->mb, mzone, B(m, k), ldbm, /* ldb * B->mb */ A(k, n), ldak, /* lda * tempnn */ @@ -255,7 +255,7 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum } } /* - * MorseRight / MorseUpper / Morse[Conj]Trans + * ChamRight / ChamUpper / Cham[Conj]Trans */ else { for (k = 0; k < B->nt; k++) { @@ -264,7 +264,7 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum for (m = 0; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, side, uplo, trans, diag, tempmm, tempkn, A->mb, @@ -274,9 +274,9 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum for (n = k+1; n < B->nt; n++) { ldan = BLKLDD(A, B->nt-1-n); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, trans, + ChamNoTrans, trans, tempmm, B->nb, tempkn, A->mb, minvalpha, B(m, B->nt-1-k), ldbm, /* ldb * tempkn */ A(B->nt-1-n, B->nt-1-k), ldan, /* A->mb * tempkn (Never last row) */ @@ -291,10 +291,10 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum } } /* - * MorseRight / MorseLower / MorseNoTrans + * ChamRight / ChamLower / ChamNoTrans */ else { - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { for (k = 0; k < B->nt; k++) { tempkn = k == 0 ? B->n-(B->nt-1)*B->nb : B->nb; ldak = BLKLDD(A, B->nt-1-k); @@ -302,7 +302,7 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum for (m = 0; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, side, uplo, trans, diag, tempmm, tempkn, A->mb, @@ -311,9 +311,9 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum RUNTIME_data_flush( sequence, A(B->nt-1-k, B->nt-1-k) ); for (n = k+1; n < B->nt; n++) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, B->nb, tempkn, A->mb, mzone, B(m, B->nt-1-k), ldbm, /* ldb * tempkn */ A(B->nt-1-k, B->nt-1-n), ldak, /* lda * B->nb */ @@ -327,7 +327,7 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum } } /* - * MorseRight / MorseLower / Morse[Conj]Trans + * ChamRight / ChamLower / Cham[Conj]Trans */ else { for (k = 0; k < B->nt; k++) { @@ -336,7 +336,7 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum for (m = 0; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, side, uplo, trans, diag, tempmm, tempkn, A->mb, @@ -347,9 +347,9 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum for (n = k+1; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; ldan = BLKLDD(A, n); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, trans, + ChamNoTrans, trans, tempmm, tempnn, B->mb, A->mb, minvalpha, B(m, k), ldbm, /* ldb * tempkn */ A(n, k), ldan, /* ldan * tempkn */ @@ -365,5 +365,5 @@ void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pztrsmpl.c b/compute/pztrsmpl.c index b89b3726eaac3ca5f31297999483bca533e26d99..c2a7601d6f6677c7082b66432f813a14dc5fb26a 100644 --- a/compute/pztrsmpl.c +++ b/compute/pztrsmpl.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Hatem Ltaief * @author Mathieu Faverge @@ -32,23 +32,23 @@ /** * Parallel forward substitution for tile LU - dynamic scheduling */ -void morse_pztrsmpl( MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *L, int *IPIV, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +void chameleon_pztrsmpl( CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *L, int *IPIV, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int k, m, n; int ldak, ldam, ldbk, ldbm; int tempkm, tempnn, tempkmin, tempmm, tempkn; int ib; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; for (k = 0; k < chameleon_min(A->mt, A->nt); k++) { tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; @@ -57,7 +57,7 @@ void morse_pztrsmpl( MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *L, int *IPI ldbk = BLKLDD(B, k); for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zgessm( + INSERT_TASK_zgessm( &options, tempkm, tempnn, tempkmin, ib, L->nb, IPIV(k, k), @@ -71,7 +71,7 @@ void morse_pztrsmpl( MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *L, int *IPI ldbm = BLKLDD(B, m); for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zssssm( + INSERT_TASK_zssssm( &options, A->nb, tempnn, tempmm, tempnn, tempkn, ib, L->nb, B(k, n), ldbk, @@ -82,5 +82,5 @@ void morse_pztrsmpl( MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *L, int *IPI } } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pztrtri.c b/compute/pztrtri.c index 2f94bcb94f020d0bf4c30f818b67cd0766ed31b5..062808bbcdb8d79275334127b3b02ee16fb63694 100644 --- a/compute/pztrtri.c +++ b/compute/pztrtri.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -29,38 +29,38 @@ /** * Parallel tile triangular matrix inverse - dynamic scheduling */ -void morse_pztrtri(MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pztrtri(cham_uplo_t uplo, cham_diag_t diag, CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; int k, m, n; int ldam, ldak; int tempkn, tempkm, tempmm, tempnn; - MORSE_Complex64_t zone = (MORSE_Complex64_t) 1.0; - MORSE_Complex64_t mzone = (MORSE_Complex64_t)-1.0; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t) 1.0; + CHAMELEON_Complex64_t mzone = (CHAMELEON_Complex64_t)-1.0; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); /* - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { for (k = 0; k < A->nt; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; ldak = BLKLDD(A, k); for (m = k+1; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseRight, uplo, MorseNoTrans, diag, + ChamRight, uplo, ChamNoTrans, diag, tempmm, tempkn, A->mb, mzone, A(k, k), ldak, A(m, k), ldam); @@ -69,9 +69,9 @@ void morse_pztrtri(MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A, tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; ldam = BLKLDD(A, m); for (n = 0; n < k; n++) { - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, tempmm, A->nb, tempkn, A->mb, zone, A(m, k), ldam, A(k, n), ldak, @@ -81,37 +81,37 @@ void morse_pztrtri(MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A, } for (n = 0; n < k; n++) { RUNTIME_data_flush( sequence, A(k, n) ); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseLeft, uplo, MorseNoTrans, diag, + ChamLeft, uplo, ChamNoTrans, diag, tempkn, A->nb, A->mb, zone, A(k, k), ldak, A(k, n), ldak); } RUNTIME_data_flush( sequence, A(k, k) ); - MORSE_TASK_ztrtri( + INSERT_TASK_ztrtri( &options, uplo, diag, tempkn, A->mb, A(k, k), ldak, A->nb*k); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } /* - * MorseUpper + * ChamUpper */ else { for (k = 0; k < A->mt; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseLeft, uplo, MorseNoTrans, diag, + ChamLeft, uplo, ChamNoTrans, diag, tempkm, tempnn, A->mb, mzone, A(k, k), ldak, A(k, n), ldak); @@ -120,9 +120,9 @@ void morse_pztrtri(MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A, tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; for (m = 0; m < k; m++) { ldam = BLKLDD(A, m); - MORSE_TASK_zgemm( + INSERT_TASK_zgemm( &options, - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, A->mb, tempnn, tempkm, A->mb, zone, A(m, k), ldam, A(k, n), ldak, @@ -133,22 +133,22 @@ void morse_pztrtri(MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A, for (m = 0; m < k; m++) { ldam = BLKLDD(A, m); RUNTIME_data_flush( sequence, A(m, k) ); - MORSE_TASK_ztrsm( + INSERT_TASK_ztrsm( &options, - MorseRight, uplo, MorseNoTrans, diag, + ChamRight, uplo, ChamNoTrans, diag, A->mb, tempkm, A->mb, zone, A(k, k), ldak, A(m, k), ldam); } RUNTIME_data_flush( sequence, A(k, k) ); - MORSE_TASK_ztrtri( + INSERT_TASK_ztrtri( &options, uplo, diag, tempkm, A->mb, A(k, k), ldak, A->mb*k); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzunglq.c b/compute/pzunglq.c index b34e519a7cfe42a023693b0f3e8ae76cb1a6a1ae..2a0ae4cbfaa2f0ee6c04ddec70ff3e9e2e4519eb 100644 --- a/compute/pzunglq.c +++ b/compute/pzunglq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -37,11 +37,11 @@ /** * Parallel construction of Q using tile V (application to identity) - dynamic scheduling */ -void morse_pzunglq(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzunglq(CHAM_desc_t *A, CHAM_desc_t *Q, CHAM_desc_t *T, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -51,12 +51,12 @@ void morse_pzunglq(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc int tempAkm, tempAkn; int ib, minMT; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; if (A->m > A->n) { minMT = A->nt; @@ -84,13 +84,13 @@ void morse_pzunglq(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); for (k = minMT-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempAkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; tempAkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; @@ -107,9 +107,9 @@ void morse_pzunglq(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc Q->get_rankof( Q, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, - MorseRight, MorseNoTrans, + ChamRight, ChamNoTrans, tempmm, tempnn, tempAkm, 0, ib, T->nb, A(k, n), ldak, T(k, n), T->mb, @@ -120,15 +120,15 @@ void morse_pzunglq(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc RUNTIME_data_flush( sequence, T(k, n) ); } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, tempkn, A->nb, + ChamUpper, tempkmin, tempkn, A->nb, A(k, k), ldak, D(k), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, tempkn, + ChamLower, tempkmin, tempkn, 0., 1., D(k), ldak ); #endif @@ -140,9 +140,9 @@ void morse_pzunglq(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc RUNTIME_data_migrate( sequence, Q(m, k), Q->get_rankof( Q, m, k ) ); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, - MorseRight, MorseNoTrans, + ChamRight, ChamNoTrans, tempmm, tempkn, tempkmin, ib, T->nb, D(k), ldak, T(k, k), T->mb, @@ -151,9 +151,9 @@ void morse_pzunglq(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc RUNTIME_data_flush( sequence, D(k) ); RUNTIME_data_flush( sequence, T(k, k) ); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzunglq_param.c b/compute/pzunglq_param.c index 47a83950101f8b0756b20d3e1fecd35c96e8da46..44ef7f86e2769dfa04c16f2ee5bcfd78e67ae6c7 100644 --- a/compute/pzunglq_param.c +++ b/compute/pzunglq_param.c @@ -29,13 +29,13 @@ /** * Parallel construction of Q using tile V - dynamic scheduling */ -void morse_pzunglq_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *Q, - MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzunglq_param(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *Q, + CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; - MORSE_desc_t *T; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; + CHAM_desc_t *T; size_t ws_worker = 0; size_t ws_host = 0; @@ -46,12 +46,12 @@ void morse_pzunglq_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_des int ib; int *tiles; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; if (D == NULL) { D = A; @@ -77,15 +77,15 @@ void morse_pzunglq_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_des tiles = (int*)calloc( qrtree->mt, sizeof(int)); - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); K = chameleon_min(A->mt, A->nt); for (k = K-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); @@ -118,9 +118,9 @@ void morse_pzunglq_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_des RUNTIME_data_migrate( sequence, Q(m, n), Q->get_rankof( Q, m, n ) ); - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, - MorseRight, MorseNoTrans, + ChamRight, ChamNoTrans, tempmm, tempnn, tempkm, L, ib, T->nb, A(k, n), ldak, T(k, n), T->mb, @@ -139,15 +139,15 @@ void morse_pzunglq_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_des tempkmin = chameleon_min(tempkm, temppn); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, temppn, A->nb, + ChamUpper, tempkmin, temppn, A->nb, A(k, p), ldak, D(k, p), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, temppn, + ChamLower, tempkmin, temppn, 0., 1., D(k, p), ldak ); #endif @@ -159,9 +159,9 @@ void morse_pzunglq_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_des RUNTIME_data_migrate( sequence, Q(m, p), Q->get_rankof( Q, m, p ) ); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, - MorseRight, MorseNoTrans, + ChamRight, ChamNoTrans, tempmm, temppn, tempkmin, ib, T->nb, D(k, p), ldak, T(k, p), T->mb, @@ -171,10 +171,10 @@ void morse_pzunglq_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_des RUNTIME_data_flush( sequence, T(k, p) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } free(tiles); RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzunglqrh.c b/compute/pzunglqrh.c index adb58487874ff71f17e467024c7ee44d04aa3238..40e9d6cffffa86654d85960a937251410487fdf4 100644 --- a/compute/pzunglqrh.c +++ b/compute/pzunglqrh.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Dulceneia Becker * @author Mathieu Faverge * @author Emmanuel Agullo @@ -38,12 +38,12 @@ * Parallel construction of Q using tile V (application to identity; * reduction Householder) - dynamic scheduling */ -void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q, - MORSE_desc_t *T, MORSE_desc_t *D, int BS, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzunglqrh(CHAM_desc_t *A, CHAM_desc_t *Q, + CHAM_desc_t *T, CHAM_desc_t *D, int BS, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -54,12 +54,12 @@ void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q, int tempkm, tempkmin, tempNn, tempnn, tempmm, tempNRDn; int ib; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; /* * zunmqr = A->nb * ib @@ -77,14 +77,14 @@ void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q, ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); K = chameleon_min(A->mt, A->nt); for (k = K-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); @@ -104,9 +104,9 @@ void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q, Q->get_rankof( Q, m, N+RD ) ); /* TT kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, - MorseRight, MorseNoTrans, + ChamRight, ChamNoTrans, tempmm, tempNRDn, tempkm, tempNRDn, ib, T->nb, A (k, N+RD), ldak, T2(k, N+RD), T->mb, @@ -134,9 +134,9 @@ void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q, Q->get_rankof( Q, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, - MorseRight, MorseNoTrans, + ChamRight, ChamNoTrans, tempmm, tempnn, tempkm, 0, ib, T->nb, A(k, n), ldak, T(k, n), T->mb, @@ -148,15 +148,15 @@ void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q, RUNTIME_data_flush( sequence, T(k, n) ); } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, tempNn, A->nb, + ChamUpper, tempkmin, tempNn, A->nb, A(k, N), ldak, D(k, N), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, tempNn, + ChamLower, tempkmin, tempNn, 0., 1., D(k, N), ldak ); #endif @@ -168,9 +168,9 @@ void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q, RUNTIME_data_migrate( sequence, Q(m, N), Q->get_rankof( Q, m, N ) ); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, - MorseRight, MorseNoTrans, + ChamRight, ChamNoTrans, tempmm, tempNn, tempkmin, ib, T->nb, D(k, N), ldak, @@ -180,10 +180,10 @@ void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q, RUNTIME_data_flush( sequence, D(k, N) ); RUNTIME_data_flush( sequence, T(k, N) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); (void)D; } diff --git a/compute/pzungqr.c b/compute/pzungqr.c index 1c85fc7a63a8d3bec7eb71622bb252b74f5d9fd1..61c81f1a9348d8a63a35b16055081716c9bee40d 100644 --- a/compute/pzungqr.c +++ b/compute/pzungqr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -37,11 +37,11 @@ /** * Parallel construction of Q using tile V (application to identity) - dynamic scheduling */ -void morse_pzungqr(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzungqr(CHAM_desc_t *A, CHAM_desc_t *Q, CHAM_desc_t *T, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -51,12 +51,12 @@ void morse_pzungqr(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc int tempAkm, tempAkn; int ib, minMT; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; if (A->m > A->n) { minMT = A->nt; @@ -84,13 +84,13 @@ void morse_pzungqr(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); for (k = minMT-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempAkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; tempAkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; @@ -109,9 +109,9 @@ void morse_pzungqr(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc Q->get_rankof( Q, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, tempmm, tempnn, tempAkn, 0, ib, T->nb, A(m, k), ldam, T(m, k), T->mb, @@ -123,15 +123,15 @@ void morse_pzungqr(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempkm, tempkmin, A->nb, + ChamLower, tempkm, tempkmin, A->nb, A(k, k), ldak, D(k), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempkm, tempkmin, + ChamUpper, tempkm, tempkmin, 0., 1., D(k), ldak ); #endif @@ -143,9 +143,9 @@ void morse_pzungqr(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc RUNTIME_data_migrate( sequence, Q(k, n), Q->get_rankof( Q, k, n ) ); - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, tempkm, tempnn, tempkmin, ib, T->nb, D(k), ldak, T(k, k), T->mb, @@ -154,9 +154,9 @@ void morse_pzungqr(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc RUNTIME_data_flush( sequence, D(k) ); RUNTIME_data_flush( sequence, T(k, k) ); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzungqr_param.c b/compute/pzungqr_param.c index 35107c789d81e8ce527a408a26d7eccb8ced70d3..3f24a50fccc6e239805f451236e0c6b5a4c2d388 100644 --- a/compute/pzungqr_param.c +++ b/compute/pzungqr_param.c @@ -29,14 +29,14 @@ /** * Parallel construction of Q using tile V (application to identity) - dynamic scheduling */ -void morse_pzungqr_param(const libhqr_tree_t *qrtree, - MORSE_desc_t *A, MORSE_desc_t *Q, - MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzungqr_param(const libhqr_tree_t *qrtree, + CHAM_desc_t *A, CHAM_desc_t *Q, + CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; - MORSE_desc_t *T; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; + CHAM_desc_t *T; size_t ws_worker = 0; size_t ws_host = 0; @@ -46,12 +46,12 @@ void morse_pzungqr_param(const libhqr_tree_t *qrtree, int ib, minMT; int *tiles; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; if (A->m > A->n) { minMT = A->nt; @@ -83,13 +83,13 @@ void morse_pzungqr_param(const libhqr_tree_t *qrtree, tiles = (int*)calloc(qrtree->mt, sizeof(int)); - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); for (k = minMT-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; @@ -124,9 +124,9 @@ void morse_pzungqr_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, Q(m, n), Q->get_rankof( Q, m, n ) ); - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, tempmm, tempnn, tempkn, L, ib, T->nb, A(m, k), ldam, T(m, k), T->mb, @@ -147,15 +147,15 @@ void morse_pzungqr_param(const libhqr_tree_t *qrtree, ldqm = BLKLDD(Q, m); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempmm, tempkmin, A->nb, + ChamLower, tempmm, tempkmin, A->nb, A(m, k), ldam, D(m, k), ldam ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempmm, tempkmin, + ChamUpper, tempmm, tempkmin, 0., 1., D(m, k), ldam ); #endif @@ -168,9 +168,9 @@ void morse_pzungqr_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, Q(m, n), Q->get_rankof( Q, m, n ) ); - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, tempmm, tempnn, tempkmin, ib, T->nb, D(m, k), ldam, T(m, k), T->mb, @@ -180,10 +180,10 @@ void morse_pzungqr_param(const libhqr_tree_t *qrtree, RUNTIME_data_flush( sequence, T(m, k) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } free(tiles); RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzungqrrh.c b/compute/pzungqrrh.c index 4b16f52284bd6f625df8b634ba6f329a888d5d14..e899e32dd186b0de74714a3c042d308711696568 100644 --- a/compute/pzungqrrh.c +++ b/compute/pzungqrrh.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Dulceneia Becker @@ -40,12 +40,12 @@ * Parallel construction of Q using tile V (application to identity; * reduction Householder) - dynamic scheduling */ -void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q, - MORSE_desc_t *T, MORSE_desc_t *D, int BS, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzungqrrh(CHAM_desc_t *A, CHAM_desc_t *Q, + CHAM_desc_t *T, CHAM_desc_t *D, int BS, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -56,12 +56,12 @@ void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q, int tempkn, tempMm, tempnn, tempmm, tempMRDm, tempkmin; int ib; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; /* * zunmqr = A->nb * ib @@ -79,14 +79,14 @@ void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q, ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); K = chameleon_min(A->mt, A->nt); for (k = K-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; lastRD = 0; @@ -107,9 +107,9 @@ void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q, Q->get_rankof( Q, M+RD, n ) ); /* TT kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, tempMRDm, tempnn, tempkn, tempMRDm, ib, T->nb, A (M+RD, k), ldaMRD, T2(M+RD, k), T->mb, @@ -140,9 +140,9 @@ void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q, Q->get_rankof( Q, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, tempmm, tempnn, tempkn, 0, ib, T->nb, A(m, k), ldam, T(m, k), T->mb, @@ -154,15 +154,15 @@ void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q, } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempMm, tempkmin, A->nb, + ChamLower, tempMm, tempkmin, A->nb, A(M, k), ldaM, D(M, k), ldaM ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempMm, tempkmin, + ChamUpper, tempMm, tempkmin, 0., 1., D(M, k), ldaM ); #endif @@ -174,9 +174,9 @@ void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q, RUNTIME_data_migrate( sequence, Q(M, n), Q->get_rankof( Q, M, n ) ); - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, - MorseLeft, MorseNoTrans, + ChamLeft, ChamNoTrans, tempMm, tempnn, tempkmin, ib, T->nb, D(M, k), ldaM, @@ -186,10 +186,10 @@ void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q, RUNTIME_data_flush( sequence, D(M, k) ); RUNTIME_data_flush( sequence, T(M, k) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); (void)D; } diff --git a/compute/pzunmlq.c b/compute/pzunmlq.c index 9e0ddf3839110cdd569f2c0613e2c6472a14f8fe..c618a3d7e608098e146732bb19aa47ce44b91506 100644 --- a/compute/pzunmlq.c +++ b/compute/pzunmlq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Azzam Haidar @@ -38,12 +38,12 @@ /** * Parallel application of Q using tile V - LQ factorization - dynamic scheduling */ -void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzunmlq(cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -52,12 +52,12 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, int tempmm, tempnn, tempkn, tempkm, tempkmin; int ib, minMT, minM; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; if (A->m > A->n) { minM = A->n; @@ -86,40 +86,40 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, ws_worker = chameleon_max( ws_worker, ib * A->mb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); - if (side == MorseLeft ) { - if (trans == MorseNoTrans) { + if (side == ChamLeft ) { + if (trans == ChamNoTrans) { /* - * MorseLeft / MorseNoTrans + * ChamLeft / ChamNoTrans */ for (k = 0; k < minMT; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == B->mt-1 ? B->m-k*B->mb : B->mb; tempkmin = k == minMT-1 ? minM-k*A->nb : A->nb; ldak = BLKLDD(A, k); ldbk = BLKLDD(B, k); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, tempkm, A->nb, + ChamUpper, tempkmin, tempkm, A->nb, A(k, k), ldak, D(k), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, tempkm, + ChamLower, tempkmin, tempkm, 0., 1., D(k), ldak ); #endif #endif for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, side, trans, tempkm, tempnn, tempkmin, ib, T->nb, @@ -141,7 +141,7 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempnn, tempkmin, 0, ib, T->nb, @@ -161,15 +161,15 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, k, n ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } /* - * MorseLeft / MorseConjTrans + * ChamLeft / ChamConjTrans */ else { for (k = minMT-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == B->mt-1 ? B->m-k*B->mb : B->mb; tempkmin = k == minMT-1 ? minM-k*A->nb : A->nb; @@ -185,7 +185,7 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempnn, tempkmin, 0, ib, T->nb, @@ -199,15 +199,15 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, T(k, m) ); } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, tempkm, A->nb, + ChamUpper, tempkmin, tempkm, A->nb, A(k, k), ldak, D(k), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, tempkm, + ChamLower, tempkmin, tempkm, 0., 1., D(k), ldak ); #endif @@ -218,7 +218,7 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, RUNTIME_data_migrate( sequence, B(k, n), B->get_rankof( B, k, n ) ); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, side, trans, tempkm, tempnn, tempkmin, ib, T->nb, @@ -228,17 +228,17 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, } RUNTIME_data_flush( sequence, D(k) ); RUNTIME_data_flush( sequence, T(k, k) ); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } } /* - * MorseRight / MorseNoTrans + * ChamRight / ChamNoTrans */ else { - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { for (k = minMT-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == B->nt - 1 ? B->n - k * B->nb : B->nb; tempkmin = k == minMT - 1 ? minM - k * A->nb : A->nb; @@ -253,7 +253,7 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempnn, tempkmin, 0, ib, T->nb, @@ -267,15 +267,15 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, T(k, n) ); } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, tempkn, A->nb, + ChamUpper, tempkmin, tempkn, A->nb, A(k, k), ldak, D(k), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, tempkn, + ChamLower, tempkmin, tempkn, 0., 1., D(k), ldak ); #endif @@ -287,7 +287,7 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, RUNTIME_data_migrate( sequence, B(m, k), B->get_rankof( B, m, k ) ); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, side, trans, tempmm, tempkn, tempkmin, ib, T->nb, @@ -299,29 +299,29 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, D(k) ); RUNTIME_data_flush( sequence, T(k, k) ); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } /* - * MorseRight / MorseConjTrans + * ChamRight / ChamConjTrans */ else { for (k = 0; k < minMT; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == B->nt-1 ? B->n-k*B->nb : B->nb; tempkmin = k == minMT-1 ? minM-k*A->mb : A->mb; ldak = BLKLDD(A, k); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, tempkn, A->nb, + ChamUpper, tempkmin, tempkn, A->nb, A(k, k), ldak, D(k), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, tempkn, + ChamLower, tempkmin, tempkn, 0., 1., D(k), ldak ); #endif @@ -329,7 +329,7 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, for (m = 0; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, side, trans, tempmm, tempkn, tempkmin, ib, T->nb, @@ -351,7 +351,7 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempnn, tempkmin, 0, ib, T->nb, @@ -371,11 +371,11 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, k ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzunmlq_param.c b/compute/pzunmlq_param.c index ead29ceb00afd91f91b3875ae66c2131bb871bf3..5f752ff848dce6f09c1c7796a8bcfcb9b1722117 100644 --- a/compute/pzunmlq_param.c +++ b/compute/pzunmlq_param.c @@ -29,15 +29,15 @@ /** * Parallel application of Q using tile V - LQ factorization - dynamic scheduling */ -void morse_pzunmlq_param(const libhqr_tree_t *qrtree, - MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzunmlq_param(const libhqr_tree_t *qrtree, + cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *B, + CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; - MORSE_desc_t *T; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; + CHAM_desc_t *T; size_t ws_worker = 0; size_t ws_host = 0; @@ -47,12 +47,12 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, int ib, K, L; int *tiles; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; K = chameleon_min(A->mt, A->nt); @@ -79,18 +79,18 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, /* Initialisation of tiles */ tiles = (int*)calloc( qrtree->mt, sizeof(int) ); - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); - if (side == MorseLeft ) { - if (trans == MorseNoTrans) { + if (side == ChamLeft ) { + if (trans == ChamNoTrans) { /* - * MorseLeft / MorseNoTrans + * ChamLeft / ChamNoTrans */ for (k = 0; k < K; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); @@ -104,22 +104,22 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, ldbp = BLKLDD(B, p); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, temppn, A->nb, + ChamUpper, tempkmin, temppn, A->nb, A(k, p), ldak, D(k, p), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, temppn, + ChamLower, tempkmin, temppn, 0., 1., D(k, p), ldak ); #endif #endif for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, side, trans, temppn, tempnn, tempkmin, ib, T->nb, @@ -161,7 +161,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, B(m, n), B->get_rankof( B, m, n ) ); - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempnn, tempkm, chameleon_min( L, tempnn ), ib, T->nb, @@ -180,15 +180,15 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, B->get_rankof( B, k, n ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } /* - * MorseLeft / MorseConjTrans + * ChamLeft / ChamConjTrans */ else { for (k = K-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); @@ -222,7 +222,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, B(m, n), B->get_rankof( B, m, n ) ); - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempnn, tempkm, chameleon_min(L, tempnn), ib, T->nb, @@ -244,15 +244,15 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, ldbp = BLKLDD(B, p); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, temppn, A->nb, + ChamUpper, tempkmin, temppn, A->nb, A(k, p), ldak, D(k, p), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, temppn, + ChamLower, tempkmin, temppn, 0., 1., D(k, p), ldak ); #endif @@ -263,7 +263,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, B(p, n), B->get_rankof( B, p, n ) ); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, side, trans, temppn, tempnn, tempkmin, ib, T->nb, @@ -276,17 +276,17 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, RUNTIME_data_flush( sequence, T(k, p) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } } /* - * MorseRight / MorseNoTrans + * ChamRight / ChamNoTrans */ else { - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { for (k = K-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); @@ -319,7 +319,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, B(m, n), B->get_rankof( B, m, n ) ); - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempnn, tempkm, L, ib, T->nb, @@ -340,15 +340,15 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, tempkmin = chameleon_min(tempkm, temppn); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, temppn, A->nb, + ChamUpper, tempkmin, temppn, A->nb, A(k, p), ldak, D(k, p), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, temppn, + ChamLower, tempkmin, temppn, 0., 1., D(k, p), ldak ); #endif @@ -360,7 +360,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, B(m, p), B->get_rankof( B, m, p ) ); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, side, trans, tempmm, temppn, tempkmin, ib, T->nb, @@ -373,15 +373,15 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, RUNTIME_data_flush( sequence, T(k, p) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } /* - * MorseRight / MorseConjTrans + * ChamRight / ChamConjTrans */ else { for (k = 0; k < K; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); @@ -394,15 +394,15 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, tempkmin = chameleon_min(tempkm, temppn); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, temppn, A->nb, + ChamUpper, tempkmin, temppn, A->nb, A(k, p), ldak, D(k, p), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, temppn, + ChamLower, tempkmin, temppn, 0., 1., D(k, p), ldak ); #endif @@ -410,7 +410,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, for (m = 0; m < B->mt; m++) { ldbm = BLKLDD(B, m); tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, side, trans, tempmm, temppn, tempkmin, ib, T->nb, @@ -452,7 +452,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, B(m, n), B->get_rankof( B, m, n ) ); - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempnn, tempkm, L, ib, T->nb, @@ -465,12 +465,12 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, RUNTIME_data_flush( sequence, T(k, n) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } } free(tiles); RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzunmlqrh.c b/compute/pzunmlqrh.c index 539b991698e6d2803200522b874fa7e1d3b8b558..ec25a26fe316a7b80a48fe241680c9442f2b91cc 100644 --- a/compute/pzunmlqrh.c +++ b/compute/pzunmlqrh.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Dulceneia Becker @@ -40,12 +40,12 @@ * Parallel application of Q using tile V - LQ factorization (reduction * Householder) - dynamic scheduling */ -void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, MORSE_desc_t *D, int BS, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzunmlqrh(cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T, CHAM_desc_t *D, int BS, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -55,12 +55,12 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, int tempNn, tempkm, tempnn, tempmm, tempNRDn, tempkmin; int ib; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; /* * zunmlq = A->nb * ib @@ -78,19 +78,19 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); K = chameleon_min(A->mt, A->nt); - if (side == MorseLeft ) { - if (trans == MorseNoTrans) { + if (side == ChamLeft ) { + if (trans == ChamNoTrans) { /* - * MorseLeft / MorseNoTrans + * ChamLeft / ChamNoTrans */ for (k = 0; k < K; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); @@ -99,22 +99,22 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, tempkmin = chameleon_min(tempkm,tempNn); ldbN = BLKLDD(B, N); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, tempNn, A->nb, + ChamUpper, tempkmin, tempNn, A->nb, A(k, N), ldak, D(k, N), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, tempNn, + ChamLower, tempkmin, tempNn, 0., 1., D(k, N), ldak ); #endif #endif for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, side, trans, tempNn, tempnn, @@ -138,7 +138,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempnn, tempkm, 0, ib, T->nb, A(k, m), ldak, @@ -164,7 +164,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, N+RD, n ) ); /* TT kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempNRDn, tempnn, tempkm, tempnn, ib, T->nb, @@ -184,14 +184,14 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, k, n ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } else { /* - * MorseLeft / MorseConjTrans + * ChamLeft / ChamConjTrans */ for (k = K-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); @@ -212,7 +212,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, N+RD, n ) ); /* TT kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempNRDn, tempnn, tempkm, tempnn, ib, T->nb, @@ -241,7 +241,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempnn, tempkm, 0, ib, T->nb, @@ -254,15 +254,15 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, T(k, m) ); } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, tempNn, A->nb, + ChamUpper, tempkmin, tempNn, A->nb, A(k, N), ldak, D(k, N), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, tempNn, + ChamLower, tempkmin, tempNn, 0., 1., D(k, N), ldak ); #endif @@ -273,7 +273,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, RUNTIME_data_migrate( sequence, B(N, n), B->get_rankof( B, N, n ) ); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, side, trans, tempNn, tempnn, @@ -285,17 +285,17 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, D(k, N) ); RUNTIME_data_flush( sequence, T(k, N) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } } else { - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { /* - * MorseRight / MorseNoTrans + * ChamRight / ChamNoTrans */ for (k = K-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); @@ -315,7 +315,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, N+RD ) ); /* TT kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempNRDn, tempkm, tempNRDn, ib, T->nb, @@ -343,7 +343,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempnn, tempkm, 0, ib, T->nb, @@ -356,15 +356,15 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, T(k, n) ); } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, tempNn, A->nb, + ChamUpper, tempkmin, tempNn, A->nb, A(k, N), ldak, D(k, N), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, tempNn, + ChamLower, tempkmin, tempNn, 0., 1., D(k, N), ldak ); #endif @@ -376,7 +376,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, RUNTIME_data_migrate( sequence, B(m, N), B->get_rankof( B, m, N ) ); - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, side, trans, tempmm, tempNn, @@ -389,14 +389,14 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, T(k, N) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } else { /* - * MorseRight / MorseConjTrans + * ChamRight / ChamConjTrans */ for (k = 0; k < K; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; ldak = BLKLDD(A, k); @@ -404,15 +404,15 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, tempNn = N == A->nt-1 ? A->n-N*A->nb : A->nb; tempkmin = chameleon_min(tempkm,tempNn); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseUpper, tempkmin, tempNn, A->nb, + ChamUpper, tempkmin, tempNn, A->nb, A(k, N), ldak, D(k, N), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseLower, tempkmin, tempNn, + ChamLower, tempkmin, tempNn, 0., 1., D(k, N), ldak ); #endif @@ -420,7 +420,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, for (m = 0; m < B->mt; m++) { ldbm = BLKLDD(B, m); tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; - MORSE_TASK_zunmlq( + INSERT_TASK_zunmlq( &options, side, trans, tempmm, tempNn, @@ -444,7 +444,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempnn, tempkm, 0, ib, T->nb, @@ -470,7 +470,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, N+RD ) ); /* TT kernel */ - MORSE_TASK_ztpmlqt( + INSERT_TASK_ztpmlqt( &options, side, trans, tempmm, tempNRDn, tempkm, tempNRDn, ib, T->nb, @@ -490,12 +490,12 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, k ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); (void)D; } diff --git a/compute/pzunmqr.c b/compute/pzunmqr.c index d893bc3c18168d2166e3669913276d2e65bec072..c971933c9d8fce6f5490fd59a2806b22744f2c93 100644 --- a/compute/pzunmqr.c +++ b/compute/pzunmqr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Azzam Haidar @@ -38,12 +38,12 @@ /** * Parallel application of Q using tile V - QR factorization - dynamic scheduling */ -void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzunmqr(cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -52,12 +52,12 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, int tempkm, tempnn, tempkmin, tempmm, tempkn; int ib, minMT, minM; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; if (A->m > A->n) { minM = A->n; @@ -86,40 +86,40 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); - if (side == MorseLeft ) { - if (trans == MorseConjTrans) { + if (side == ChamLeft ) { + if (trans == ChamConjTrans) { /* - * MorseLeft / MorseConjTrans + * ChamLeft / ChamConjTrans */ for (k = 0; k < minMT; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == B->mt-1 ? B->m-k*B->mb : B->mb; tempkmin = k == minMT-1 ? minM-k*A->nb : A->nb; ldak = BLKLDD(A, k); ldbk = BLKLDD(B, k); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempkm, tempkmin, A->nb, + ChamLower, tempkm, tempkmin, A->nb, A(k, k), ldak, D(k), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempkm, tempkmin, + ChamUpper, tempkm, tempkmin, 0., 1., D(k), ldak ); #endif #endif for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, side, trans, tempkm, tempnn, tempkmin, ib, T->nb, @@ -142,7 +142,7 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempnn, tempkmin, 0, ib, T->nb, @@ -162,15 +162,15 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, k, n ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } /* - * MorseLeft / MorseNoTrans + * ChamLeft / ChamNoTrans */ else { for (k = minMT-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkm = k == B->mt-1 ? B->m-k*B->mb : B->mb; tempkmin = k == minMT-1 ? minM-k*A->nb : A->nb; @@ -187,7 +187,7 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempnn, tempkmin, 0, ib, T->nb, @@ -201,15 +201,15 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempkm, tempkmin, A->nb, + ChamLower, tempkm, tempkmin, A->nb, A(k, k), ldak, D(k), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempkm, tempkmin, + ChamUpper, tempkm, tempkmin, 0., 1., D(k), ldak ); #endif @@ -220,7 +220,7 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, RUNTIME_data_migrate( sequence, B(k, n), B->get_rankof( B, k, n ) ); - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, side, trans, tempkm, tempnn, tempkmin, ib, T->nb, @@ -230,17 +230,17 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, } RUNTIME_data_flush( sequence, D(k) ); RUNTIME_data_flush( sequence, T(k, k) ); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } } /* - * MorseRight / MorseConjTrans + * ChamRight / ChamConjTrans */ else { - if (trans == MorseConjTrans) { + if (trans == ChamConjTrans) { for (k = minMT-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == B->nt - 1 ? B->n - k * B->nb : B->nb; tempkmin = k == minMT - 1 ? minM - k * A->nb : A->nb; @@ -256,7 +256,7 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempnn, tempkmin, 0, ib, T->nb, @@ -270,15 +270,15 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, T(n, k) ); } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempkn, tempkmin, A->nb, + ChamLower, tempkn, tempkmin, A->nb, A(k, k), ldak, D(k), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempkn, tempkmin, + ChamUpper, tempkn, tempkmin, 0., 1., D(k), ldak ); #endif @@ -290,7 +290,7 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, RUNTIME_data_migrate( sequence, B(m, k), B->get_rankof( B, m, k ) ); - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, side, trans, tempmm, tempkn, tempkmin, ib, T->nb, @@ -302,29 +302,29 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, D(k) ); RUNTIME_data_flush( sequence, T(k, k) ); - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } /* - * MorseRight / MorseNoTrans + * ChamRight / ChamNoTrans */ else { for (k = 0; k < minMT; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == B->nt-1 ? B->n-k*B->nb : B->nb; tempkmin = k == minMT-1 ? minM-k*A->nb : A->nb; ldak = BLKLDD(A, k); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempkn, tempkmin, A->nb, + ChamLower, tempkn, tempkmin, A->nb, A(k, k), ldak, D(k), ldak ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempkn, tempkmin, + ChamUpper, tempkn, tempkmin, 0., 1., D(k), ldak ); #endif @@ -332,7 +332,7 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, for (m = 0; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, side, trans, tempmm, tempkn, tempkmin, ib, T->nb, @@ -355,7 +355,7 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempnn, tempkmin, 0, ib, T->nb, @@ -375,11 +375,11 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, k ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzunmqr_param.c b/compute/pzunmqr_param.c index 04b3f6d21343fff2f186dc2e3ea143a7e7c99f14..8aaf0f3fc153e3d834dba67330ac220d8e372de8 100644 --- a/compute/pzunmqr_param.c +++ b/compute/pzunmqr_param.c @@ -29,15 +29,15 @@ /** * Parallel application of Q using tile V - QR factorization - dynamic scheduling */ -void morse_pzunmqr_param(const libhqr_tree_t *qrtree, - MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request) +void chameleon_pzunmqr_param(const libhqr_tree_t *qrtree, + cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *B, + CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; - MORSE_option_t options; - MORSE_desc_t *T; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; + CHAM_desc_t *T; size_t ws_worker = 0; size_t ws_host = 0; @@ -47,12 +47,12 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, int ib, K, L; int *tiles; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; K = chameleon_min(A->mt, A->nt); @@ -79,18 +79,18 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, /* Initialisation of tiles */ tiles = (int*)calloc( qrtree->mt, sizeof(int) ); - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); - if (side == MorseLeft ) { - if (trans == MorseConjTrans) { + if (side == ChamLeft ) { + if (trans == ChamConjTrans) { /* - * MorseLeft / MorseConjTrans + * ChamLeft / ChamConjTrans */ for (k = 0; k < K; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; @@ -104,22 +104,22 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, ldbm = BLKLDD(B, m); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempmm, tempkmin, A->nb, + ChamLower, tempmm, tempkmin, A->nb, A(m, k), ldam, D(m, k), ldam ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempmm, tempkmin, + ChamUpper, tempmm, tempkmin, 0., 1., D(m, k), ldam ); #endif #endif for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, side, trans, tempmm, tempnn, tempkmin, ib, T->nb, @@ -161,7 +161,7 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, B(m, n), B->get_rankof( B, m, n ) ); - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempnn, tempkn, L, ib, T->nb, @@ -180,15 +180,15 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, B->get_rankof( B, k, n ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } /* - * MorseLeft / MorseNoTrans + * ChamLeft / ChamNoTrans */ else { for (k = K-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; @@ -222,7 +222,7 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, B(m, n), B->get_rankof( B, m, n ) ); - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempnn, tempkn, L, ib, T->nb, @@ -245,15 +245,15 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, ldbm = BLKLDD(B, m); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempmm, tempkmin, A->nb, + ChamLower, tempmm, tempkmin, A->nb, A(m, k), ldam, D(m, k), ldam ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempmm, tempkmin, + ChamUpper, tempmm, tempkmin, 0., 1., D(m, k), ldam ); #endif @@ -264,7 +264,7 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, B(m, n), B->get_rankof( B, m, n ) ); - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, side, trans, tempmm, tempnn, tempkmin, ib, T->nb, @@ -277,17 +277,17 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, RUNTIME_data_flush( sequence, T(m, k) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } } /* - * MorseRight / MorseConjTrans + * ChamRight / ChamConjTrans */ else { - if (trans == MorseConjTrans) { + if (trans == ChamConjTrans) { for (k = K-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == A->nt-1 ? A->n - k*A->nb : A->nb; @@ -321,7 +321,7 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, B(m, n), B->get_rankof( B, m, n ) ); - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempnn, tempkn, chameleon_min( L, tempmm ), ib, T->nb, @@ -343,15 +343,15 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, ldan = BLKLDD(A, n); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempnn, tempkmin, A->nb, + ChamLower, tempnn, tempkmin, A->nb, A(n, k), ldan, D(n, k), ldan ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempnn, tempkmin, + ChamUpper, tempnn, tempkmin, 0., 1., D(n, k), ldan ); #endif @@ -363,7 +363,7 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, B(m, n), B->get_rankof( B, m, n ) ); - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, side, trans, tempmm, tempnn, tempkmin, ib, T->nb, @@ -374,15 +374,15 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, RUNTIME_data_flush( sequence, D(n, k) ); RUNTIME_data_flush( sequence, T(n, k) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } /* - * MorseRight / MorseNoTrans + * ChamRight / ChamNoTrans */ else { for (k = 0; k < K; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == B->nt-1 ? B->n-k*B->nb : B->nb; @@ -395,15 +395,15 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, ldan = BLKLDD(A, n); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempnn, tempkmin, A->nb, + ChamLower, tempnn, tempkmin, A->nb, A(n, k), ldan, D(n, k), ldan ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempnn, tempkmin, + ChamUpper, tempnn, tempkmin, 0., 1., D(n, k), ldan ); #endif @@ -411,7 +411,7 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, for (m = 0; m < B->mt; m++) { ldbm = BLKLDD(B, m); tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, side, trans, tempmm, tempnn, tempkmin, ib, T->nb, @@ -453,7 +453,7 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, RUNTIME_data_migrate( sequence, B(m, n), B->get_rankof( B, m, n ) ); - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempnn, tempkn, chameleon_min( L, tempmm ), ib, T->nb, @@ -466,12 +466,12 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, RUNTIME_data_flush( sequence, T(n, k) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } } free(tiles); RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); } diff --git a/compute/pzunmqrrh.c b/compute/pzunmqrrh.c index af3fe285681745e04fd9bafc6c7834a9444bfd10..f0ffa1e80a62bdd5cc0063cbdaea3b5a4e5febcc 100644 --- a/compute/pzunmqrrh.c +++ b/compute/pzunmqrrh.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Dulceneia Becker @@ -40,12 +40,12 @@ * Parallel application of Q using tile V - QR factorization (reduction * Householder) - dynamic scheduling */ -void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, MORSE_desc_t *D, int BS, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +void chameleon_pzunmqrrh( cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T, CHAM_desc_t *D, int BS, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_option_t options; + CHAM_context_t *chamctxt; + RUNTIME_option_t options; size_t ws_worker = 0; size_t ws_host = 0; @@ -56,12 +56,12 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, int tempMm, tempkn, tempnn, tempmm, tempMRDm, tempkmin; int ib; - morse = morse_context_self(); - if (sequence->status != MORSE_SUCCESS) + chamctxt = chameleon_context_self(); + if (sequence->status != CHAMELEON_SUCCESS) return; - RUNTIME_options_init(&options, morse, sequence, request); + RUNTIME_options_init(&options, chamctxt, sequence, request); - ib = MORSE_IB; + ib = CHAMELEON_IB; /* * zunmqr = A->nb * ib @@ -79,19 +79,19 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 ); #endif - ws_worker *= sizeof(MORSE_Complex64_t); - ws_host *= sizeof(MORSE_Complex64_t); + ws_worker *= sizeof(CHAMELEON_Complex64_t); + ws_host *= sizeof(CHAMELEON_Complex64_t); RUNTIME_options_ws_alloc( &options, ws_worker, ws_host ); K = chameleon_min(A->mt, A->nt); - if (side == MorseLeft ) { - if (trans == MorseConjTrans) { + if (side == ChamLeft ) { + if (trans == ChamConjTrans) { /* - * MorseLeft / MorseConjTrans + * ChamLeft / ChamConjTrans */ for (k = 0; k < K; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; for (M = k; M < A->mt; M += BS) { @@ -100,22 +100,22 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, ldaM = BLKLDD(A, M); ldbM = BLKLDD(B, M); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempMm, tempkmin, A->nb, + ChamLower, tempMm, tempkmin, A->nb, A(M, k), ldaM, D(M, k), ldaM ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempMm, tempkmin, + ChamUpper, tempMm, tempkmin, 0., 1., D(M, k), ldaM ); #endif #endif for (n = 0; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, side, trans, tempMm, tempnn, tempkmin, ib, T->nb, @@ -139,7 +139,7 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempnn, tempkn, 0, ib, T->nb, A(m, k), ldam, @@ -166,7 +166,7 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, B->get_rankof( B, M+RD, n ) ); /* TT kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempMRDm, tempnn, tempkn, tempMRDm, ib, T->nb, A (M+RD, k), ldaMRD, @@ -185,14 +185,14 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, B->get_rankof( B, k, n ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } else { /* - * MorseLeft / MorseNoTrans + * ChamLeft / ChamNoTrans */ for (k = K-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; lastRD = 0; @@ -213,7 +213,7 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, B->get_rankof( B, M+RD, n ) ); /* TT kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempMRDm, tempnn, tempkn, tempMRDm, ib, T->nb, A (M+RD, k), ldaMRD, @@ -243,7 +243,7 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempnn, tempkn, 0, ib, T->nb, A(m, k), ldam, @@ -255,15 +255,15 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, T(m, k) ); } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempMm, tempkmin, A->nb, + ChamLower, tempMm, tempkmin, A->nb, A(M, k), ldaM, D(M, k), ldaM ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempMm, tempkmin, + ChamUpper, tempMm, tempkmin, 0., 1., D(M, k), ldaM ); #endif @@ -274,7 +274,7 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, RUNTIME_data_migrate( sequence, B(M, n), B->get_rankof( B, M, n ) ); - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, side, trans, tempMm, tempnn, tempkmin, ib, T->nb, D(M, k), ldaM, @@ -284,17 +284,17 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, D(M, k) ); RUNTIME_data_flush( sequence, T(M, k) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } } else { - if (trans == MorseConjTrans) { + if (trans == ChamConjTrans) { /* - * MorseRight / MorseConjTrans + * ChamRight / ChamConjTrans */ for (k = K-1; k >= 0; k--) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; lastRD = 0; @@ -314,7 +314,7 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, M+RD ) ); /* TT kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempMRDm, tempkn, tempmm, ib, T->nb, A (M+RD, k), ldaMRD, @@ -343,7 +343,7 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempnn, tempkn, 0, ib, T->nb, A(n, k), ldan, @@ -355,15 +355,15 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, T(n, k) ); } #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempMm, tempkmin, A->nb, + ChamLower, tempMm, tempkmin, A->nb, A(M, k), ldaM, D(M, k), ldaM ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempMm, tempkmin, + ChamUpper, tempMm, tempkmin, 0., 1., D(M, k), ldaM ); #endif @@ -375,7 +375,7 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, RUNTIME_data_migrate( sequence, B(m, M), B->get_rankof( B, m, M ) ); - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, side, trans, tempmm, tempMm, tempkmin, ib, T->nb, @@ -387,14 +387,14 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, RUNTIME_data_flush( sequence, T(M, k) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } else { /* - * MorseRight / MorseNoTrans + * ChamRight / ChamNoTrans */ for (k = 0; k < K; k++) { - RUNTIME_iteration_push(morse, k); + RUNTIME_iteration_push(chamctxt, k); tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; for (M = k; M < A->mt; M += BS) { @@ -402,15 +402,15 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, tempkmin = chameleon_min(tempMm, tempkn); ldaM = BLKLDD(A, M); #if defined(CHAMELEON_COPY_DIAG) - MORSE_TASK_zlacpy( + INSERT_TASK_zlacpy( &options, - MorseLower, tempMm, tempkmin, A->nb, + ChamLower, tempMm, tempkmin, A->nb, A(M, k), ldaM, D(M, k), ldaM ); #if defined(CHAMELEON_USE_CUDA) - MORSE_TASK_zlaset( + INSERT_TASK_zlaset( &options, - MorseUpper, tempMm, tempkmin, + ChamUpper, tempMm, tempkmin, 0., 1., D(M, k), ldaM ); #endif @@ -418,7 +418,7 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, for (m = 0; m < B->mt; m++) { ldbm = BLKLDD(B, m); tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; - MORSE_TASK_zunmqr( + INSERT_TASK_zunmqr( &options, side, trans, tempmm, tempMm, tempkmin, ib, T->nb, @@ -442,7 +442,7 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, n ) ); /* TS kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempnn, tempkn, 0, ib, T->nb, A(n, k), ldan, @@ -468,7 +468,7 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, M+RD ) ); /* TT kernel */ - MORSE_TASK_ztpmqrt( + INSERT_TASK_ztpmqrt( &options, side, trans, tempmm, tempMRDm, tempkn, tempmm, ib, T->nb, A (M+RD, k), ldaMRD, @@ -487,12 +487,12 @@ void morse_pzunmqrrh( MORSE_enum side, MORSE_enum trans, B->get_rankof( B, m, k ) ); } - RUNTIME_iteration_pop(morse); + RUNTIME_iteration_pop(chamctxt); } } } RUNTIME_options_ws_free(&options); - RUNTIME_options_finalize(&options, morse); + RUNTIME_options_finalize(&options, chamctxt); (void)D; } diff --git a/compute/zbuild.c b/compute/zbuild.c index d3345a749e01915bdb0b83fc9e31e6a30f1643c4..ae792fe48176797bfe2aa99f162b96b3da6663ba 100644 --- a/compute/zbuild.c +++ b/compute/zbuild.c @@ -11,7 +11,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -25,17 +25,17 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zbuild - Generate a matrix by calling user provided function. + * CHAMELEON_zbuild - Generate a matrix by calling user provided function. * ******************************************************************************* * * @param[in] uplo * Specifies the part of the matrix A to be copied to B. - * = MorseUpperLower: All the matrix A - * = MorseUpper: Upper triangular part - * = MorseLower: Lower triangular part + * = ChamUpperLower: All the matrix A + * = ChamUpper: Upper triangular part + * = ChamLower: Lower triangular part * * @param[in] M * The number of rows of A. @@ -62,85 +62,85 @@ * index start at 0 like in C, NOT 1 like in Fortran) * and store it at the adresse 'buffer' with leading dimension 'ld' * The argument 'user_data' is an opaque pointer on any user data, it is passed by - * the user to Morse_zbuild (see above) and transmitted by chameleon to the callback. + * the user to Cham_zbuild (see above) and transmitted by chameleon to the callback. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zbuild_Tile - * @sa MORSE_zbuild_Tile_Async - * @sa MORSE_cbuild - * @sa MORSE_dbuild - * @sa MORSE_sbuild + * @sa CHAMELEON_zbuild_Tile + * @sa CHAMELEON_zbuild_Tile_Async + * @sa CHAMELEON_cbuild + * @sa CHAMELEON_dbuild + * @sa CHAMELEON_sbuild * */ -int MORSE_zbuild( MORSE_enum uplo, int M, int N, - MORSE_Complex64_t *A, int LDA, +int CHAMELEON_zbuild( cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t *A, int LDA, void *user_data, void* user_build_callback ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zbuild", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zbuild", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zbuild", "illegal value of M"); + chameleon_error("CHAMELEON_zbuild", "illegal value of M"); return -1; } if (N < 0) { - morse_error("MORSE_zbuild", "illegal value of N"); + chameleon_error("CHAMELEON_zbuild", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zbuild", "illegal value of LDA"); + chameleon_error("CHAMELEON_zbuild", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGEMM, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zbuild", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zbuild", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; - morse_sequence_create( morse, &sequence ); + NB = CHAMELEON_NB; + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescOutput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescOutput, uplo, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zbuild_Tile_Async( uplo, &descAt, user_data, user_build_callback, sequence, &request ); + CHAMELEON_zbuild_Tile_Async( uplo, &descAt, user_data, user_build_callback, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescOutput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescOutput, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } @@ -148,10 +148,10 @@ int MORSE_zbuild( MORSE_enum uplo, int M, int N, /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zbuild_Tile - Generate a matrix by tiles by calling user provided function. - * Tile equivalent of MORSE_zbuild(). + * CHAMELEON_zbuild_Tile - Generate a matrix by tiles by calling user provided function. + * Tile equivalent of CHAMELEON_zbuild(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -160,9 +160,9 @@ int MORSE_zbuild( MORSE_enum uplo, int M, int N, * * @param[in] uplo * Specifies the part of the matrix A to be copied to B. - * = MorseUpperLower: All the matrix A - * = MorseUpper: Upper triangular part - * = MorseLower: Lower triangular part + * = ChamUpperLower: All the matrix A + * = ChamUpper: Upper triangular part + * = ChamLower: Lower triangular part * * @param[in] A * On exit, The matrix A generated. @@ -171,54 +171,54 @@ int MORSE_zbuild( MORSE_enum uplo, int M, int N, * The data used in the matrix generation. * * @param[in] user_build_callback - * The function called by the codelet to fill the tiles (see MORSE_zbuild) + * The function called by the codelet to fill the tiles (see CHAMELEON_zbuild) * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zbuild - * @sa MORSE_zbuild_Tile_Async - * @sa MORSE_cbuild_Tile - * @sa MORSE_dbuild_Tile - * @sa MORSE_sbuild_Tile + * @sa CHAMELEON_zbuild + * @sa CHAMELEON_zbuild_Tile_Async + * @sa CHAMELEON_cbuild_Tile + * @sa CHAMELEON_dbuild_Tile + * @sa CHAMELEON_sbuild_Tile * */ -int MORSE_zbuild_Tile( MORSE_enum uplo, MORSE_desc_t *A, +int CHAMELEON_zbuild_Tile( cham_uplo_t uplo, CHAM_desc_t *A, void *user_data, void* user_build_callback ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zbuild_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zbuild_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zbuild_Tile_Async( uplo, A, user_data, user_build_callback, sequence, &request ); + CHAMELEON_zbuild_Tile_Async( uplo, A, user_data, user_build_callback, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zbuild_Tile_Async - Generate a matrix by tiles by calling user provided function. - * Non-blocking equivalent of MORSE_zbuild_Tile(). + * CHAMELEON_zbuild_Tile_Async - Generate a matrix by tiles by calling user provided function. + * Non-blocking equivalent of CHAMELEON_zbuild_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -226,9 +226,9 @@ int MORSE_zbuild_Tile( MORSE_enum uplo, MORSE_desc_t *A, * * @param[in] uplo * Specifies the part of the matrix A to be copied to B. - * = MorseUpperLower: All the matrix A - * = MorseUpper: Upper triangular part - * = MorseLower: Lower triangular part + * = ChamUpperLower: All the matrix A + * = ChamUpper: Upper triangular part + * = ChamLower: Lower triangular part * * @param[in] A * On exit, The matrix A generated. @@ -237,7 +237,7 @@ int MORSE_zbuild_Tile( MORSE_enum uplo, MORSE_desc_t *A, * The data used in the matrix generation. * * @param[in] user_build_callback - * The function called by the codelet to fill the tiles (see MORSE_zbuild) + * The function called by the codelet to fill the tiles (see CHAMELEON_zbuild) * * @param[in] sequence * Identifies the sequence of function calls that this call belongs to @@ -248,53 +248,53 @@ int MORSE_zbuild_Tile( MORSE_enum uplo, MORSE_desc_t *A, * ******************************************************************************* * - * @sa MORSE_zbuild - * @sa MORSE_zbuild_Tile - * @sa MORSE_cbuild_Tile_Async - * @sa MORSE_dbuild_Tile_Async - * @sa MORSE_sbuild_Tile_Async + * @sa CHAMELEON_zbuild + * @sa CHAMELEON_zbuild_Tile + * @sa CHAMELEON_cbuild_Tile_Async + * @sa CHAMELEON_dbuild_Tile_Async + * @sa CHAMELEON_sbuild_Tile_Async * */ -int MORSE_zbuild_Tile_Async( MORSE_enum uplo, MORSE_desc_t *A, +int CHAMELEON_zbuild_Tile_Async( cham_uplo_t uplo, CHAM_desc_t *A, void *user_data, void* user_build_callback, - MORSE_sequence_t *sequence, - MORSE_request_t *request ) + RUNTIME_sequence_t *sequence, + RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zbuild_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zbuild_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zbuild_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zbuild_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zbuild_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zbuild_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zbuild_Tile", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zbuild_Tile", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ if (chameleon_min( A->m, A->n ) == 0) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzbuild( uplo, A, user_data, user_build_callback, sequence, request ); + chameleon_pzbuild( uplo, A, user_data, user_build_callback, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgeadd.c b/compute/zgeadd.c index efbeaa4986f110be955fec2e53d30af4745b276e..65dec44d82efbe8f4d9c411c8aeceae41fc27cd5 100644 --- a/compute/zgeadd.c +++ b/compute/zgeadd.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2011-11-03 * @precisions normal z -> s d c @@ -24,9 +24,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgeadd - Performs a matrix addition similarly to the pzgeadd() + * CHAMELEON_zgeadd - Performs a matrix addition similarly to the pzgeadd() * function from the PBLAS library: * * \f[ C = \alpha op( A ) + \beta B \f], @@ -43,9 +43,9 @@ * @param[in] trans * Specifies whether the matrix A is transposed, not transposed or * conjugate transposed: - * = MorseNoTrans: A is not transposed; - * = MorseTrans: A is transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is not transposed; + * = ChamTrans: A is transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] M * M specifies the number of rows of the matrix op( A ) and of the matrix B. M >= 0. @@ -57,12 +57,12 @@ * alpha specifies the scalar alpha * * @param[in] A - * A is a LDA-by-ka matrix, where ka is N when trans = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is N when trans = ChamNoTrans, * and is M otherwise. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,K), where K is M - * when trans = MorseNoTrans, and is N when otherwise. + * when trans = ChamNoTrans, and is N when otherwise. * * @param[in] beta * beta specifies the scalar beta @@ -76,113 +76,113 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgeadd_Tile - * @sa MORSE_cgeadd - * @sa MORSE_dgeadd - * @sa MORSE_sgeadd + * @sa CHAMELEON_zgeadd_Tile + * @sa CHAMELEON_cgeadd + * @sa CHAMELEON_dgeadd + * @sa CHAMELEON_sgeadd * */ -int MORSE_zgeadd( MORSE_enum trans, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zgeadd( cham_trans_t trans, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *B, int LDB ) { int NB; int Am, An; int status; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeadd", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeadd", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((trans < MorseNoTrans) || (trans > MorseConjTrans)) { - morse_error("MORSE_zgeadd", "illegal value of trans"); + if ((trans < ChamNoTrans) || (trans > ChamConjTrans)) { + chameleon_error("CHAMELEON_zgeadd", "illegal value of trans"); return -1; } - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { Am = M; An = N; } else { Am = N; An = M; } if (M < 0) { - morse_error("MORSE_zgeadd", "illegal value of M"); + chameleon_error("CHAMELEON_zgeadd", "illegal value of M"); return -2; } if (N < 0) { - morse_error("MORSE_zgeadd", "illegal value of N"); + chameleon_error("CHAMELEON_zgeadd", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, Am)) { - morse_error("MORSE_zgeadd", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgeadd", "illegal value of LDA"); return -6; } if (LDB < chameleon_max(1, M)) { - morse_error("MORSE_zgeadd", "illegal value of LDB"); + chameleon_error("CHAMELEON_zgeadd", "illegal value of LDB"); return -9; } /* Quick return */ if (M == 0 || N == 0 || - ((alpha == (MORSE_Complex64_t)0.0) && beta == (MORSE_Complex64_t)1.0)) - return MORSE_SUCCESS; + ((alpha == (CHAMELEON_Complex64_t)0.0) && beta == (CHAMELEON_Complex64_t)1.0)) + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGEMM, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgeadd", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeadd", "chameleon_tune() failed"); return status; } /* Set MT & NT & KT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zgeadd_Tile_Async( trans, alpha, &descAt, beta, &descBt, sequence, &request ); + CHAMELEON_zgeadd_Tile_Async( trans, alpha, &descAt, beta, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgeadd_Tile - Performs a matrix addition similarly to the pzgeadd() + * CHAMELEON_zgeadd_Tile - Performs a matrix addition similarly to the pzgeadd() * function from the PBLAS library. - * Tile equivalent of MORSE_zgeadd(). + * Tile equivalent of CHAMELEON_zgeadd(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -192,15 +192,15 @@ int MORSE_zgeadd( MORSE_enum trans, int M, int N, * @param[in] trans * Specifies whether the matrix A is transposed, not transposed or * conjugate transposed: - * = MorseNoTrans: A is not transposed; - * = MorseTrans: A is transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is not transposed; + * = ChamTrans: A is transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] alpha * alpha specifies the scalar alpha * * @param[in] A - * A is a LDA-by-ka matrix, where ka is N when trans = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is N when trans = ChamNoTrans, * and is M otherwise. * * @param[in] beta @@ -212,52 +212,52 @@ int MORSE_zgeadd( MORSE_enum trans, int M, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgeadd - * @sa MORSE_zgeadd_Tile_Async - * @sa MORSE_cgeadd_Tile - * @sa MORSE_dgeadd_Tile - * @sa MORSE_sgeadd_Tile + * @sa CHAMELEON_zgeadd + * @sa CHAMELEON_zgeadd_Tile_Async + * @sa CHAMELEON_cgeadd_Tile + * @sa CHAMELEON_dgeadd_Tile + * @sa CHAMELEON_sgeadd_Tile * */ -int MORSE_zgeadd_Tile( MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, - MORSE_Complex64_t beta, MORSE_desc_t *B ) +int CHAMELEON_zgeadd_Tile( cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, + CHAMELEON_Complex64_t beta, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeadd_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeadd_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgeadd_Tile_Async( trans, alpha, A, beta, B, sequence, &request ); + CHAMELEON_zgeadd_Tile_Async( trans, alpha, A, beta, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgeadd_Tile_Async - Performs a matrix addition similarly to the + * CHAMELEON_zgeadd_Tile_Async - Performs a matrix addition similarly to the * pzgeadd() function from the PBLAS library. - * Non-blocking equivalent of MORSE_zgeadd_Tile(). + * Non-blocking equivalent of CHAMELEON_zgeadd_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -272,59 +272,59 @@ int MORSE_zgeadd_Tile( MORSE_enum trans, * ******************************************************************************* * - * @sa MORSE_zgeadd - * @sa MORSE_zgeadd_Tile - * @sa MORSE_cgeadd_Tile_Async - * @sa MORSE_dgeadd_Tile_Async - * @sa MORSE_sgeadd_Tile_Async + * @sa CHAMELEON_zgeadd + * @sa CHAMELEON_zgeadd_Tile + * @sa CHAMELEON_cgeadd_Tile_Async + * @sa CHAMELEON_dgeadd_Tile_Async + * @sa CHAMELEON_sgeadd_Tile_Async * */ -int MORSE_zgeadd_Tile_Async( MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, - MORSE_Complex64_t beta, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgeadd_Tile_Async( cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, + CHAMELEON_Complex64_t beta, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; int M, N; int Am, An, Ai, Aj, Amb, Anb; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeadd_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeadd_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgeadd_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgeadd_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgeadd_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgeadd_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgeadd_Tile_Async", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeadd_Tile_Async", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zgeadd_Tile_Async", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeadd_Tile_Async", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ - if ((trans < MorseNoTrans) || (trans > MorseConjTrans)) { - morse_error("MORSE_zgeadd_Tile_Async", "illegal value of trans"); - return morse_request_fail(sequence, request, -1); + if ((trans < ChamNoTrans) || (trans > ChamConjTrans)) { + chameleon_error("CHAMELEON_zgeadd_Tile_Async", "illegal value of trans"); + return chameleon_request_fail(sequence, request, -1); } - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { Am = A->m; An = A->n; Amb = A->mb; @@ -341,16 +341,16 @@ int MORSE_zgeadd_Tile_Async( MORSE_enum trans, } if ( (Amb != B->mb) || (Anb != B->nb) ) { - morse_error("MORSE_zgeadd_Tile_Async", "tile sizes have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgeadd_Tile_Async", "tile sizes have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (Am != B->m) || (An != B->n) ) { - morse_error("MORSE_zgeadd_Tile_Async", "sizes of matrices have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgeadd_Tile_Async", "sizes of matrices have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (Ai != B->i) || (Aj != B->j) ) { - morse_error("MORSE_zgeadd_Tile_Async", "start indexes have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgeadd_Tile_Async", "start indexes have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } M = B->m; @@ -358,12 +358,12 @@ int MORSE_zgeadd_Tile_Async( MORSE_enum trans, /* Quick return */ if ( (M == 0) || (N == 0) || - ((alpha == (MORSE_Complex64_t)0.0) && (beta == (MORSE_Complex64_t)1.0)) ) + ((alpha == (CHAMELEON_Complex64_t)0.0) && (beta == (CHAMELEON_Complex64_t)1.0)) ) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pztradd( MorseUpperLower, trans, alpha, A, beta, B, sequence, request ); + chameleon_pztradd( ChamUpperLower, trans, alpha, A, beta, B, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgelqf.c b/compute/zgelqf.c index 9c0185492df3a6679a7dd3b4a0bd22d710de8f86..db512fc7e5c072844191b4c51d3d2d9fe7c5a321 100644 --- a/compute/zgelqf.c +++ b/compute/zgelqf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Dulceneia Becker * @author Mathieu Faverge @@ -28,9 +28,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgelqf - Computes the tile LQ factorization of a complex M-by-N matrix A: A = L * Q. + * CHAMELEON_zgelqf - Computes the tile LQ factorization of a complex M-by-N matrix A: A = L * Q. * ******************************************************************************* * @@ -51,101 +51,101 @@ * The leading dimension of the array A. LDA >= max(1,M). * * @param[out] descT - * On exit, auxiliary factorization data, required by MORSE_zgelqs to solve the system + * On exit, auxiliary factorization data, required by CHAMELEON_zgelqs to solve the system * of equations. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgelqf_Tile - * @sa MORSE_zgelqf_Tile_Async - * @sa MORSE_cgelqf - * @sa MORSE_dgelqf - * @sa MORSE_sgelqf - * @sa MORSE_zgelqs + * @sa CHAMELEON_zgelqf_Tile + * @sa CHAMELEON_zgelqf_Tile_Async + * @sa CHAMELEON_cgelqf + * @sa CHAMELEON_dgelqf + * @sa CHAMELEON_sgelqf + * @sa CHAMELEON_zgelqs * */ -int MORSE_zgelqf( int M, int N, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descT ) +int CHAMELEON_zgelqf( int M, int N, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descT ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgelqf", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgelqf", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zgelqf", "illegal value of M"); + chameleon_error("CHAMELEON_zgelqf", "illegal value of M"); return -1; } if (N < 0) { - morse_error("MORSE_zgelqf", "illegal value of N"); + chameleon_error("CHAMELEON_zgelqf", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgelqf", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgelqf", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgelqf", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqf", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zgelqf_Tile_Async( &descAt, descT, sequence, &request ); + CHAMELEON_zgelqf_Tile_Async( &descAt, descT, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgelqf_Tile - Computes the tile LQ factorization of a matrix. - * Tile equivalent of MORSE_zgelqf(). + * CHAMELEON_zgelqf_Tile - Computes the tile LQ factorization of a matrix. + * Tile equivalent of CHAMELEON_zgelqf(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -160,56 +160,56 @@ int MORSE_zgelqf( int M, int N, * by tiles. * * @param[out] T - * On exit, auxiliary factorization data, required by MORSE_zgelqs to solve the system + * On exit, auxiliary factorization data, required by CHAMELEON_zgelqs to solve the system * of equations. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgelqf - * @sa MORSE_zgelqf_Tile_Async - * @sa MORSE_cgelqf_Tile - * @sa MORSE_dgelqf_Tile - * @sa MORSE_sgelqf_Tile - * @sa MORSE_zgelqs_Tile + * @sa CHAMELEON_zgelqf + * @sa CHAMELEON_zgelqf_Tile_Async + * @sa CHAMELEON_cgelqf_Tile + * @sa CHAMELEON_dgelqf_Tile + * @sa CHAMELEON_sgelqf_Tile + * @sa CHAMELEON_zgelqs_Tile * */ -int MORSE_zgelqf_Tile( MORSE_desc_t *A, MORSE_desc_t *T ) +int CHAMELEON_zgelqf_Tile( CHAM_desc_t *A, CHAM_desc_t *T ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgelqf_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgelqf_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgelqf_Tile_Async( A, T, sequence, &request ); + CHAMELEON_zgelqf_Tile_Async( A, T, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgelqf_Tile_Async - Computes the tile LQ factorization of a matrix. - * Non-blocking equivalent of MORSE_zgelqf_Tile(). + * CHAMELEON_zgelqf_Tile_Async - Computes the tile LQ factorization of a matrix. + * Non-blocking equivalent of CHAMELEON_zgelqf_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -224,81 +224,82 @@ int MORSE_zgelqf_Tile( MORSE_desc_t *A, MORSE_desc_t *T ) * ******************************************************************************* * - * @sa MORSE_zgelqf - * @sa MORSE_zgelqf_Tile - * @sa MORSE_cgelqf_Tile_Async - * @sa MORSE_dgelqf_Tile_Async - * @sa MORSE_sgelqf_Tile_Async - * @sa MORSE_zgelqs_Tile_Async + * @sa CHAMELEON_zgelqf + * @sa CHAMELEON_zgelqf_Tile + * @sa CHAMELEON_cgelqf_Tile_Async + * @sa CHAMELEON_dgelqf_Tile_Async + * @sa CHAMELEON_sgelqf_Tile_Async + * @sa CHAMELEON_zgelqs_Tile_Async * */ -int MORSE_zgelqf_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *T, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgelqf_Tile_Async( CHAM_desc_t *A, CHAM_desc_t *T, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgelqf_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgelqf_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgelqf_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgelqf_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgelqf_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgelqf_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgelqf_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqf_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_zgelqf_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqf_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zgelqf_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgelqf_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int m = chameleon_min(A->mt, A->nt) * A->mb; - morse_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); Dptr = &D; } #endif - if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { - morse_pzgelqf( A, T, Dptr, sequence, request ); + if (chamctxt->householder == ChamFlatHouseholder) { + chameleon_pzgelqf( A, T, Dptr, sequence, request ); } else { - morse_pzgelqfrh( A, T, Dptr, MORSE_RHBLK, sequence, request ); + chameleon_pzgelqfrh( A, T, Dptr, CHAMELEON_RHBLK, sequence, request ); } if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgelqf_param.c b/compute/zgelqf_param.c index ffa0f2c84bc2419749e0b04382673009f0951a7d..b967339ad8baf835d546ed277995d485ac3e1f3d 100644 --- a/compute/zgelqf_param.c +++ b/compute/zgelqf_param.c @@ -23,9 +23,9 @@ /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgelqf_param - Computes the tile LQ factorization of a complex M-by-N matrix A: A = L * Q. + * CHAMELEON_zgelqf_param - Computes the tile LQ factorization of a complex M-by-N matrix A: A = L * Q. * ******************************************************************************* * @@ -49,102 +49,102 @@ * The leading dimension of the array A. LDA >= max(1,M). * * @param[out] descT - * On exit, auxiliary factorization data, required by MORSE_zgelqs to solve the system + * On exit, auxiliary factorization data, required by CHAMELEON_zgelqs to solve the system * of equations. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgelqf_param_Tile - * @sa MORSE_zgelqf_param_Tile_Async - * @sa MORSE_cgelqf - * @sa MORSE_dgelqf - * @sa MORSE_sgelqf - * @sa MORSE_zgelqs + * @sa CHAMELEON_zgelqf_param_Tile + * @sa CHAMELEON_zgelqf_param_Tile_Async + * @sa CHAMELEON_cgelqf + * @sa CHAMELEON_dgelqf + * @sa CHAMELEON_sgelqf + * @sa CHAMELEON_zgelqs * */ -int MORSE_zgelqf_param( const libhqr_tree_t *qrtree, int M, int N, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descTS, MORSE_desc_t *descTT ) +int CHAMELEON_zgelqf_param( const libhqr_tree_t *qrtree, int M, int N, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descTS, CHAM_desc_t *descTT ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgelqf_param", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgelqf_param", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zgelqf_param", "illegal value of M"); + chameleon_error("CHAMELEON_zgelqf_param", "illegal value of M"); return -1; } if (N < 0) { - morse_error("MORSE_zgelqf_param", "illegal value of N"); + chameleon_error("CHAMELEON_zgelqf_param", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgelqf_param", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgelqf_param", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgelqf_param", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqf_param", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zgelqf_param_Tile_Async( qrtree, &descAt, descTS, descTT, sequence, &request ); + CHAMELEON_zgelqf_param_Tile_Async( qrtree, &descAt, descTS, descTT, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descTS, sequence ); - MORSE_Desc_Flush( descTT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descTS, sequence ); + CHAMELEON_Desc_Flush( descTT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgelqf_param_Tile - Computes the tile LQ factorization of a matrix. - * Tile equivalent of MORSE_zgelqf_param(). + * CHAMELEON_zgelqf_param_Tile - Computes the tile LQ factorization of a matrix. + * Tile equivalent of CHAMELEON_zgelqf_param(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -159,57 +159,57 @@ int MORSE_zgelqf_param( const libhqr_tree_t *qrtree, int M, int N, * by tiles. * * @param[out] T - * On exit, auxiliary factorization data, required by MORSE_zgelqs to solve the system + * On exit, auxiliary factorization data, required by CHAMELEON_zgelqs to solve the system * of equations. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgelqf_param - * @sa MORSE_zgelqf_param_Tile_Async - * @sa MORSE_cgelqf_Tile - * @sa MORSE_dgelqf_Tile - * @sa MORSE_sgelqf_Tile - * @sa MORSE_zgelqs_Tile + * @sa CHAMELEON_zgelqf_param + * @sa CHAMELEON_zgelqf_param_Tile_Async + * @sa CHAMELEON_cgelqf_Tile + * @sa CHAMELEON_dgelqf_Tile + * @sa CHAMELEON_sgelqf_Tile + * @sa CHAMELEON_zgelqs_Tile * */ -int MORSE_zgelqf_param_Tile( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT ) +int CHAMELEON_zgelqf_param_Tile( const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgelqf_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgelqf_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgelqf_param_Tile_Async( qrtree, A, TS, TT, sequence, &request ); + CHAMELEON_zgelqf_param_Tile_Async( qrtree, A, TS, TT, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgelqf_param_Tile_Async - Computes the tile LQ factorization of a matrix. - * Non-blocking equivalent of MORSE_zgelqf_param_Tile(). + * CHAMELEON_zgelqf_param_Tile_Async - Computes the tile LQ factorization of a matrix. + * Non-blocking equivalent of CHAMELEON_zgelqf_param_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -224,81 +224,82 @@ int MORSE_zgelqf_param_Tile( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE * ******************************************************************************* * - * @sa MORSE_zgelqf_param - * @sa MORSE_zgelqf_param_Tile - * @sa MORSE_cgelqf_Tile_Async - * @sa MORSE_dgelqf_Tile_Async - * @sa MORSE_sgelqf_Tile_Async - * @sa MORSE_zgelqs_Tile_Async + * @sa CHAMELEON_zgelqf_param + * @sa CHAMELEON_zgelqf_param_Tile + * @sa CHAMELEON_cgelqf_Tile_Async + * @sa CHAMELEON_dgelqf_Tile_Async + * @sa CHAMELEON_sgelqf_Tile_Async + * @sa CHAMELEON_zgelqs_Tile_Async * */ -int MORSE_zgelqf_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgelqf_param_Tile_Async( const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgelqf_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgelqf_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgelqf_param_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgelqf_param_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgelqf_param_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgelqf_param_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgelqf_param_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqf_param_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TS) != MORSE_SUCCESS) { - morse_error("MORSE_zgelqf_param_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TS) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqf_param_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TT) != MORSE_SUCCESS) { - morse_error("MORSE_zgelqf_param_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TT) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqf_param_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zgelqf_param_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgelqf_param_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int m = chameleon_min(A->mt, A->nt) * A->mb; - morse_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); Dptr = &D; } #endif - morse_pzgelqf_param( qrtree, A, TS, TT, Dptr, sequence, request ); + chameleon_pzgelqf_param( qrtree, A, TS, TT, Dptr, sequence, request ); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgelqs.c b/compute/zgelqs.c index 1233497593b423092abfc676c12472cf50c7771e..4b1483a7cea1eeb4f929b6a2c8ca704042990b28 100644 --- a/compute/zgelqs.c +++ b/compute/zgelqs.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -28,10 +28,10 @@ /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgelqs - Compute a minimum-norm solution min || A*X - B || using the LQ factorization - * A = L*Q computed by MORSE_zgelqf. + * CHAMELEON_zgelqs - Compute a minimum-norm solution min || A*X - B || using the LQ factorization + * A = L*Q computed by CHAMELEON_zgelqf. * ******************************************************************************* * @@ -45,13 +45,13 @@ * The number of columns of B. NRHS >= 0. * * @param[in] A - * Details of the LQ factorization of the original matrix A as returned by MORSE_zgelqf. + * Details of the LQ factorization of the original matrix A as returned by CHAMELEON_zgelqf. * * @param[in] LDA * The leading dimension of the array A. LDA >= M. * * @param[in] descT - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[in,out] B * On entry, the M-by-NRHS right hand side matrix B. @@ -63,111 +63,111 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgelqs_Tile - * @sa MORSE_zgelqs_Tile_Async - * @sa MORSE_cgelqs - * @sa MORSE_dgelqs - * @sa MORSE_sgelqs - * @sa MORSE_zgelqf + * @sa CHAMELEON_zgelqs_Tile + * @sa CHAMELEON_zgelqs_Tile_Async + * @sa CHAMELEON_cgelqs + * @sa CHAMELEON_dgelqs + * @sa CHAMELEON_sgelqs + * @sa CHAMELEON_zgelqf * */ -int MORSE_zgelqs( int M, int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descT, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zgelqs( int M, int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descT, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgelqs", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgelqs", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zgelqs", "illegal value of M"); + chameleon_error("CHAMELEON_zgelqs", "illegal value of M"); return -1; } if (N < 0 || M > N) { - morse_error("MORSE_zgelqs", "illegal value of N"); + chameleon_error("CHAMELEON_zgelqs", "illegal value of N"); return -2; } if (NRHS < 0) { - morse_error("MORSE_zgelqs", "illegal value of N"); + chameleon_error("CHAMELEON_zgelqs", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgelqs", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgelqs", "illegal value of LDA"); return -5; } if (LDB < chameleon_max(1, chameleon_max(1, N))) { - morse_error("MORSE_zgelqs", "illegal value of LDB"); + chameleon_error("CHAMELEON_zgelqs", "illegal value of LDB"); return -8; } /* Quick return */ if (chameleon_min(M, chameleon_min(N, NRHS)) == 0) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /* Tune NB & IB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgelqs", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqs", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_zgelqs_Tile_Async( &descAt, descT, &descBt, sequence, &request ); + CHAMELEON_zgelqs_Tile_Async( &descAt, descT, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgelqs_Tile - Computes a minimum-norm solution using previously computed + * CHAMELEON_zgelqs_Tile - Computes a minimum-norm solution using previously computed * LQ factorization. - * Tile equivalent of MORSE_zgelqs(). + * Tile equivalent of CHAMELEON_zgelqs(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -175,10 +175,10 @@ int MORSE_zgelqs( int M, int N, int NRHS, ******************************************************************************* * * @param[in] A - * Details of the LQ factorization of the original matrix A as returned by MORSE_zgelqf. + * Details of the LQ factorization of the original matrix A as returned by CHAMELEON_zgelqf. * * @param[in] T - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[in,out] B * On entry, the M-by-NRHS right hand side matrix B. @@ -187,52 +187,52 @@ int MORSE_zgelqs( int M, int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgelqs - * @sa MORSE_zgelqs_Tile_Async - * @sa MORSE_cgelqs_Tile - * @sa MORSE_dgelqs_Tile - * @sa MORSE_sgelqs_Tile - * @sa MORSE_zgelqf_Tile + * @sa CHAMELEON_zgelqs + * @sa CHAMELEON_zgelqs_Tile_Async + * @sa CHAMELEON_cgelqs_Tile + * @sa CHAMELEON_dgelqs_Tile + * @sa CHAMELEON_sgelqs_Tile + * @sa CHAMELEON_zgelqf_Tile * */ -int MORSE_zgelqs_Tile( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B ) +int CHAMELEON_zgelqs_Tile( CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgelqs_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgelqs_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgelqs_Tile_Async( A, T, B, sequence, &request ); + CHAMELEON_zgelqs_Tile_Async( A, T, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgelqs_Tile_Async - Computes a minimum-norm solution using previously + * CHAMELEON_zgelqs_Tile_Async - Computes a minimum-norm solution using previously * computed LQ factorization. - * Non-blocking equivalent of MORSE_zgelqs_Tile(). + * Non-blocking equivalent of CHAMELEON_zgelqs_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -247,100 +247,101 @@ int MORSE_zgelqs_Tile( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B ) * ******************************************************************************* * - * @sa MORSE_zgelqs - * @sa MORSE_zgelqs_Tile - * @sa MORSE_cgelqs_Tile_Async - * @sa MORSE_dgelqs_Tile_Async - * @sa MORSE_sgelqs_Tile_Async - * @sa MORSE_zgelqf_Tile_Async + * @sa CHAMELEON_zgelqs + * @sa CHAMELEON_zgelqs_Tile + * @sa CHAMELEON_cgelqs_Tile_Async + * @sa CHAMELEON_dgelqs_Tile_Async + * @sa CHAMELEON_sgelqs_Tile_Async + * @sa CHAMELEON_zgelqf_Tile_Async * */ -int MORSE_zgelqs_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgelqs_Tile_Async( CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_desc_t *subB; - MORSE_desc_t *subA; - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_desc_t *subB; + CHAM_desc_t *subA; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgelqs_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgelqs_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgelqs_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgelqs_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgelqs_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgelqs_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgelqs_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqs_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_zgelqs_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqs_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zgelqs_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqs_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zgelqs_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgelqs_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(M, chameleon_min(N, NRHS)) == 0) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } */ - /* subB = morse_desc_submatrix(B, A->m, 0, A->n-A->m, B->n); - morse_pzlaset( MorseUpperLower, 0., 0., subB, sequence, request ); + /* subB = chameleon_desc_submatrix(B, A->m, 0, A->n-A->m, B->n); + chameleon_pzlaset( ChamUpperLower, 0., 0., subB, sequence, request ); free(subB); */ - subB = morse_desc_submatrix(B, 0, 0, A->m, B->n); - subA = morse_desc_submatrix(A, 0, 0, A->m, A->m); - morse_pztrsm( MorseLeft, MorseLower, MorseNoTrans, MorseNonUnit, 1.0, subA, subB, sequence, request ); + subB = chameleon_desc_submatrix(B, 0, 0, A->m, B->n); + subA = chameleon_desc_submatrix(A, 0, 0, A->m, A->m); + chameleon_pztrsm( ChamLeft, ChamLower, ChamNoTrans, ChamNonUnit, 1.0, subA, subB, sequence, request ); free(subA); free(subB); #if defined(CHAMELEON_COPY_DIAG) { int m = chameleon_min(A->mt, A->nt) * A->mb; - morse_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); Dptr = &D; } #endif - if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { - morse_pzunmlq( MorseLeft, MorseConjTrans, A, B, T, Dptr, sequence, request ); + if (chamctxt->householder == ChamFlatHouseholder) { + chameleon_pzunmlq( ChamLeft, ChamConjTrans, A, B, T, Dptr, sequence, request ); } else { - morse_pzunmlqrh( MorseLeft, MorseConjTrans, A, B, T, Dptr, MORSE_RHBLK, sequence, request ); + chameleon_pzunmlqrh( ChamLeft, ChamConjTrans, A, B, T, Dptr, CHAMELEON_RHBLK, sequence, request ); } if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgelqs_param.c b/compute/zgelqs_param.c index c62855559f6b6cdb6083f534707800dc156213a0..758775ab8f0338d3c7b2e4d26b1cd6d3052bf86e 100644 --- a/compute/zgelqs_param.c +++ b/compute/zgelqs_param.c @@ -24,10 +24,10 @@ /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgelqs_param - Compute a minimum-norm solution min || A*X - B || using the LQ factorization - * A = L*Q computed by MORSE_zgelqf. + * CHAMELEON_zgelqs_param - Compute a minimum-norm solution min || A*X - B || using the LQ factorization + * A = L*Q computed by CHAMELEON_zgelqf. * ******************************************************************************* * @@ -44,16 +44,16 @@ * The number of columns of B. NRHS >= 0. * * @param[in] A - * Details of the LQ factorization of the original matrix A as returned by MORSE_zgelqf. + * Details of the LQ factorization of the original matrix A as returned by CHAMELEON_zgelqf. * * @param[in] LDA * The leading dimension of the array A. LDA >= M. * * @param[in] descTS - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[in] descTT - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[in,out] B * On entry, the M-by-NRHS right hand side matrix B. @@ -65,112 +65,112 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgelqs_param_Tile - * @sa MORSE_zgelqs_param_Tile_Async - * @sa MORSE_cgelqs - * @sa MORSE_dgelqs - * @sa MORSE_sgelqs - * @sa MORSE_zgelqf + * @sa CHAMELEON_zgelqs_param_Tile + * @sa CHAMELEON_zgelqs_param_Tile_Async + * @sa CHAMELEON_cgelqs + * @sa CHAMELEON_dgelqs + * @sa CHAMELEON_sgelqs + * @sa CHAMELEON_zgelqf * */ -int MORSE_zgelqs_param( const libhqr_tree_t *qrtree, int M, int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descTS, MORSE_desc_t *descTT, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zgelqs_param( const libhqr_tree_t *qrtree, int M, int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descTS, CHAM_desc_t *descTT, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgelqs_param", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgelqs_param", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zgelqs_param", "illegal value of M"); + chameleon_error("CHAMELEON_zgelqs_param", "illegal value of M"); return -1; } if (N < 0 || M > N) { - morse_error("MORSE_zgelqs_param", "illegal value of N"); + chameleon_error("CHAMELEON_zgelqs_param", "illegal value of N"); return -2; } if (NRHS < 0) { - morse_error("MORSE_zgelqs_param", "illegal value of N"); + chameleon_error("CHAMELEON_zgelqs_param", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgelqs_param", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgelqs_param", "illegal value of LDA"); return -5; } if (LDB < chameleon_max(1, chameleon_max(1, N))) { - morse_error("MORSE_zgelqs_param", "illegal value of LDB"); + chameleon_error("CHAMELEON_zgelqs_param", "illegal value of LDB"); return -8; } /* Quick return */ if (chameleon_min(M, chameleon_min(N, NRHS)) == 0) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /* Tune NB & IB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgelqs_param", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqs_param", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_zgelqs_param_Tile_Async( qrtree, &descAt, descTS, descTT, &descBt, sequence, &request ); + CHAMELEON_zgelqs_param_Tile_Async( qrtree, &descAt, descTS, descTT, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descTS, sequence ); - MORSE_Desc_Flush( descTT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descTS, sequence ); + CHAMELEON_Desc_Flush( descTT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgelqs_param_Tile - Computes a minimum-norm solution using previously computed + * CHAMELEON_zgelqs_param_Tile - Computes a minimum-norm solution using previously computed * LQ factorization. - * Tile equivalent of MORSE_zgelqs_param(). + * Tile equivalent of CHAMELEON_zgelqs_param(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -178,13 +178,13 @@ int MORSE_zgelqs_param( const libhqr_tree_t *qrtree, int M, int N, int NRHS, ******************************************************************************* * * @param[in] A - * Details of the LQ factorization of the original matrix A as returned by MORSE_zgelqf. + * Details of the LQ factorization of the original matrix A as returned by CHAMELEON_zgelqf. * * @param[in] TS - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[in] TT - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[in,out] B * On entry, the M-by-NRHS right hand side matrix B. @@ -193,54 +193,54 @@ int MORSE_zgelqs_param( const libhqr_tree_t *qrtree, int M, int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgelqs_param - * @sa MORSE_zgelqs_param_Tile_Async - * @sa MORSE_cgelqs_Tile - * @sa MORSE_dgelqs_Tile - * @sa MORSE_sgelqs_Tile - * @sa MORSE_zgelqf_Tile + * @sa CHAMELEON_zgelqs_param + * @sa CHAMELEON_zgelqs_param_Tile_Async + * @sa CHAMELEON_cgelqs_Tile + * @sa CHAMELEON_dgelqs_Tile + * @sa CHAMELEON_sgelqs_Tile + * @sa CHAMELEON_zgelqf_Tile * */ -int MORSE_zgelqs_param_Tile( const libhqr_tree_t *qrtree, MORSE_desc_t *A, - MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B ) +int CHAMELEON_zgelqs_param_Tile( const libhqr_tree_t *qrtree, CHAM_desc_t *A, + CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgelqs_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgelqs_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgelqs_param_Tile_Async( qrtree, A, TS, TT, B, sequence, &request ); + CHAMELEON_zgelqs_param_Tile_Async( qrtree, A, TS, TT, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgelqs_param_Tile_Async - Computes a minimum-norm solution using previously + * CHAMELEON_zgelqs_param_Tile_Async - Computes a minimum-norm solution using previously * computed LQ factorization. - * Non-blocking equivalent of MORSE_zgelqs_param_Tile(). + * Non-blocking equivalent of CHAMELEON_zgelqs_param_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -255,99 +255,100 @@ int MORSE_zgelqs_param_Tile( const libhqr_tree_t *qrtree, MORSE_desc_t *A, * ******************************************************************************* * - * @sa MORSE_zgelqs_param - * @sa MORSE_zgelqs_param_Tile - * @sa MORSE_cgelqs_Tile_Async - * @sa MORSE_dgelqs_Tile_Async - * @sa MORSE_sgelqs_Tile_Async - * @sa MORSE_zgelqf_Tile_Async + * @sa CHAMELEON_zgelqs_param + * @sa CHAMELEON_zgelqs_param_Tile + * @sa CHAMELEON_cgelqs_Tile_Async + * @sa CHAMELEON_dgelqs_Tile_Async + * @sa CHAMELEON_sgelqs_Tile_Async + * @sa CHAMELEON_zgelqf_Tile_Async * */ -int MORSE_zgelqs_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgelqs_param_Tile_Async( const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_desc_t *subB; - MORSE_desc_t *subA; - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_desc_t *subB; + CHAM_desc_t *subA; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgelqs_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgelqs_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgelqs_param_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgelqs_param_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgelqs_param_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgelqs_param_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgelqs_param_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqs_param_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TS) != MORSE_SUCCESS) { - morse_error("MORSE_zgelqs_param_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TS) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqs_param_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TT) != MORSE_SUCCESS) { - morse_error("MORSE_zgelqs_param_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TT) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqs_param_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zgelqs_param_Tile", "invalid fourth descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgelqs_param_Tile", "invalid fourth descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zgelqs_param_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgelqs_param_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(M, chameleon_min(N, NRHS)) == 0) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } */ - /* subB = morse_desc_submatrix(B, A->m, 0, A->n-A->m, B->n); - morse_pzlaset( MorseUpperLower, 0., 0., subB, sequence, request ); + /* subB = chameleon_desc_submatrix(B, A->m, 0, A->n-A->m, B->n); + chameleon_pzlaset( ChamUpperLower, 0., 0., subB, sequence, request ); free(subB); */ - subB = morse_desc_submatrix(B, 0, 0, A->m, B->n); - subA = morse_desc_submatrix(A, 0, 0, A->m, A->m); - morse_pztrsm( MorseLeft, MorseLower, MorseNoTrans, MorseNonUnit, 1.0, subA, subB, sequence, request ); + subB = chameleon_desc_submatrix(B, 0, 0, A->m, B->n); + subA = chameleon_desc_submatrix(A, 0, 0, A->m, A->m); + chameleon_pztrsm( ChamLeft, ChamLower, ChamNoTrans, ChamNonUnit, 1.0, subA, subB, sequence, request ); free(subA); free(subB); #if defined(CHAMELEON_COPY_DIAG) { int m = chameleon_min(A->mt, A->nt) * A->mb; - morse_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); Dptr = &D; } #endif - morse_pzunmlq_param( qrtree, MorseLeft, MorseConjTrans, A, B, TS, TT, Dptr, sequence, request ); + chameleon_pzunmlq_param( qrtree, ChamLeft, ChamConjTrans, A, B, TS, TT, Dptr, sequence, request ); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgels.c b/compute/zgels.c index ad53082643a65d057caf4638a69413b4cdd12752..4612948cb28b76c531bbc1450802d98682048b1a 100644 --- a/compute/zgels.c +++ b/compute/zgels.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,16 +27,16 @@ /** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgels - solves overdetermined or underdetermined linear systems involving an M-by-N + * CHAMELEON_zgels - solves overdetermined or underdetermined linear systems involving an M-by-N * matrix A using the QR or the LQ factorization of A. It is assumed that A has full rank. * The following options are provided: * - * # trans = MorseNoTrans and M >= N: find the least squares solution of an overdetermined + * # trans = ChamNoTrans and M >= N: find the least squares solution of an overdetermined * system, i.e., solve the least squares problem: minimize || B - A*X ||. * - * # trans = MorseNoTrans and M < N: find the minimum norm solution of an underdetermined + * # trans = ChamNoTrans and M < N: find the minimum norm solution of an underdetermined * system A * X = B. * * Several right hand side vectors B and solution vectors X can be handled in a single call; @@ -47,9 +47,9 @@ * * @param[in] trans * Intended usage: - * = MorseNoTrans: the linear system involves A; - * = MorseConjTrans: the linear system involves A**H. - * Currently only MorseNoTrans is supported. + * = ChamNoTrans: the linear system involves A; + * = ChamConjTrans: the linear system involves A**H. + * Currently only ChamNoTrans is supported. * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -65,9 +65,9 @@ * On entry, the M-by-N matrix A. * On exit, * if M >= N, A is overwritten by details of its QR factorization as returned by - * MORSE_zgeqrf; + * CHAMELEON_zgeqrf; * if M < N, A is overwritten by details of its LQ factorization as returned by - * MORSE_zgelqf. + * CHAMELEON_zgelqf. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,M). @@ -90,61 +90,61 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgels_Tile - * @sa MORSE_zgels_Tile_Async - * @sa MORSE_cgels - * @sa MORSE_dgels - * @sa MORSE_sgels + * @sa CHAMELEON_zgels_Tile + * @sa CHAMELEON_zgels_Tile_Async + * @sa CHAMELEON_cgels + * @sa CHAMELEON_dgels + * @sa CHAMELEON_sgels * */ -int MORSE_zgels( MORSE_enum trans, int M, int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descT, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zgels( cham_trans_t trans, int M, int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descT, + CHAMELEON_Complex64_t *B, int LDB ) { int i, j; int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgels", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgels", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if (trans != MorseNoTrans) { - morse_error("MORSE_zgels", "only MorseNoTrans supported"); - return MORSE_ERR_NOT_SUPPORTED; + if (trans != ChamNoTrans) { + chameleon_error("CHAMELEON_zgels", "only ChamNoTrans supported"); + return CHAMELEON_ERR_NOT_SUPPORTED; } if (M < 0) { - morse_error("MORSE_zgels", "illegal value of M"); + chameleon_error("CHAMELEON_zgels", "illegal value of M"); return -2; } if (N < 0) { - morse_error("MORSE_zgels", "illegal value of N"); + chameleon_error("CHAMELEON_zgels", "illegal value of N"); return -3; } if (NRHS < 0) { - morse_error("MORSE_zgels", "illegal value of NRHS"); + chameleon_error("CHAMELEON_zgels", "illegal value of NRHS"); return -4; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgels", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgels", "illegal value of LDA"); return -6; } if (LDB < chameleon_max(1, chameleon_max(M, N))) { - morse_error("MORSE_zgels", "illegal value of LDB"); + chameleon_error("CHAMELEON_zgels", "illegal value of LDB"); return -9; } /* Quick return */ @@ -152,64 +152,64 @@ int MORSE_zgels( MORSE_enum trans, int M, int N, int NRHS, for (i = 0; i < chameleon_max(M, N); i++) for (j = 0; j < NRHS; j++) B[j*LDB+i] = 0.0; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /* Tune NB & IB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgels", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgels", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ if ( M >= N ) { - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, M, NRHS, sequence, &request ); } else { /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); } /* Call the tile interface */ - MORSE_zgels_Tile_Async( MorseNoTrans, &descAt, descT, &descBt, sequence, &request ); + CHAMELEON_zgels_Tile_Async( ChamNoTrans, &descAt, descT, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgels_Tile - Solves overdetermined or underdetermined linear system of equations + * CHAMELEON_zgels_Tile - Solves overdetermined or underdetermined linear system of equations * using the tile QR or the tile LQ factorization. - * Tile equivalent of MORSE_zgels(). + * Tile equivalent of CHAMELEON_zgels(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -218,17 +218,17 @@ int MORSE_zgels( MORSE_enum trans, int M, int N, int NRHS, * * @param[in] trans * Intended usage: - * = MorseNoTrans: the linear system involves A; - * = MorseConjTrans: the linear system involves A**H. - * Currently only MorseNoTrans is supported. + * = ChamNoTrans: the linear system involves A; + * = ChamConjTrans: the linear system involves A**H. + * Currently only ChamNoTrans is supported. * * @param[in,out] A * On entry, the M-by-N matrix A. * On exit, * if M >= N, A is overwritten by details of its QR factorization as returned by - * MORSE_zgeqrf; + * CHAMELEON_zgeqrf; * if M < N, A is overwritten by details of its LQ factorization as returned by - * MORSE_zgelqf. + * CHAMELEON_zgelqf. * * @param[out] T * On exit, auxiliary factorization data. @@ -245,52 +245,52 @@ int MORSE_zgels( MORSE_enum trans, int M, int N, int NRHS, ******************************************************************************* * * @return - * \return MORSE_SUCCESS successful exit + * \return CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgels - * @sa MORSE_zgels_Tile_Async - * @sa MORSE_cgels_Tile - * @sa MORSE_dgels_Tile - * @sa MORSE_sgels_Tile + * @sa CHAMELEON_zgels + * @sa CHAMELEON_zgels_Tile_Async + * @sa CHAMELEON_cgels_Tile + * @sa CHAMELEON_dgels_Tile + * @sa CHAMELEON_sgels_Tile * */ -int MORSE_zgels_Tile( MORSE_enum trans, MORSE_desc_t *A, - MORSE_desc_t *T, MORSE_desc_t *B ) +int CHAMELEON_zgels_Tile( cham_trans_t trans, CHAM_desc_t *A, + CHAM_desc_t *T, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgels_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgels_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgels_Tile_Async( trans, A, T, B, sequence, &request ); + CHAMELEON_zgels_Tile_Async( trans, A, T, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgels_Tile_Async - Solves overdetermined or underdetermined linear + * CHAMELEON_zgels_Tile_Async - Solves overdetermined or underdetermined linear * system of equations using the tile QR or the tile LQ factorization. - * Non-blocking equivalent of MORSE_zgels_Tile(). + * Non-blocking equivalent of CHAMELEON_zgels_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -305,71 +305,71 @@ int MORSE_zgels_Tile( MORSE_enum trans, MORSE_desc_t *A, * ******************************************************************************* * - * @sa MORSE_zgels - * @sa MORSE_zgels_Tile - * @sa MORSE_cgels_Tile_Async - * @sa MORSE_dgels_Tile_Async - * @sa MORSE_sgels_Tile_Async + * @sa CHAMELEON_zgels + * @sa CHAMELEON_zgels_Tile + * @sa CHAMELEON_cgels_Tile_Async + * @sa CHAMELEON_dgels_Tile_Async + * @sa CHAMELEON_sgels_Tile_Async * */ -int MORSE_zgels_Tile_Async( MORSE_enum trans, MORSE_desc_t *A, - MORSE_desc_t *T, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgels_Tile_Async( cham_trans_t trans, CHAM_desc_t *A, + CHAM_desc_t *T, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_desc_t *subA; - MORSE_desc_t *subB; - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_desc_t *subA; + CHAM_desc_t *subB; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgels_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgels_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgels_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgels_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgels_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgels_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgels_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgels_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_zgels_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgels_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zgels_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgels_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zgels_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgels_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (trans != MorseNoTrans) { - morse_error("MORSE_zgels_Tile", "only MorseNoTrans supported"); - return morse_request_fail(sequence, request, MORSE_ERR_NOT_SUPPORTED); + if (trans != ChamNoTrans) { + chameleon_error("CHAMELEON_zgels_Tile", "only ChamNoTrans supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_NOT_SUPPORTED); } /* Quick return - currently NOT equivalent to LAPACK's: if (chameleon_min(M, chameleon_min(N, NRHS)) == 0) { for (i = 0; i < chameleon_max(M, N); i++) for (j = 0; j < NRHS; j++) B[j*LDB+i] = 0.0; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } */ if (A->m >= A->n) { @@ -377,52 +377,52 @@ int MORSE_zgels_Tile_Async( MORSE_enum trans, MORSE_desc_t *A, #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { + if (chamctxt->householder == ChamFlatHouseholder) { - morse_pzgeqrf( A, T, Dptr, sequence, request ); + chameleon_pzgeqrf( A, T, Dptr, sequence, request ); - morse_pzunmqr( MorseLeft, MorseConjTrans, A, B, T, Dptr, sequence, request ); + chameleon_pzunmqr( ChamLeft, ChamConjTrans, A, B, T, Dptr, sequence, request ); } else { - morse_pzgeqrfrh( A, T, Dptr, MORSE_RHBLK, sequence, request ); + chameleon_pzgeqrfrh( A, T, Dptr, CHAMELEON_RHBLK, sequence, request ); - morse_pzunmqrrh( MorseLeft, MorseConjTrans, A, B, T, Dptr, MORSE_RHBLK, sequence, request ); + chameleon_pzunmqrrh( ChamLeft, ChamConjTrans, A, B, T, Dptr, CHAMELEON_RHBLK, sequence, request ); } - subB = morse_desc_submatrix(B, 0, 0, A->n, B->n); - subA = morse_desc_submatrix(A, 0, 0, A->n, A->n); - morse_pztrsm( MorseLeft, MorseUpper, MorseNoTrans, MorseNonUnit, 1.0, subA, subB, sequence, request ); + subB = chameleon_desc_submatrix(B, 0, 0, A->n, B->n); + subA = chameleon_desc_submatrix(A, 0, 0, A->n, A->n); + chameleon_pztrsm( ChamLeft, ChamUpper, ChamNoTrans, ChamNonUnit, 1.0, subA, subB, sequence, request ); } else { - /* subB = morse_desc_submatrix(B, A->m, 0, A->n-A->m, B->n); - morse_pzlaset( MorseUpperLower, 0., 0., subB, sequence, request ); + /* subB = chameleon_desc_submatrix(B, A->m, 0, A->n-A->m, B->n); + chameleon_pzlaset( ChamUpperLower, 0., 0., subB, sequence, request ); free(subB); */ #if defined(CHAMELEON_COPY_DIAG) { int m = chameleon_min(A->mt, A->nt) * A->mb; - morse_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); Dptr = &D; } #endif - if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { - morse_pzgelqf( A, T, Dptr, sequence, request ); + if (chamctxt->householder == ChamFlatHouseholder) { + chameleon_pzgelqf( A, T, Dptr, sequence, request ); } else { - morse_pzgelqfrh( A, T, Dptr, MORSE_RHBLK, sequence, request ); + chameleon_pzgelqfrh( A, T, Dptr, CHAMELEON_RHBLK, sequence, request ); } - subB = morse_desc_submatrix(B, 0, 0, A->m, B->n); - subA = morse_desc_submatrix(A, 0, 0, A->m, A->m); - morse_pztrsm( MorseLeft, MorseLower, MorseNoTrans, MorseNonUnit, 1.0, subA, subB, sequence, request ); + subB = chameleon_desc_submatrix(B, 0, 0, A->m, B->n); + subA = chameleon_desc_submatrix(A, 0, 0, A->m, A->m); + chameleon_pztrsm( ChamLeft, ChamLower, ChamNoTrans, ChamNonUnit, 1.0, subA, subB, sequence, request ); - if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { - morse_pzunmlq( MorseLeft, MorseConjTrans, A, B, T, Dptr, sequence, request ); + if (chamctxt->householder == ChamFlatHouseholder) { + chameleon_pzunmlq( ChamLeft, ChamConjTrans, A, B, T, Dptr, sequence, request ); } else { - morse_pzunmlqrh( MorseLeft, MorseConjTrans, A, B, T, Dptr, MORSE_RHBLK, sequence, request ); + chameleon_pzunmlqrh( ChamLeft, ChamConjTrans, A, B, T, Dptr, CHAMELEON_RHBLK, sequence, request ); } } @@ -430,13 +430,14 @@ int MORSE_zgels_Tile_Async( MORSE_enum trans, MORSE_desc_t *A, free(subB); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgels_param.c b/compute/zgels_param.c index bada9e30021814d1a4d79cc174d6f6804853d240..15233f0a6275186fb04e6f42426c89666edaa8ea 100644 --- a/compute/zgels_param.c +++ b/compute/zgels_param.c @@ -24,16 +24,16 @@ /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgels_param - solves overdetermined or underdetermined linear systems involving an M-by-N + * CHAMELEON_zgels_param - solves overdetermined or underdetermined linear systems involving an M-by-N * matrix A using the QR or the LQ factorization of A. It is assumed that A has full rank. * The following options are provided: * - * # trans = MorseNoTrans and M >= N: find the least squares solution of an overdetermined + * # trans = ChamNoTrans and M >= N: find the least squares solution of an overdetermined * system, i.e., solve the least squares problem: minimize || B - A*X ||. * - * # trans = MorseNoTrans and M < N: find the minimum norm solution of an underdetermined + * # trans = ChamNoTrans and M < N: find the minimum norm solution of an underdetermined * system A * X = B. * * Several right hand side vectors B and solution vectors X can be handled in a single call; @@ -47,9 +47,9 @@ * * @param[in] trans * Intended usage: - * = MorseNoTrans: the linear system involves A; - * = MorseConjTrans: the linear system involves A**H. - * Currently only MorseNoTrans is supported. + * = ChamNoTrans: the linear system involves A; + * = ChamConjTrans: the linear system involves A**H. + * Currently only ChamNoTrans is supported. * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -65,9 +65,9 @@ * On entry, the M-by-N matrix A. * On exit, * if M >= N, A is overwritten by details of its QR factorization as returned by - * MORSE_zgeqrf; + * CHAMELEON_zgeqrf; * if M < N, A is overwritten by details of its LQ factorization as returned by - * MORSE_zgelqf. + * CHAMELEON_zgelqf. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,M). @@ -93,61 +93,61 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgels_param_Tile - * @sa MORSE_zgels_param_Tile_Async - * @sa MORSE_cgels - * @sa MORSE_dgels - * @sa MORSE_sgels + * @sa CHAMELEON_zgels_param_Tile + * @sa CHAMELEON_zgels_param_Tile_Async + * @sa CHAMELEON_cgels + * @sa CHAMELEON_dgels + * @sa CHAMELEON_sgels * */ -int MORSE_zgels_param( const libhqr_tree_t *qrtree, MORSE_enum trans, int M, int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descTS, MORSE_desc_t *descTT, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zgels_param( const libhqr_tree_t *qrtree, cham_trans_t trans, int M, int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descTS, CHAM_desc_t *descTT, + CHAMELEON_Complex64_t *B, int LDB ) { int i, j; int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgels_param", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgels_param", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if (trans != MorseNoTrans) { - morse_error("MORSE_zgels_param", "only MorseNoTrans supported"); - return MORSE_ERR_NOT_SUPPORTED; + if (trans != ChamNoTrans) { + chameleon_error("CHAMELEON_zgels_param", "only ChamNoTrans supported"); + return CHAMELEON_ERR_NOT_SUPPORTED; } if (M < 0) { - morse_error("MORSE_zgels_param", "illegal value of M"); + chameleon_error("CHAMELEON_zgels_param", "illegal value of M"); return -2; } if (N < 0) { - morse_error("MORSE_zgels_param", "illegal value of N"); + chameleon_error("CHAMELEON_zgels_param", "illegal value of N"); return -3; } if (NRHS < 0) { - morse_error("MORSE_zgels_param", "illegal value of NRHS"); + chameleon_error("CHAMELEON_zgels_param", "illegal value of NRHS"); return -4; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgels_param", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgels_param", "illegal value of LDA"); return -6; } if (LDB < chameleon_max(1, chameleon_max(M, N))) { - morse_error("MORSE_zgels_param", "illegal value of LDB"); + chameleon_error("CHAMELEON_zgels_param", "illegal value of LDB"); return -9; } /* Quick return */ @@ -155,64 +155,64 @@ int MORSE_zgels_param( const libhqr_tree_t *qrtree, MORSE_enum trans, int M, int for (i = 0; i < chameleon_max(M, N); i++) for (j = 0; j < NRHS; j++) B[j*LDB+i] = 0.0; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /* Tune NB & IB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgels_param", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgels_param", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ if ( M >= N ) { - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, M, NRHS, sequence, &request ); } else { - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); } /* Call the tile interface */ - MORSE_zgels_param_Tile_Async( qrtree, MorseNoTrans, &descAt, descTS, descTT, &descBt, sequence, &request ); + CHAMELEON_zgels_param_Tile_Async( qrtree, ChamNoTrans, &descAt, descTS, descTT, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descTS, sequence ); - MORSE_Desc_Flush( descTT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descTS, sequence ); + CHAMELEON_Desc_Flush( descTT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgels_param_Tile - Solves overdetermined or underdetermined linear system of equations + * CHAMELEON_zgels_param_Tile - Solves overdetermined or underdetermined linear system of equations * using the tile QR or the tile LQ factorization. - * Tile equivalent of MORSE_zgels_param(). + * Tile equivalent of CHAMELEON_zgels_param(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -221,17 +221,17 @@ int MORSE_zgels_param( const libhqr_tree_t *qrtree, MORSE_enum trans, int M, int * * @param[in] trans * Intended usage: - * = MorseNoTrans: the linear system involves A; - * = MorseConjTrans: the linear system involves A**H. - * Currently only MorseNoTrans is supported. + * = ChamNoTrans: the linear system involves A; + * = ChamConjTrans: the linear system involves A**H. + * Currently only ChamNoTrans is supported. * * @param[in,out] A * On entry, the M-by-N matrix A. * On exit, * if M >= N, A is overwritten by details of its QR factorization as returned by - * MORSE_zgeqrf; + * CHAMELEON_zgeqrf; * if M < N, A is overwritten by details of its LQ factorization as returned by - * MORSE_zgelqf. + * CHAMELEON_zgelqf. * * @param[out] TS * On exit, auxiliary factorization data. @@ -251,53 +251,53 @@ int MORSE_zgels_param( const libhqr_tree_t *qrtree, MORSE_enum trans, int M, int ******************************************************************************* * * @return - * \return MORSE_SUCCESS successful exit + * \return CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgels_param - * @sa MORSE_zgels_param_Tile_Async - * @sa MORSE_cgels_Tile - * @sa MORSE_dgels_Tile - * @sa MORSE_sgels_Tile + * @sa CHAMELEON_zgels_param + * @sa CHAMELEON_zgels_param_Tile_Async + * @sa CHAMELEON_cgels_Tile + * @sa CHAMELEON_dgels_Tile + * @sa CHAMELEON_sgels_Tile * */ -int MORSE_zgels_param_Tile( const libhqr_tree_t *qrtree, MORSE_enum trans, MORSE_desc_t *A, - MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B ) +int CHAMELEON_zgels_param_Tile( const libhqr_tree_t *qrtree, cham_trans_t trans, CHAM_desc_t *A, + CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgels_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgels_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgels_param_Tile_Async( qrtree, trans, A, TS, TT, B, sequence, &request ); + CHAMELEON_zgels_param_Tile_Async( qrtree, trans, A, TS, TT, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgels_param_Tile_Async - Solves overdetermined or underdetermined linear + * CHAMELEON_zgels_param_Tile_Async - Solves overdetermined or underdetermined linear * system of equations using the tile QR or the tile LQ factorization. - * Non-blocking equivalent of MORSE_zgels_param_Tile(). + * Non-blocking equivalent of CHAMELEON_zgels_param_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -312,75 +312,75 @@ int MORSE_zgels_param_Tile( const libhqr_tree_t *qrtree, MORSE_enum trans, MORSE * ******************************************************************************* * - * @sa MORSE_zgels_param - * @sa MORSE_zgels_param_Tile - * @sa MORSE_cgels_Tile_Async - * @sa MORSE_dgels_Tile_Async - * @sa MORSE_sgels_Tile_Async + * @sa CHAMELEON_zgels_param + * @sa CHAMELEON_zgels_param_Tile + * @sa CHAMELEON_cgels_Tile_Async + * @sa CHAMELEON_dgels_Tile_Async + * @sa CHAMELEON_sgels_Tile_Async * */ -int MORSE_zgels_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_enum trans, MORSE_desc_t *A, - MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgels_param_Tile_Async( const libhqr_tree_t *qrtree, cham_trans_t trans, CHAM_desc_t *A, + CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_desc_t *subA; - MORSE_desc_t *subB; - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_desc_t *subA; + CHAM_desc_t *subB; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgels_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgels_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgels_param_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgels_param_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgels_param_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgels_param_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgels_param_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgels_param_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TS) != MORSE_SUCCESS) { - morse_error("MORSE_zgels_param_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TS) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgels_param_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TT) != MORSE_SUCCESS) { - morse_error("MORSE_zgels_param_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TT) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgels_param_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zgels_param_Tile", "invalid fourth descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgels_param_Tile", "invalid fourth descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zgels_param_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgels_param_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (trans != MorseNoTrans) { - morse_error("MORSE_zgels_param_Tile", "only MorseNoTrans supported"); - return morse_request_fail(sequence, request, MORSE_ERR_NOT_SUPPORTED); + if (trans != ChamNoTrans) { + chameleon_error("CHAMELEON_zgels_param_Tile", "only ChamNoTrans supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_NOT_SUPPORTED); } /* Quick return - currently NOT equivalent to LAPACK's: if (chameleon_min(M, chameleon_min(N, NRHS)) == 0) { for (i = 0; i < chameleon_max(M, N); i++) for (j = 0; j < NRHS; j++) B[j*LDB+i] = 0.0; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } */ if (A->m >= A->n) { @@ -388,47 +388,48 @@ int MORSE_zgels_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_enum trans, #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - subB = morse_desc_submatrix(B, 0, 0, A->n, B->n); - subA = morse_desc_submatrix(A, 0, 0, A->n, A->n); + subB = chameleon_desc_submatrix(B, 0, 0, A->n, B->n); + subA = chameleon_desc_submatrix(A, 0, 0, A->n, A->n); - morse_pzgeqrf_param( qrtree, A, TS, TT, Dptr, sequence, request ); - morse_pzunmqr_param( qrtree, MorseLeft, MorseConjTrans, A, B, TS, TT, Dptr, sequence, request ); - morse_pztrsm( MorseLeft, MorseUpper, MorseNoTrans, MorseNonUnit, 1.0, subA, subB, sequence, request ); + chameleon_pzgeqrf_param( qrtree, A, TS, TT, Dptr, sequence, request ); + chameleon_pzunmqr_param( qrtree, ChamLeft, ChamConjTrans, A, B, TS, TT, Dptr, sequence, request ); + chameleon_pztrsm( ChamLeft, ChamUpper, ChamNoTrans, ChamNonUnit, 1.0, subA, subB, sequence, request ); } else { #if defined(CHAMELEON_COPY_DIAG) { int m = chameleon_min(A->mt, A->nt) * A->mb; - morse_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); Dptr = &D; } #endif - subB = morse_desc_submatrix(B, 0, 0, A->m, B->n); - subA = morse_desc_submatrix(A, 0, 0, A->m, A->m); + subB = chameleon_desc_submatrix(B, 0, 0, A->m, B->n); + subA = chameleon_desc_submatrix(A, 0, 0, A->m, A->m); - morse_pzgelqf_param( qrtree, A, TS, TT, Dptr, sequence, request ); - morse_pztrsm( MorseLeft, MorseLower, MorseNoTrans, MorseNonUnit, 1.0, subA, subB, sequence, request ); - morse_pzunmlq_param( qrtree, MorseLeft, MorseConjTrans, A, B, TS, TT, Dptr, sequence, request ); + chameleon_pzgelqf_param( qrtree, A, TS, TT, Dptr, sequence, request ); + chameleon_pztrsm( ChamLeft, ChamLower, ChamNoTrans, ChamNonUnit, 1.0, subA, subB, sequence, request ); + chameleon_pzunmlq_param( qrtree, ChamLeft, ChamConjTrans, A, B, TS, TT, Dptr, sequence, request ); } free(subA); free(subB); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgemm.c b/compute/zgemm.c index 06cf67878cab867703f2cac1b9538c95600030db..9f13d6a44ace996bf409a5710e3ce768f79dcaf1 100644 --- a/compute/zgemm.c +++ b/compute/zgemm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -25,21 +25,21 @@ /** * - * @defgroup MORSE_Complex64_t + * @defgroup CHAMELEON_Complex64_t * @brief Linear algebra routines exposed to users. LAPACK matrix data storage * */ /** * - * @defgroup MORSE_Complex64_t_Tile + * @defgroup CHAMELEON_Complex64_t_Tile * @brief Linear algebra routines exposed to users. Tile matrix data storage * */ /** * - * @defgroup MORSE_Complex64_t_Tile_Async + * @defgroup CHAMELEON_Complex64_t_Tile_Async * @brief Linear algebra routines exposed to users. Tile matrix data storage, * asynchronous interface. * @@ -48,9 +48,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgemm - Performs one of the matrix-matrix operations + * CHAMELEON_zgemm - Performs one of the matrix-matrix operations * * \f[ C = \alpha [op( A )\times op( B )] + \beta C \f], * @@ -65,15 +65,15 @@ * * @param[in] transA * Specifies whether the matrix A is transposed, not transposed or conjugate transposed: - * = MorseNoTrans: A is not transposed; - * = MorseTrans: A is transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is not transposed; + * = ChamTrans: A is transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] transB * Specifies whether the matrix B is transposed, not transposed or conjugate transposed: - * = MorseNoTrans: B is not transposed; - * = MorseTrans: B is transposed; - * = MorseConjTrans: B is conjugate transposed. + * = ChamNoTrans: B is not transposed; + * = ChamTrans: B is transposed; + * = ChamConjTrans: B is conjugate transposed. * * @param[in] M * M specifies the number of rows of the matrix op( A ) and of the matrix C. M >= 0. @@ -89,14 +89,14 @@ * alpha specifies the scalar alpha * * @param[in] A - * A is a LDA-by-ka matrix, where ka is K when transA = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is K when transA = ChamNoTrans, * and is M otherwise. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,M). * * @param[in] B - * B is a LDB-by-kb matrix, where kb is N when transB = MorseNoTrans, + * B is a LDB-by-kb matrix, where kb is N when transB = ChamNoTrans, * and is K otherwise. * * @param[in] LDB @@ -115,136 +115,136 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgemm_Tile - * @sa MORSE_cgemm - * @sa MORSE_dgemm - * @sa MORSE_sgemm + * @sa CHAMELEON_zgemm_Tile + * @sa CHAMELEON_cgemm + * @sa CHAMELEON_dgemm + * @sa CHAMELEON_sgemm * */ -int MORSE_zgemm( MORSE_enum transA, MORSE_enum transB, int M, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC ) +int CHAMELEON_zgemm( cham_trans_t transA, cham_trans_t transB, int M, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC ) { int NB; int Am, An, Bm, Bn; int status; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; - MORSE_desc_t descCl, descCt; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; + CHAM_desc_t descCl, descCt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgemm", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgemm", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((transA < MorseNoTrans) || (transA > MorseConjTrans)) { - morse_error("MORSE_zgemm", "illegal value of transA"); + if ((transA < ChamNoTrans) || (transA > ChamConjTrans)) { + chameleon_error("CHAMELEON_zgemm", "illegal value of transA"); return -1; } - if ((transB < MorseNoTrans) || (transB > MorseConjTrans)) { - morse_error("MORSE_zgemm", "illegal value of transB"); + if ((transB < ChamNoTrans) || (transB > ChamConjTrans)) { + chameleon_error("CHAMELEON_zgemm", "illegal value of transB"); return -2; } - if ( transA == MorseNoTrans ) { + if ( transA == ChamNoTrans ) { Am = M; An = K; } else { Am = K; An = M; } - if ( transB == MorseNoTrans ) { + if ( transB == ChamNoTrans ) { Bm = K; Bn = N; } else { Bm = N; Bn = K; } if (M < 0) { - morse_error("MORSE_zgemm", "illegal value of M"); + chameleon_error("CHAMELEON_zgemm", "illegal value of M"); return -3; } if (N < 0) { - morse_error("MORSE_zgemm", "illegal value of N"); + chameleon_error("CHAMELEON_zgemm", "illegal value of N"); return -4; } if (K < 0) { - morse_error("MORSE_zgemm", "illegal value of N"); + chameleon_error("CHAMELEON_zgemm", "illegal value of N"); return -5; } if (LDA < chameleon_max(1, Am)) { - morse_error("MORSE_zgemm", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgemm", "illegal value of LDA"); return -8; } if (LDB < chameleon_max(1, Bm)) { - morse_error("MORSE_zgemm", "illegal value of LDB"); + chameleon_error("CHAMELEON_zgemm", "illegal value of LDB"); return -10; } if (LDC < chameleon_max(1, M)) { - morse_error("MORSE_zgemm", "illegal value of LDC"); + chameleon_error("CHAMELEON_zgemm", "illegal value of LDC"); return -13; } /* Quick return */ if (M == 0 || N == 0 || - ((alpha == (MORSE_Complex64_t)0.0 || K == 0) && beta == (MORSE_Complex64_t)1.0)) - return MORSE_SUCCESS; + ((alpha == (CHAMELEON_Complex64_t)0.0 || K == 0) && beta == (CHAMELEON_Complex64_t)1.0)) + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGEMM, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgemm", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgemm", "chameleon_tune() failed"); return status; } /* Set MT & NT & KT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInput, ChamUpperLower, B, NB, NB, LDB, Bn, Bm, Bn, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descCl, &descCt, ChamDescInout, ChamUpperLower, 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 ); + CHAMELEON_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 ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descCl, &descCt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); - morse_ztile2lap_cleanup( morse, &descCl, &descCt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descCl, &descCt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgemm_Tile - Performs matrix multiplication. - * Tile equivalent of MORSE_zgemm(). + * CHAMELEON_zgemm_Tile - Performs matrix multiplication. + * Tile equivalent of CHAMELEON_zgemm(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -253,25 +253,25 @@ int MORSE_zgemm( MORSE_enum transA, MORSE_enum transB, int M, int N, int K, * * @param[in] transA * Specifies whether the matrix A is transposed, not transposed or conjugate transposed: - * = MorseNoTrans: A is not transposed; - * = MorseTrans: A is transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is not transposed; + * = ChamTrans: A is transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] transB * Specifies whether the matrix B is transposed, not transposed or conjugate transposed: - * = MorseNoTrans: B is not transposed; - * = MorseTrans: B is transposed; - * = MorseConjTrans: B is conjugate transposed. + * = ChamNoTrans: B is not transposed; + * = ChamTrans: B is transposed; + * = ChamConjTrans: B is conjugate transposed. * * @param[in] alpha * alpha specifies the scalar alpha * * @param[in] A - * A is a LDA-by-ka matrix, where ka is K when transA = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is K when transA = ChamNoTrans, * and is M otherwise. * * @param[in] B - * B is a LDB-by-kb matrix, where kb is N when transB = MorseNoTrans, + * B is a LDB-by-kb matrix, where kb is N when transB = ChamNoTrans, * and is K otherwise. * * @param[in] beta @@ -284,52 +284,52 @@ int MORSE_zgemm( MORSE_enum transA, MORSE_enum transB, int M, int N, int K, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgemm - * @sa MORSE_zgemm_Tile_Async - * @sa MORSE_cgemm_Tile - * @sa MORSE_dgemm_Tile - * @sa MORSE_sgemm_Tile + * @sa CHAMELEON_zgemm + * @sa CHAMELEON_zgemm_Tile_Async + * @sa CHAMELEON_cgemm_Tile + * @sa CHAMELEON_dgemm_Tile + * @sa CHAMELEON_sgemm_Tile * */ -int MORSE_zgemm_Tile( MORSE_enum transA, MORSE_enum transB, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_Complex64_t beta, MORSE_desc_t *C ) +int CHAMELEON_zgemm_Tile( cham_trans_t transA, cham_trans_t transB, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgemm_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgemm_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgemm_Tile_Async( transA, transB, alpha, A, B, beta, C, sequence, &request ); + CHAMELEON_zgemm_Tile_Async( transA, transB, alpha, A, B, beta, C, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgemm_Tile_Async - Performs matrix multiplication. - * Non-blocking equivalent of MORSE_zgemm_Tile(). + * CHAMELEON_zgemm_Tile_Async - Performs matrix multiplication. + * Non-blocking equivalent of CHAMELEON_zgemm_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -344,68 +344,68 @@ int MORSE_zgemm_Tile( MORSE_enum transA, MORSE_enum transB, * ******************************************************************************* * - * @sa MORSE_zgemm - * @sa MORSE_zgemm_Tile - * @sa MORSE_cgemm_Tile_Async - * @sa MORSE_dgemm_Tile_Async - * @sa MORSE_sgemm_Tile_Async + * @sa CHAMELEON_zgemm + * @sa CHAMELEON_zgemm_Tile + * @sa CHAMELEON_cgemm_Tile_Async + * @sa CHAMELEON_dgemm_Tile_Async + * @sa CHAMELEON_sgemm_Tile_Async * */ -int MORSE_zgemm_Tile_Async( MORSE_enum transA, MORSE_enum transB, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_Complex64_t beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgemm_Tile_Async( cham_trans_t transA, cham_trans_t transB, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; int M, N, K; int Am, An, Ai, Aj, Amb, Anb; int Bm, Bn, Bi, Bj, Bmb, Bnb; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgemm_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgemm_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgemm_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgemm_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgemm_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgemm_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgemm_Tile_Async", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgemm_Tile_Async", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zgemm_Tile_Async", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgemm_Tile_Async", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(C) != MORSE_SUCCESS) { - morse_error("MORSE_zgemm_Tile_Async", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(C) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgemm_Tile_Async", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ - if ((transA < MorseNoTrans) || (transA > MorseConjTrans)) { - morse_error("MORSE_zgemm_Tile_Async", "illegal value of transA"); - return morse_request_fail(sequence, request, -1); + if ((transA < ChamNoTrans) || (transA > ChamConjTrans)) { + chameleon_error("CHAMELEON_zgemm_Tile_Async", "illegal value of transA"); + return chameleon_request_fail(sequence, request, -1); } - if ((transB < MorseNoTrans) || (transB > MorseConjTrans)) { - morse_error("MORSE_zgemm_Tile_Async", "illegal value of transB"); - return morse_request_fail(sequence, request, -2); + if ((transB < ChamNoTrans) || (transB > ChamConjTrans)) { + chameleon_error("CHAMELEON_zgemm_Tile_Async", "illegal value of transB"); + return chameleon_request_fail(sequence, request, -2); } - if ( transA == MorseNoTrans ) { + if ( transA == ChamNoTrans ) { Am = A->m; An = A->n; Amb = A->mb; @@ -421,7 +421,7 @@ int MORSE_zgemm_Tile_Async( MORSE_enum transA, MORSE_enum transB, Aj = A->i; } - if ( transB == MorseNoTrans ) { + if ( transB == ChamNoTrans ) { Bm = B->m; Bn = B->n; Bmb = B->mb; @@ -438,16 +438,16 @@ int MORSE_zgemm_Tile_Async( MORSE_enum transA, MORSE_enum transB, } if ( (Amb != C->mb) || (Anb != Bmb) || (Bnb != C->nb) ) { - morse_error("MORSE_zgemm_Tile_Async", "tile sizes have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgemm_Tile_Async", "tile sizes have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (Am != C->m) || (An != Bm) || (Bn != C->n) ) { - morse_error("MORSE_zgemm_Tile_Async", "sizes of matrices have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgemm_Tile_Async", "sizes of matrices have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (Ai != C->i) || (Aj != Bi) || (Bj != C->j) ) { - morse_error("MORSE_zgemm_Tile_Async", "start indexes have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgemm_Tile_Async", "start indexes have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } M = C->m; @@ -456,12 +456,12 @@ int MORSE_zgemm_Tile_Async( MORSE_enum transA, MORSE_enum transB, /* Quick return */ if ( (M == 0) || (N == 0) || - (((alpha == (MORSE_Complex64_t)0.0) || (K == 0)) && (beta == (MORSE_Complex64_t)1.0)) ) + (((alpha == (CHAMELEON_Complex64_t)0.0) || (K == 0)) && (beta == (CHAMELEON_Complex64_t)1.0)) ) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzgemm( transA, transB, alpha, A, B, beta, C, sequence, request ); + chameleon_pzgemm( transA, transB, alpha, A, B, beta, C, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgeqrf.c b/compute/zgeqrf.c index 1e6e9925f0b49477758943aeeb54b51748b85f9e..6a16dbd2abf11b5995f75eaeaf973c68375e0e95 100644 --- a/compute/zgeqrf.c +++ b/compute/zgeqrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,9 +27,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgeqrf - Computes the tile QR factorization of a complex M-by-N matrix A: A = Q * R. + * CHAMELEON_zgeqrf - Computes the tile QR factorization of a complex M-by-N matrix A: A = Q * R. * ******************************************************************************* * @@ -50,101 +50,101 @@ * The leading dimension of the array A. LDA >= max(1,M). * * @param[out] descT - * On exit, auxiliary factorization data, required by MORSE_zgeqrs to solve the system + * On exit, auxiliary factorization data, required by CHAMELEON_zgeqrs to solve the system * of equations. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgeqrf_Tile - * @sa MORSE_zgeqrf_Tile_Async - * @sa MORSE_cgeqrf - * @sa MORSE_dgeqrf - * @sa MORSE_sgeqrf - * @sa MORSE_zgeqrs + * @sa CHAMELEON_zgeqrf_Tile + * @sa CHAMELEON_zgeqrf_Tile_Async + * @sa CHAMELEON_cgeqrf + * @sa CHAMELEON_dgeqrf + * @sa CHAMELEON_sgeqrf + * @sa CHAMELEON_zgeqrs * */ -int MORSE_zgeqrf( int M, int N, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descT ) +int CHAMELEON_zgeqrf( int M, int N, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descT ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeqrf", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeqrf", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zgeqrf", "illegal value of M"); + chameleon_error("CHAMELEON_zgeqrf", "illegal value of M"); return -1; } if (N < 0) { - morse_error("MORSE_zgeqrf", "illegal value of N"); + chameleon_error("CHAMELEON_zgeqrf", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgeqrf", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgeqrf", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrf", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrf", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zgeqrf_Tile_Async( &descAt, descT, sequence, &request ); + CHAMELEON_zgeqrf_Tile_Async( &descAt, descT, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgeqrf_Tile - Computes the tile QR factorization of a matrix. - * Tile equivalent of MORSE_zgeqrf(). + * CHAMELEON_zgeqrf_Tile - Computes the tile QR factorization of a matrix. + * Tile equivalent of CHAMELEON_zgeqrf(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -159,56 +159,56 @@ int MORSE_zgeqrf( int M, int N, * by tiles. * * @param[out] T - * On exit, auxiliary factorization data, required by MORSE_zgeqrs to solve the system + * On exit, auxiliary factorization data, required by CHAMELEON_zgeqrs to solve the system * of equations. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgeqrf - * @sa MORSE_zgeqrf_Tile_Async - * @sa MORSE_cgeqrf_Tile - * @sa MORSE_dgeqrf_Tile - * @sa MORSE_sgeqrf_Tile - * @sa MORSE_zgeqrs_Tile + * @sa CHAMELEON_zgeqrf + * @sa CHAMELEON_zgeqrf_Tile_Async + * @sa CHAMELEON_cgeqrf_Tile + * @sa CHAMELEON_dgeqrf_Tile + * @sa CHAMELEON_sgeqrf_Tile + * @sa CHAMELEON_zgeqrs_Tile * */ -int MORSE_zgeqrf_Tile( MORSE_desc_t *A, MORSE_desc_t *T ) +int CHAMELEON_zgeqrf_Tile( CHAM_desc_t *A, CHAM_desc_t *T ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeqrf_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeqrf_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgeqrf_Tile_Async( A, T, sequence, &request ); + CHAMELEON_zgeqrf_Tile_Async( A, T, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ***************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgeqrf_Tile_Async - Computes the tile QR factorization of a matrix. - * Non-blocking equivalent of MORSE_zgeqrf_Tile(). + * CHAMELEON_zgeqrf_Tile_Async - Computes the tile QR factorization of a matrix. + * Non-blocking equivalent of CHAMELEON_zgeqrf_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -223,81 +223,82 @@ int MORSE_zgeqrf_Tile( MORSE_desc_t *A, MORSE_desc_t *T ) * ******************************************************************************* * - * @sa MORSE_zgeqrf - * @sa MORSE_zgeqrf_Tile - * @sa MORSE_cgeqrf_Tile_Async - * @sa MORSE_dgeqrf_Tile_Async - * @sa MORSE_sgeqrf_Tile_Async - * @sa MORSE_zgeqrs_Tile_Async + * @sa CHAMELEON_zgeqrf + * @sa CHAMELEON_zgeqrf_Tile + * @sa CHAMELEON_cgeqrf_Tile_Async + * @sa CHAMELEON_dgeqrf_Tile_Async + * @sa CHAMELEON_sgeqrf_Tile_Async + * @sa CHAMELEON_zgeqrs_Tile_Async * */ -int MORSE_zgeqrf_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *T, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgeqrf_Tile_Async( CHAM_desc_t *A, CHAM_desc_t *T, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_zgeqrf_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_zgeqrf_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgeqrf_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgeqrf_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgeqrf_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgeqrf_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrf_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrf_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrf_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrf_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zgeqrf_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgeqrf_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { - morse_pzgeqrf( A, T, Dptr, sequence, request ); + if (chamctxt->householder == ChamFlatHouseholder) { + chameleon_pzgeqrf( A, T, Dptr, sequence, request ); } else { - morse_pzgeqrfrh( A, T, Dptr, MORSE_RHBLK, sequence, request ); + chameleon_pzgeqrfrh( A, T, Dptr, CHAMELEON_RHBLK, sequence, request ); } if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgeqrf_param.c b/compute/zgeqrf_param.c index ff8747edef2155f8fbf4daef84bcc5595ebe7a36..17f2a2a3d32f9c210f105e55b2b12165ba0133d2 100644 --- a/compute/zgeqrf_param.c +++ b/compute/zgeqrf_param.c @@ -23,9 +23,9 @@ /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgeqrf_param - Computes the tile QR factorization of a complex M-by-N + * CHAMELEON_zgeqrf_param - Computes the tile QR factorization of a complex M-by-N * matrix A: A = Q * R. * ******************************************************************************* @@ -50,106 +50,106 @@ * The leading dimension of the array A. LDA >= max(1,M). * * @param[out] descTS - * On exit, auxiliary factorization data, required by MORSE_zgeqrs to solve the system + * On exit, auxiliary factorization data, required by CHAMELEON_zgeqrs to solve the system * of equations. * * @param[out] descTT - * On exit, auxiliary factorization data, required by MORSE_zgeqrs to solve the system + * On exit, auxiliary factorization data, required by CHAMELEON_zgeqrs to solve the system * of equations. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgeqrf_param_Tile - * @sa MORSE_zgeqrf_param_Tile_Async - * @sa MORSE_cgeqrf - * @sa MORSE_dgeqrf - * @sa MORSE_sgeqrf - * @sa MORSE_zgeqrs + * @sa CHAMELEON_zgeqrf_param_Tile + * @sa CHAMELEON_zgeqrf_param_Tile_Async + * @sa CHAMELEON_cgeqrf + * @sa CHAMELEON_dgeqrf + * @sa CHAMELEON_sgeqrf + * @sa CHAMELEON_zgeqrs * */ -int MORSE_zgeqrf_param( const libhqr_tree_t *qrtree, int M, int N, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descTS, MORSE_desc_t *descTT ) +int CHAMELEON_zgeqrf_param( const libhqr_tree_t *qrtree, int M, int N, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descTS, CHAM_desc_t *descTT ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeqrf_param", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeqrf_param", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zgeqrf_param", "illegal value of M"); + chameleon_error("CHAMELEON_zgeqrf_param", "illegal value of M"); return -1; } if (N < 0) { - morse_error("MORSE_zgeqrf_param", "illegal value of N"); + chameleon_error("CHAMELEON_zgeqrf_param", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgeqrf_param", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgeqrf_param", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrf_param", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrf_param", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zgeqrf_param_Tile_Async( qrtree, &descAt, descTS, descTT, sequence, &request ); + CHAMELEON_zgeqrf_param_Tile_Async( qrtree, &descAt, descTS, descTT, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descTS, sequence ); - MORSE_Desc_Flush( descTT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descTS, sequence ); + CHAMELEON_Desc_Flush( descTT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgeqrf_param_Tile - Computes the tile QR factorization of a matrix. - * Tile equivalent of MORSE_zgeqrf_param(). + * CHAMELEON_zgeqrf_param_Tile - Computes the tile QR factorization of a matrix. + * Tile equivalent of CHAMELEON_zgeqrf_param(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -164,61 +164,61 @@ int MORSE_zgeqrf_param( const libhqr_tree_t *qrtree, int M, int N, * by tiles. * * @param[out] TS - * On exit, auxiliary factorization data, required by MORSE_zgeqrs to solve the system + * On exit, auxiliary factorization data, required by CHAMELEON_zgeqrs to solve the system * of equations. * * @param[out] TT - * On exit, auxiliary factorization data, required by MORSE_zgeqrs to solve the system + * On exit, auxiliary factorization data, required by CHAMELEON_zgeqrs to solve the system * of equations. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgeqrf_param - * @sa MORSE_zgeqrf_param_Tile_Async - * @sa MORSE_cgeqrf_param_Tile - * @sa MORSE_dgeqrf_param_Tile - * @sa MORSE_sgeqrf_param_Tile - * @sa MORSE_zgeqrs_param_Tile + * @sa CHAMELEON_zgeqrf_param + * @sa CHAMELEON_zgeqrf_param_Tile_Async + * @sa CHAMELEON_cgeqrf_param_Tile + * @sa CHAMELEON_dgeqrf_param_Tile + * @sa CHAMELEON_sgeqrf_param_Tile + * @sa CHAMELEON_zgeqrs_param_Tile * */ -int MORSE_zgeqrf_param_Tile( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT ) +int CHAMELEON_zgeqrf_param_Tile( const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeqrf_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeqrf_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgeqrf_param_Tile_Async( qrtree, A, TS, TT, sequence, &request ); + CHAMELEON_zgeqrf_param_Tile_Async( qrtree, A, TS, TT, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ***************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgeqrf_param_Tile_Async - Computes the tile QR factorization of a matrix. - * Non-blocking equivalent of MORSE_zgeqrf_param_Tile(). + * CHAMELEON_zgeqrf_param_Tile_Async - Computes the tile QR factorization of a matrix. + * Non-blocking equivalent of CHAMELEON_zgeqrf_param_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -233,82 +233,83 @@ int MORSE_zgeqrf_param_Tile( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE * ******************************************************************************* * - * @sa MORSE_zgeqrf_param - * @sa MORSE_zgeqrf_param_Tile - * @sa MORSE_cgeqrf_param_Tile_Async - * @sa MORSE_dgeqrf_param_Tile_Async - * @sa MORSE_sgeqrf_param_Tile_Async - * @sa MORSE_zgeqrs_param_Tile_Async + * @sa CHAMELEON_zgeqrf_param + * @sa CHAMELEON_zgeqrf_param_Tile + * @sa CHAMELEON_cgeqrf_param_Tile_Async + * @sa CHAMELEON_dgeqrf_param_Tile_Async + * @sa CHAMELEON_sgeqrf_param_Tile_Async + * @sa CHAMELEON_zgeqrs_param_Tile_Async * */ -int MORSE_zgeqrf_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgeqrf_param_Tile_Async( const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_zgeqrf_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_zgeqrf_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgeqrf_param_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgeqrf_param_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgeqrf_param_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgeqrf_param_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrf_param_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrf_param_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TS) != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrf_param_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TS) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrf_param_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TT) != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrf_param_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TT) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrf_param_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zgeqrf_param_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgeqrf_param_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - morse_pzgeqrf_param( qrtree, A, TS, TT, Dptr, sequence, request ); + chameleon_pzgeqrf_param( qrtree, A, TS, TT, Dptr, sequence, request ); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgeqrs.c b/compute/zgeqrs.c index 4059d49120ef52c6446ace0c9b2a5425485e7f00..dc42e323f2f88d548af24ad876ff87f1de2447c1 100644 --- a/compute/zgeqrs.c +++ b/compute/zgeqrs.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -28,10 +28,10 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgeqrs - Compute a minimum-norm solution min || A*X - B || using the RQ factorization - * A = R*Q computed by MORSE_zgeqrf. + * CHAMELEON_zgeqrs - Compute a minimum-norm solution min || A*X - B || using the RQ factorization + * A = R*Q computed by CHAMELEON_zgeqrf. * ******************************************************************************* * @@ -45,13 +45,13 @@ * The number of columns of B. NRHS >= 0. * * @param[in,out] A - * Details of the QR factorization of the original matrix A as returned by MORSE_zgeqrf. + * Details of the QR factorization of the original matrix A as returned by CHAMELEON_zgeqrf. * * @param[in] LDA * The leading dimension of the array A. LDA >= M. * * @param[in] descT - * Auxiliary factorization data, computed by MORSE_zgeqrf. + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. * * @param[in,out] B * On entry, the m-by-nrhs right hand side matrix B. @@ -63,110 +63,110 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgeqrs_Tile - * @sa MORSE_zgeqrs_Tile_Async - * @sa MORSE_cgeqrs - * @sa MORSE_dgeqrs - * @sa MORSE_sgeqrs - * @sa MORSE_zgeqrf + * @sa CHAMELEON_zgeqrs_Tile + * @sa CHAMELEON_zgeqrs_Tile_Async + * @sa CHAMELEON_cgeqrs + * @sa CHAMELEON_dgeqrs + * @sa CHAMELEON_sgeqrs + * @sa CHAMELEON_zgeqrf * */ -int MORSE_zgeqrs( int M, int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descT, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zgeqrs( int M, int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descT, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeqrs", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeqrs", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zgeqrs", "illegal value of M"); + chameleon_error("CHAMELEON_zgeqrs", "illegal value of M"); return -1; } if (N < 0 || N > M) { - morse_error("MORSE_zgeqrs", "illegal value of N"); + chameleon_error("CHAMELEON_zgeqrs", "illegal value of N"); return -2; } if (NRHS < 0) { - morse_error("MORSE_zgeqrs", "illegal value of N"); + chameleon_error("CHAMELEON_zgeqrs", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgeqrs", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgeqrs", "illegal value of LDA"); return -5; } if (LDB < chameleon_max(1, chameleon_max(1, M))) { - morse_error("MORSE_zgeqrs", "illegal value of LDB"); + chameleon_error("CHAMELEON_zgeqrs", "illegal value of LDB"); return -8; } /* Quick return */ if (chameleon_min(M, chameleon_min(N, NRHS)) == 0) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /* Tune NB & IB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrs", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrs", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, M, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_zgeqrs_Tile_Async( &descAt, descT, &descBt, sequence, &request ); + CHAMELEON_zgeqrs_Tile_Async( &descAt, descT, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgeqrs_Tile - Computes a minimum-norm solution using the tile QR factorization. - * Tile equivalent of MORSE_zgeqrf(). + * CHAMELEON_zgeqrs_Tile - Computes a minimum-norm solution using the tile QR factorization. + * Tile equivalent of CHAMELEON_zgeqrf(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -174,10 +174,10 @@ int MORSE_zgeqrs( int M, int N, int NRHS, ******************************************************************************* * * @param[in,out] A - * Details of the QR factorization of the original matrix A as returned by MORSE_zgeqrf. + * Details of the QR factorization of the original matrix A as returned by CHAMELEON_zgeqrf. * * @param[in] T - * Auxiliary factorization data, computed by MORSE_zgeqrf. + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. * * @param[in,out] B * On entry, the m-by-nrhs right hand side matrix B. @@ -186,52 +186,52 @@ int MORSE_zgeqrs( int M, int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgeqrs - * @sa MORSE_zgeqrs_Tile_Async - * @sa MORSE_cgeqrs_Tile - * @sa MORSE_dgeqrs_Tile - * @sa MORSE_sgeqrs_Tile - * @sa MORSE_zgeqrf_Tile + * @sa CHAMELEON_zgeqrs + * @sa CHAMELEON_zgeqrs_Tile_Async + * @sa CHAMELEON_cgeqrs_Tile + * @sa CHAMELEON_dgeqrs_Tile + * @sa CHAMELEON_sgeqrs_Tile + * @sa CHAMELEON_zgeqrf_Tile * */ -int MORSE_zgeqrs_Tile( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B ) +int CHAMELEON_zgeqrs_Tile( CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeqrs_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeqrs_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgeqrs_Tile_Async( A, T, B, sequence, &request ); + CHAMELEON_zgeqrs_Tile_Async( A, T, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgeqrs_Tile_Async - Computes a minimum-norm solution using the tile + * CHAMELEON_zgeqrs_Tile_Async - Computes a minimum-norm solution using the tile * QR factorization. - * Non-blocking equivalent of MORSE_zgeqrs_Tile(). + * Non-blocking equivalent of CHAMELEON_zgeqrs_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -246,96 +246,97 @@ int MORSE_zgeqrs_Tile( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B ) * ******************************************************************************* * - * @sa MORSE_zgeqrs - * @sa MORSE_zgeqrs_Tile - * @sa MORSE_cgeqrs_Tile_Async - * @sa MORSE_dgeqrs_Tile_Async - * @sa MORSE_sgeqrs_Tile_Async - * @sa MORSE_zgeqrf_Tile_Async + * @sa CHAMELEON_zgeqrs + * @sa CHAMELEON_zgeqrs_Tile + * @sa CHAMELEON_cgeqrs_Tile_Async + * @sa CHAMELEON_dgeqrs_Tile_Async + * @sa CHAMELEON_sgeqrs_Tile_Async + * @sa CHAMELEON_zgeqrf_Tile_Async * */ -int MORSE_zgeqrs_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgeqrs_Tile_Async( CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_desc_t *subA; - MORSE_desc_t *subB; - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_desc_t *subA; + CHAM_desc_t *subB; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeqrs_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeqrs_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgeqrs_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgeqrs_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgeqrs_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgeqrs_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrs_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrs_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrs_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrs_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrs_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrs_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zgeqrs_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgeqrs_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(M, chameleon_min(N, NRHS)) == 0) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } */ #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { - morse_pzunmqr( MorseLeft, MorseConjTrans, A, B, T, Dptr, sequence, request ); + if (chamctxt->householder == ChamFlatHouseholder) { + chameleon_pzunmqr( ChamLeft, ChamConjTrans, A, B, T, Dptr, sequence, request ); } else { - morse_pzunmqrrh( MorseLeft, MorseConjTrans, A, B, T, Dptr, MORSE_RHBLK, sequence, request ); + chameleon_pzunmqrrh( ChamLeft, ChamConjTrans, A, B, T, Dptr, CHAMELEON_RHBLK, sequence, request ); } - subB = morse_desc_submatrix(B, 0, 0, A->n, B->n); - subA = morse_desc_submatrix(A, 0, 0, A->n, A->n); - morse_pztrsm( MorseLeft, MorseUpper, MorseNoTrans, MorseNonUnit, 1.0, subA, subB, sequence, request ); + subB = chameleon_desc_submatrix(B, 0, 0, A->n, B->n); + subA = chameleon_desc_submatrix(A, 0, 0, A->n, A->n); + chameleon_pztrsm( ChamLeft, ChamUpper, ChamNoTrans, ChamNonUnit, 1.0, subA, subB, sequence, request ); free(subA); free(subB); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgeqrs_param.c b/compute/zgeqrs_param.c index 97860c992f207eb569195b03d8af0c27cf239a43..306ea555c63caf3cbc61e861c9c77542442b49b7 100644 --- a/compute/zgeqrs_param.c +++ b/compute/zgeqrs_param.c @@ -24,10 +24,10 @@ /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgeqrs_param - Compute a minimum-norm solution min || A*X - B || using the RQ factorization - * A = R*Q computed by MORSE_zgeqrf. + * CHAMELEON_zgeqrs_param - Compute a minimum-norm solution min || A*X - B || using the RQ factorization + * A = R*Q computed by CHAMELEON_zgeqrf. * ******************************************************************************* * @@ -41,13 +41,13 @@ * The number of columns of B. NRHS >= 0. * * @param[in,out] A - * Details of the QR factorization of the original matrix A as returned by MORSE_zgeqrf. + * Details of the QR factorization of the original matrix A as returned by CHAMELEON_zgeqrf. * * @param[in] LDA * The leading dimension of the array A. LDA >= M. * * @param[in] descT - * Auxiliary factorization data, computed by MORSE_zgeqrf. + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. * * @param[in,out] B * On entry, the m-by-nrhs right hand side matrix B. @@ -59,111 +59,111 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgeqrs_param_Tile - * @sa MORSE_zgeqrs_param_Tile_Async - * @sa MORSE_cgeqrs - * @sa MORSE_dgeqrs - * @sa MORSE_sgeqrs - * @sa MORSE_zgeqrf + * @sa CHAMELEON_zgeqrs_param_Tile + * @sa CHAMELEON_zgeqrs_param_Tile_Async + * @sa CHAMELEON_cgeqrs + * @sa CHAMELEON_dgeqrs + * @sa CHAMELEON_sgeqrs + * @sa CHAMELEON_zgeqrf * */ -int MORSE_zgeqrs_param( const libhqr_tree_t *qrtree, int M, int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descTS, MORSE_desc_t *descTT, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zgeqrs_param( const libhqr_tree_t *qrtree, int M, int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descTS, CHAM_desc_t *descTT, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeqrs_param", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeqrs_param", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zgeqrs_param", "illegal value of M"); + chameleon_error("CHAMELEON_zgeqrs_param", "illegal value of M"); return -1; } if (N < 0 || N > M) { - morse_error("MORSE_zgeqrs_param", "illegal value of N"); + chameleon_error("CHAMELEON_zgeqrs_param", "illegal value of N"); return -2; } if (NRHS < 0) { - morse_error("MORSE_zgeqrs_param", "illegal value of N"); + chameleon_error("CHAMELEON_zgeqrs_param", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgeqrs_param", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgeqrs_param", "illegal value of LDA"); return -5; } if (LDB < chameleon_max(1, chameleon_max(1, M))) { - morse_error("MORSE_zgeqrs_param", "illegal value of LDB"); + chameleon_error("CHAMELEON_zgeqrs_param", "illegal value of LDB"); return -8; } /* Quick return */ if (chameleon_min(M, chameleon_min(N, NRHS)) == 0) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /* Tune NB & IB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrs_param", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrs_param", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, M, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_zgeqrs_param_Tile_Async( qrtree, &descAt, descTS, descTT, &descBt, sequence, &request ); + CHAMELEON_zgeqrs_param_Tile_Async( qrtree, &descAt, descTS, descTT, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descTS, sequence ); - MORSE_Desc_Flush( descTT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descTS, sequence ); + CHAMELEON_Desc_Flush( descTT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgeqrs_param_Tile - Computes a minimum-norm solution using the tile QR factorization. - * Tile equivalent of MORSE_zgeqrf(). + * CHAMELEON_zgeqrs_param_Tile - Computes a minimum-norm solution using the tile QR factorization. + * Tile equivalent of CHAMELEON_zgeqrf(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -171,10 +171,10 @@ int MORSE_zgeqrs_param( const libhqr_tree_t *qrtree, int M, int N, int NRHS, ******************************************************************************* * * @param[in,out] A - * Details of the QR factorization of the original matrix A as returned by MORSE_zgeqrf. + * Details of the QR factorization of the original matrix A as returned by CHAMELEON_zgeqrf. * * @param[in] T - * Auxiliary factorization data, computed by MORSE_zgeqrf. + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. * * @param[in,out] B * On entry, the m-by-nrhs right hand side matrix B. @@ -183,54 +183,54 @@ int MORSE_zgeqrs_param( const libhqr_tree_t *qrtree, int M, int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgeqrs_param - * @sa MORSE_zgeqrs_param_Tile_Async - * @sa MORSE_cgeqrs_Tile - * @sa MORSE_dgeqrs_Tile - * @sa MORSE_sgeqrs_Tile - * @sa MORSE_zgeqrf_Tile + * @sa CHAMELEON_zgeqrs_param + * @sa CHAMELEON_zgeqrs_param_Tile_Async + * @sa CHAMELEON_cgeqrs_Tile + * @sa CHAMELEON_dgeqrs_Tile + * @sa CHAMELEON_sgeqrs_Tile + * @sa CHAMELEON_zgeqrf_Tile * */ -int MORSE_zgeqrs_param_Tile( const libhqr_tree_t *qrtree, MORSE_desc_t *A, - MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B ) +int CHAMELEON_zgeqrs_param_Tile( const libhqr_tree_t *qrtree, CHAM_desc_t *A, + CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeqrs_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeqrs_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgeqrs_param_Tile_Async( qrtree, A, TS, TT, B, sequence, &request ); + CHAMELEON_zgeqrs_param_Tile_Async( qrtree, A, TS, TT, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgeqrs_param_Tile_Async - Computes a minimum-norm solution using the tile + * CHAMELEON_zgeqrs_param_Tile_Async - Computes a minimum-norm solution using the tile * QR factorization. - * Non-blocking equivalent of MORSE_zgeqrs_param_Tile(). + * Non-blocking equivalent of CHAMELEON_zgeqrs_param_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -245,98 +245,99 @@ int MORSE_zgeqrs_param_Tile( const libhqr_tree_t *qrtree, MORSE_desc_t *A, * ******************************************************************************* * - * @sa MORSE_zgeqrs_param - * @sa MORSE_zgeqrs_param_Tile - * @sa MORSE_cgeqrs_Tile_Async - * @sa MORSE_dgeqrs_Tile_Async - * @sa MORSE_sgeqrs_Tile_Async - * @sa MORSE_zgeqrf_Tile_Async + * @sa CHAMELEON_zgeqrs_param + * @sa CHAMELEON_zgeqrs_param_Tile + * @sa CHAMELEON_cgeqrs_Tile_Async + * @sa CHAMELEON_dgeqrs_Tile_Async + * @sa CHAMELEON_sgeqrs_Tile_Async + * @sa CHAMELEON_zgeqrf_Tile_Async * */ -int MORSE_zgeqrs_param_Tile_Async( const libhqr_tree_t *qrtree, - MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgeqrs_param_Tile_Async( const libhqr_tree_t *qrtree, + CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_desc_t *subA; - MORSE_desc_t *subB; - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_desc_t *subA; + CHAM_desc_t *subB; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgeqrs_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgeqrs_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgeqrs_param_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgeqrs_param_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgeqrs_param_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgeqrs_param_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrs_param_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrs_param_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TS) != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrs_param_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TS) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrs_param_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TT) != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrs_param_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TT) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrs_param_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zgeqrs_param_Tile", "invalid fourth descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgeqrs_param_Tile", "invalid fourth descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zgeqrs_param_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgeqrs_param_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(M, chameleon_min(N, NRHS)) == 0) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } */ #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - subB = morse_desc_submatrix(B, 0, 0, A->n, B->n); - subA = morse_desc_submatrix(A, 0, 0, A->n, A->n); + subB = chameleon_desc_submatrix(B, 0, 0, A->n, B->n); + subA = chameleon_desc_submatrix(A, 0, 0, A->n, A->n); - morse_pzunmqr_param( qrtree, MorseLeft, MorseConjTrans, A, B, TS, TT, Dptr, sequence, request ); - morse_pztrsm( MorseLeft, MorseUpper, MorseNoTrans, MorseNonUnit, 1.0, subA, subB, sequence, request ); + chameleon_pzunmqr_param( qrtree, ChamLeft, ChamConjTrans, A, B, TS, TT, Dptr, sequence, request ); + chameleon_pztrsm( ChamLeft, ChamUpper, ChamNoTrans, ChamNonUnit, 1.0, subA, subB, sequence, request ); free(subA); free(subB); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgesv_incpiv.c b/compute/zgesv_incpiv.c index a77008a2c9a7f66d1c4b1dac352bfa77162a034f..7494b34cf20778c0ab2bec59cb3f5a45252d7f73 100644 --- a/compute/zgesv_incpiv.c +++ b/compute/zgesv_incpiv.c @@ -14,7 +14,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -28,9 +28,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgesv_incpiv - Computes the solution to a system of linear equations A * X = B, + * CHAMELEON_zgesv_incpiv - Computes the solution to a system of linear equations A * X = B, * where A is an N-by-N matrix and X and B are N-by-NRHS matrices. * The tile LU decomposition with partial tile pivoting and row interchanges is used to factor A. * The factored form of A is then used to solve the system of equations A * X = B. @@ -68,104 +68,104 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if i, U(i,i) is exactly zero. The factorization has been completed, * but the factor U is exactly singular, so the solution could not be computed. * ******************************************************************************* * - * @sa MORSE_zgesv_incpiv_Tile - * @sa MORSE_zgesv_incpiv_Tile_Async - * @sa MORSE_cgesv_incpiv - * @sa MORSE_dgesv_incpiv - * @sa MORSE_sgesv_incpiv + * @sa CHAMELEON_zgesv_incpiv_Tile + * @sa CHAMELEON_zgesv_incpiv_Tile_Async + * @sa CHAMELEON_cgesv_incpiv + * @sa CHAMELEON_dgesv_incpiv + * @sa CHAMELEON_sgesv_incpiv * */ -int MORSE_zgesv_incpiv( int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descL, int *IPIV, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zgesv_incpiv( int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descL, int *IPIV, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_zgesv_incpiv", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_zgesv_incpiv", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (N < 0) { - morse_error("MORSE_zgesv_incpiv", "illegal value of N"); + chameleon_error("CHAMELEON_zgesv_incpiv", "illegal value of N"); return -1; } if (NRHS < 0) { - morse_error("MORSE_zgesv_incpiv", "illegal value of NRHS"); + chameleon_error("CHAMELEON_zgesv_incpiv", "illegal value of NRHS"); return -2; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zgesv_incpiv", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgesv_incpiv", "illegal value of LDA"); return -4; } if (LDB < chameleon_max(1, N)) { - morse_error("MORSE_zgesv_incpiv", "illegal value of LDB"); + chameleon_error("CHAMELEON_zgesv_incpiv", "illegal value of LDB"); return -8; } /* Quick return */ if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGESV, N, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgesv_incpiv", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGESV, N, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgesv_incpiv", "chameleon_tune() failed"); return status; } /* Set NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_zgesv_incpiv_Tile_Async( &descAt, descL, IPIV, &descBt, sequence, &request ); + CHAMELEON_zgesv_incpiv_Tile_Async( &descAt, descL, IPIV, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descL, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descL, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgesv_incpiv_Tile - Solves a system of linear equations using the tile LU factorization. - * Tile equivalent of MORSE_zgetrf_incpiv(). + * CHAMELEON_zgesv_incpiv_Tile - Solves a system of linear equations using the tile LU factorization. + * Tile equivalent of CHAMELEON_zgetrf_incpiv(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -190,54 +190,54 @@ int MORSE_zgesv_incpiv( int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval >0 if i, U(i,i) is exactly zero. The factorization has been completed, * but the factor U is exactly singular, so the solution could not be computed. * ******************************************************************************* * - * @sa MORSE_zgesv_incpiv - * @sa MORSE_zgesv_incpiv_Tile_Async - * @sa MORSE_cgesv_incpiv_Tile - * @sa MORSE_dgesv_incpiv_Tile - * @sa MORSE_sgesv_incpiv_Tile - * @sa MORSE_zcgesv_Tile + * @sa CHAMELEON_zgesv_incpiv + * @sa CHAMELEON_zgesv_incpiv_Tile_Async + * @sa CHAMELEON_cgesv_incpiv_Tile + * @sa CHAMELEON_dgesv_incpiv_Tile + * @sa CHAMELEON_sgesv_incpiv_Tile + * @sa CHAMELEON_zcgesv_Tile * */ -int MORSE_zgesv_incpiv_Tile( MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B ) +int CHAMELEON_zgesv_incpiv_Tile( CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgesv_incpiv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgesv_incpiv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgesv_incpiv_Tile_Async( A, L, IPIV, B, sequence, &request ); + CHAMELEON_zgesv_incpiv_Tile_Async( A, L, IPIV, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( L, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( L, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgesv_incpiv_Tile_Async - Solves a system of linear equations using the tile + * CHAMELEON_zgesv_incpiv_Tile_Async - Solves a system of linear equations using the tile * LU factorization. - * Non-blocking equivalent of MORSE_zgesv_incpiv_Tile(). + * Non-blocking equivalent of CHAMELEON_zgesv_incpiv_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -252,87 +252,88 @@ int MORSE_zgesv_incpiv_Tile( MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_ * ******************************************************************************* * - * @sa MORSE_zgesv_incpiv - * @sa MORSE_zgesv_incpiv_Tile - * @sa MORSE_cgesv_incpiv_Tile_Async - * @sa MORSE_dgesv_incpiv_Tile_Async - * @sa MORSE_sgesv_incpiv_Tile_Async - * @sa MORSE_zcgesv_Tile_Async + * @sa CHAMELEON_zgesv_incpiv + * @sa CHAMELEON_zgesv_incpiv_Tile + * @sa CHAMELEON_cgesv_incpiv_Tile_Async + * @sa CHAMELEON_dgesv_incpiv_Tile_Async + * @sa CHAMELEON_sgesv_incpiv_Tile_Async + * @sa CHAMELEON_zcgesv_Tile_Async * */ -int MORSE_zgesv_incpiv_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgesv_incpiv_Tile_Async( CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgesv_incpiv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgesv_incpiv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgesv_incpiv_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgesv_incpiv_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgesv_incpiv_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgesv_incpiv_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgesv_incpiv_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgesv_incpiv_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(L) != MORSE_SUCCESS) { - morse_error("MORSE_zgesv_incpiv_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(L) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgesv_incpiv_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zgesv_incpiv_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgesv_incpiv_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zgesv_incpiv_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgesv_incpiv_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - morse_pzgetrf_incpiv( A, L, Dptr, IPIV, sequence, request ); + chameleon_pzgetrf_incpiv( A, L, Dptr, IPIV, sequence, request ); - morse_pztrsmpl( A, B, L, IPIV, sequence, request ); + chameleon_pztrsmpl( A, B, L, IPIV, sequence, request ); - morse_pztrsm( MorseLeft, MorseUpper, MorseNoTrans, MorseNonUnit, (MORSE_Complex64_t)1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, ChamUpper, ChamNoTrans, ChamNonUnit, (CHAMELEON_Complex64_t)1.0, A, B, sequence, request ); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( L, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - MORSE_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( L, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgesv_nopiv.c b/compute/zgesv_nopiv.c index 1033b01b232c5bce12dc045dbf1934ceab9b6525..78d7706561d93c0ce828f7909336ff45d845afc9 100644 --- a/compute/zgesv_nopiv.c +++ b/compute/zgesv_nopiv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,9 +27,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgesv_nopiv - Computes the solution to a system of linear equations A * X = B, + * CHAMELEON_zgesv_nopiv - Computes the solution to a system of linear equations A * X = B, * where A is an N-by-N matrix and X and B are N-by-NRHS matrices. * The tile LU decomposition with partial tile pivoting and row interchanges is used to factor A. * The factored form of A is then used to solve the system of equations A * X = B. @@ -67,102 +67,102 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if i, U(i,i) is exactly zero. The factorization has been completed, * but the factor U is exactly singular, so the solution could not be computed. * ******************************************************************************* * - * @sa MORSE_zgesv_nopiv_Tile - * @sa MORSE_zgesv_nopiv_Tile_Async - * @sa MORSE_cgesv_nopiv - * @sa MORSE_dgesv_nopiv - * @sa MORSE_sgesv_nopiv + * @sa CHAMELEON_zgesv_nopiv_Tile + * @sa CHAMELEON_zgesv_nopiv_Tile_Async + * @sa CHAMELEON_cgesv_nopiv + * @sa CHAMELEON_dgesv_nopiv + * @sa CHAMELEON_sgesv_nopiv * */ -int MORSE_zgesv_nopiv( int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zgesv_nopiv( int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_zgesv_nopiv", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_zgesv_nopiv", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (N < 0) { - morse_error("MORSE_zgesv_nopiv", "illegal value of N"); + chameleon_error("CHAMELEON_zgesv_nopiv", "illegal value of N"); return -1; } if (NRHS < 0) { - morse_error("MORSE_zgesv_nopiv", "illegal value of NRHS"); + chameleon_error("CHAMELEON_zgesv_nopiv", "illegal value of NRHS"); return -2; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zgesv_nopiv", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgesv_nopiv", "illegal value of LDA"); return -4; } if (LDB < chameleon_max(1, N)) { - morse_error("MORSE_zgesv_nopiv", "illegal value of LDB"); + chameleon_error("CHAMELEON_zgesv_nopiv", "illegal value of LDB"); return -8; } /* Quick return */ if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGESV, N, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgesv_nopiv", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGESV, N, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgesv_nopiv", "chameleon_tune() failed"); return status; } /* Set NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_zgesv_nopiv_Tile_Async( &descAt, &descBt, sequence, &request ); + CHAMELEON_zgesv_nopiv_Tile_Async( &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgesv_nopiv_Tile - Solves a system of linear equations using the tile LU factorization. - * Tile equivalent of MORSE_zgetrf_nopiv(). + * CHAMELEON_zgesv_nopiv_Tile - Solves a system of linear equations using the tile LU factorization. + * Tile equivalent of CHAMELEON_zgetrf_nopiv(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -180,53 +180,53 @@ int MORSE_zgesv_nopiv( int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval >0 if i, U(i,i) is exactly zero. The factorization has been completed, * but the factor U is exactly singular, so the solution could not be computed. * ******************************************************************************* * - * @sa MORSE_zgesv_nopiv - * @sa MORSE_zgesv_nopiv_Tile_Async - * @sa MORSE_cgesv_nopiv_Tile - * @sa MORSE_dgesv_nopiv_Tile - * @sa MORSE_sgesv_nopiv_Tile - * @sa MORSE_zcgesv_Tile + * @sa CHAMELEON_zgesv_nopiv + * @sa CHAMELEON_zgesv_nopiv_Tile_Async + * @sa CHAMELEON_cgesv_nopiv_Tile + * @sa CHAMELEON_dgesv_nopiv_Tile + * @sa CHAMELEON_sgesv_nopiv_Tile + * @sa CHAMELEON_zcgesv_Tile * */ -int MORSE_zgesv_nopiv_Tile( MORSE_desc_t *A, MORSE_desc_t *B ) +int CHAMELEON_zgesv_nopiv_Tile( CHAM_desc_t *A, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgesv_nopiv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgesv_nopiv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgesv_nopiv_Tile_Async( A, B, sequence, &request ); + CHAMELEON_zgesv_nopiv_Tile_Async( A, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgesv_nopiv_Tile_Async - Solves a system of linear equations using the tile + * CHAMELEON_zgesv_nopiv_Tile_Async - Solves a system of linear equations using the tile * LU factorization. - * Non-blocking equivalent of MORSE_zgesv_nopiv_Tile(). + * Non-blocking equivalent of CHAMELEON_zgesv_nopiv_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -241,65 +241,65 @@ int MORSE_zgesv_nopiv_Tile( MORSE_desc_t *A, MORSE_desc_t *B ) * ******************************************************************************* * - * @sa MORSE_zgesv_nopiv - * @sa MORSE_zgesv_nopiv_Tile - * @sa MORSE_cgesv_nopiv_Tile_Async - * @sa MORSE_dgesv_nopiv_Tile_Async - * @sa MORSE_sgesv_nopiv_Tile_Async - * @sa MORSE_zcgesv_Tile_Async + * @sa CHAMELEON_zgesv_nopiv + * @sa CHAMELEON_zgesv_nopiv_Tile + * @sa CHAMELEON_cgesv_nopiv_Tile_Async + * @sa CHAMELEON_dgesv_nopiv_Tile_Async + * @sa CHAMELEON_sgesv_nopiv_Tile_Async + * @sa CHAMELEON_zcgesv_Tile_Async * */ -int MORSE_zgesv_nopiv_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgesv_nopiv_Tile_Async( CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgesv_nopiv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgesv_nopiv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgesv_nopiv_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgesv_nopiv_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgesv_nopiv_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgesv_nopiv_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgesv_nopiv_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgesv_nopiv_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zgesv_nopiv_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgesv_nopiv_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zgesv_nopiv_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgesv_nopiv_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pzgetrf_nopiv( A, sequence, request ); + chameleon_pzgetrf_nopiv( A, sequence, request ); - morse_pztrsm( MorseLeft, MorseLower, MorseNoTrans, MorseUnit, (MORSE_Complex64_t)1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, ChamLower, ChamNoTrans, ChamUnit, (CHAMELEON_Complex64_t)1.0, A, B, sequence, request ); - morse_pztrsm( MorseLeft, MorseUpper, MorseNoTrans, MorseNonUnit, (MORSE_Complex64_t)1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, ChamUpper, ChamNoTrans, ChamNonUnit, (CHAMELEON_Complex64_t)1.0, A, B, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgesvd.c b/compute/zgesvd.c index db664159170531eb47cc0b066a745fb21102b40f..7b8e96a9311ac918ab6ee16c94dd2b91829582ae 100644 --- a/compute/zgesvd.c +++ b/compute/zgesvd.c @@ -29,9 +29,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgesvd - computes the singular value decomposition (SVD) of a complex + * CHAMELEON_zgesvd - computes the singular value decomposition (SVD) of a complex * M-by-N matrix A, optionally computing the left and/or right singular * vectors. The SVD is written * @@ -50,32 +50,32 @@ * @param[in] jobu * Specifies options for computing all or part of the matrix U. * Intended usage: - * = MorseVec = 'A'(lapack): all M columns of U are returned + * = ChamVec = 'A'(lapack): all M columns of U are returned * in array U; - * = MorseNoVec = 'N': no columns of U (no left singular vectors) + * = ChamNoVec = 'N': no columns of U (no left singular vectors) * are computed. - * = MorseSVec = 'S': the first min(m,n) columns of U (the left + * = ChamSVec = 'S': the first min(m,n) columns of U (the left * singular vectors) are returned in the array U; * NOT SUPPORTTED YET - * = MorseOVec = 'O': the first min(m,n) columns of U (the left + * = ChamOVec = 'O': the first min(m,n) columns of U (the left * singular vectors) are overwritten on the array A; * NOT SUPPORTTED YET * * @param[in] jobvt * Specifies options for computing all or part of the matrix V**H. * Intended usage: - * = MorseVec = 'A'(lapack): all N rows of V**H are returned + * = ChamVec = 'A'(lapack): all N rows of V**H are returned * in the array VT; - * = MorseNoVec = 'N': no rows of V**H (no right singular vectors) + * = ChamNoVec = 'N': no rows of V**H (no right singular vectors) * are computed. - * = MorseSVec = 'S': the first min(m,n) rows of V**H (the right + * = ChamSVec = 'S': the first min(m,n) rows of V**H (the right * singular vectors) are returned in the array VT; * NOT SUPPORTTED YET - * = MorseOVec = 'O': the first min(m,n) rows of V**H (the right + * = ChamOVec = 'O': the first min(m,n) rows of V**H (the right * singular vectors) are overwritten on the array A; * NOT SUPPORTTED YET * - * Note: jobu and jobvt cannot both be MorseOVec. + * Note: jobu and jobvt cannot both be ChamOVec. * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -102,7 +102,7 @@ * The double precision singular values of A, sorted so that S(i) >= S(i+1). * * @param[in, out] descT - * On entry, descriptor as return by MORSE_Alloc_Workspace_zgesvd + * On entry, descriptor as return by CHAMELEON_Alloc_Workspace_zgesvd * On exit, contains auxiliary factorization data. * * @param[out] U @@ -130,115 +130,115 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgesvd_Tile - * @sa MORSE_zgesvd_Tile_Async - * @sa MORSE_cgesvd - * @sa MORSE_dgesvd - * @sa MORSE_sgesvd + * @sa CHAMELEON_zgesvd_Tile + * @sa CHAMELEON_zgesvd_Tile_Async + * @sa CHAMELEON_cgesvd + * @sa CHAMELEON_dgesvd + * @sa CHAMELEON_sgesvd * */ -int MORSE_zgesvd( MORSE_enum jobu, MORSE_enum jobvt, +int CHAMELEON_zgesvd( cham_job_t jobu, cham_job_t jobvt, int M, int N, - MORSE_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *A, int LDA, double *S, - MORSE_desc_t *descT, - MORSE_Complex64_t *U, int LDU, - MORSE_Complex64_t *VT, int LDVT ) + CHAM_desc_t *descT, + CHAMELEON_Complex64_t *U, int LDU, + CHAMELEON_Complex64_t *VT, int LDVT ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgesvd", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgesvd", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if (jobu != MorseNoVec && jobu != MorseVec) { - morse_error("MORSE_zgesvd", "illegal value of jobu"); + if (jobu != ChamNoVec && jobu != ChamVec) { + chameleon_error("CHAMELEON_zgesvd", "illegal value of jobu"); return -1; } - if (jobvt != MorseNoVec && jobvt != MorseVec) { - morse_error("MORSE_zgesvd", "illegal value of jobvt"); + if (jobvt != ChamNoVec && jobvt != ChamVec) { + chameleon_error("CHAMELEON_zgesvd", "illegal value of jobvt"); return -2; } if (M < 0) { - morse_error("MORSE_zgesvd", "illegal value of M"); + chameleon_error("CHAMELEON_zgesvd", "illegal value of M"); return -3; } if (N < 0) { - morse_error("MORSE_zgesvd", "illegal value of N"); + chameleon_error("CHAMELEON_zgesvd", "illegal value of N"); return -4; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgesvd", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgesvd", "illegal value of LDA"); return -6; } if (LDU < 1) { - morse_error("MORSE_zgesvd", "illegal value of LDU"); + chameleon_error("CHAMELEON_zgesvd", "illegal value of LDU"); return -9; } if (LDVT < 1) { - morse_error("MORSE_zgesvd", "illegal value of LDVT"); + chameleon_error("CHAMELEON_zgesvd", "illegal value of LDVT"); return -11; } /* Quick return */ if (chameleon_min(M, N) == 0) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /* Tune NB & IB depending on M & N; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGESVD, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgesvd", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGESVD, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgesvd", "chameleon_tune() failed"); return status; } /* Set MT, NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zgesvd_Tile_Async( jobu, jobvt, &descAt, S, descT, U, LDU, VT, LDVT, sequence, &request ); + CHAMELEON_zgesvd_Tile_Async( jobu, jobvt, &descAt, S, descT, U, LDU, VT, LDVT, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgesvd_Tile - computes the singular value decomposition (SVD) of a complex + * CHAMELEON_zgesvd_Tile - computes the singular value decomposition (SVD) of a complex * M-by-N matrix A, optionally computing the left and/or right singular * vectors. - * Tile equivalent of MORSE_zgesvd(). + * Tile equivalent of CHAMELEON_zgesvd(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -248,32 +248,32 @@ int MORSE_zgesvd( MORSE_enum jobu, MORSE_enum jobvt, * @param[in] jobu * Specifies options for computing all or part of the matrix U. * Intended usage: - * = MorseVec = 'A'(lapack): all M columns of U are returned + * = ChamVec = 'A'(lapack): all M columns of U are returned * in array U; - * = MorseNoVec = 'N': no columns of U (no left singular vectors) + * = ChamNoVec = 'N': no columns of U (no left singular vectors) * are computed. - * = MorseSVec = 'S': the first min(m,n) columns of U (the left + * = ChamSVec = 'S': the first min(m,n) columns of U (the left * singular vectors) are returned in the array U; * NOT SUPPORTTED YET - * = MorseOVec = 'O': the first min(m,n) columns of U (the left + * = ChamOVec = 'O': the first min(m,n) columns of U (the left * singular vectors) are overwritten on the array A; * NOT SUPPORTTED YET * * @param[in] jobvt * Specifies options for computing all or part of the matrix V**H. * Intended usage: - * = MorseVec = 'A'(lapack): all N rows of V**H are returned + * = ChamVec = 'A'(lapack): all N rows of V**H are returned * in the array VT; - * = MorseNoVec = 'N': no rows of V**H (no right singular vectors) + * = ChamNoVec = 'N': no rows of V**H (no right singular vectors) * are computed. - * = MorseSVec = 'S': the first min(m,n) rows of V**H (the right + * = ChamSVec = 'S': the first min(m,n) rows of V**H (the right * singular vectors) are returned in the array VT; * NOT SUPPORTTED YET - * = MorseOVec = 'O': the first min(m,n) rows of V**H (the right + * = ChamOVec = 'O': the first min(m,n) rows of V**H (the right * singular vectors) are overwritten on the array A; * NOT SUPPORTTED YET * - * Note: jobu and jobvt cannot both be MorseOVec. + * Note: jobu and jobvt cannot both be ChamOVec. * * @param[in,out] A * On entry, the M-by-N matrix A. @@ -291,7 +291,7 @@ int MORSE_zgesvd( MORSE_enum jobu, MORSE_enum jobvt, * The singular values of A, sorted so that S(i) >= S(i+1). * * @param[in, out] T - * On entry, descriptor as return by MORSE_Alloc_Workspace_zgesvd + * On entry, descriptor as return by CHAMELEON_Alloc_Workspace_zgesvd * On exit, contains auxiliary factorization data. * * @param[out] U @@ -319,56 +319,56 @@ int MORSE_zgesvd( MORSE_enum jobu, MORSE_enum jobvt, ******************************************************************************* * * @return - * \return MORSE_SUCCESS successful exit + * \return CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgesvd - * @sa MORSE_zgesvd_Tile_Async - * @sa MORSE_cgesvd_Tile - * @sa MORSE_dgesvd_Tile - * @sa MORSE_sgesvd_Tile + * @sa CHAMELEON_zgesvd + * @sa CHAMELEON_zgesvd_Tile_Async + * @sa CHAMELEON_cgesvd_Tile + * @sa CHAMELEON_dgesvd_Tile + * @sa CHAMELEON_sgesvd_Tile * */ -int MORSE_zgesvd_Tile( MORSE_enum jobu, MORSE_enum jobvt, - MORSE_desc_t *A, +int CHAMELEON_zgesvd_Tile( cham_job_t jobu, cham_job_t jobvt, + CHAM_desc_t *A, double *S, - MORSE_desc_t *T, - MORSE_Complex64_t *U, int LDU, - MORSE_Complex64_t *VT, int LDVT ) + CHAM_desc_t *T, + CHAMELEON_Complex64_t *U, int LDU, + CHAMELEON_Complex64_t *VT, int LDVT ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgesvd_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgesvd_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgesvd_Tile_Async( jobu, jobvt, A, S, T, U, LDU, VT, LDVT, sequence, &request ); + CHAMELEON_zgesvd_Tile_Async( jobu, jobvt, A, S, T, U, LDU, VT, LDVT, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgesvd_Tile_Async - computes the singular value decomposition (SVD) of a complex + * CHAMELEON_zgesvd_Tile_Async - computes the singular value decomposition (SVD) of a complex * M-by-N matrix A, optionally computing the left and/or right singular * vectors. - * Non-blocking equivalent of MORSE_zgesvd_Tile(). + * Non-blocking equivalent of CHAMELEON_zgesvd_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -383,82 +383,82 @@ int MORSE_zgesvd_Tile( MORSE_enum jobu, MORSE_enum jobvt, * ******************************************************************************* * - * @sa MORSE_zgesvd - * @sa MORSE_zgesvd_Tile - * @sa MORSE_cgesvd_Tile_Async - * @sa MORSE_dgesvd_Tile_Async - * @sa MORSE_sgesvd_Tile_Async + * @sa CHAMELEON_zgesvd + * @sa CHAMELEON_zgesvd_Tile + * @sa CHAMELEON_cgesvd_Tile_Async + * @sa CHAMELEON_dgesvd_Tile_Async + * @sa CHAMELEON_sgesvd_Tile_Async * */ -int MORSE_zgesvd_Tile_Async( MORSE_enum jobu, MORSE_enum jobvt, - MORSE_desc_t *A, +int CHAMELEON_zgesvd_Tile_Async( cham_job_t jobu, cham_job_t jobvt, + CHAM_desc_t *A, double *S, - MORSE_desc_t *T, - MORSE_Complex64_t *U, int LDU, - MORSE_Complex64_t *VT, int LDVT, - MORSE_sequence_t *sequence, MORSE_request_t *request ) + CHAM_desc_t *T, + CHAMELEON_Complex64_t *U, int LDU, + CHAMELEON_Complex64_t *VT, int LDVT, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_desc_t descA; - MORSE_desc_t descT; - MORSE_desc_t descUl, descUt; - MORSE_desc_t descVTl, descVTt; - MORSE_desc_t descAB; - MORSE_desc_t D, *Dptr = NULL; - MORSE_desc_t *subA, *subT, *subUVT; + CHAM_desc_t descA; + CHAM_desc_t descT; + CHAM_desc_t descUl, descUt; + CHAM_desc_t descVTl, descVTt; + CHAM_desc_t descAB; + CHAM_desc_t D, *Dptr = NULL; + CHAM_desc_t *subA, *subT, *subUVT; double *E; int M, N, MINMN, NB, LDAB; int KL, KU, uplo, nru, ncvt; int info = 0; char gbbrd_vect; - MORSE_context_t *morse; - morse = morse_context_self(); + CHAM_context_t *chamctxt; + chamctxt = chameleon_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgesvd_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgesvd_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgesvd_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgesvd_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgesvd_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgesvd_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgesvd_Tile_Async", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgesvd_Tile_Async", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } else { descA = *A; } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_zgesvd_Tile_Async", "invalid fourth descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgesvd_Tile_Async", "invalid fourth descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } else { descT = *T; } /* Check input arguments */ - if (jobu != MorseNoVec && jobu != MorseVec) { - morse_error("MORSE_zgesvd_Tile_Async", "illegal value of jobu"); - return MORSE_ERR_NOT_SUPPORTED; + if (jobu != ChamNoVec && jobu != ChamVec) { + chameleon_error("CHAMELEON_zgesvd_Tile_Async", "illegal value of jobu"); + return CHAMELEON_ERR_NOT_SUPPORTED; } - if (jobvt != MorseNoVec && jobvt != MorseVec) { - morse_error("MORSE_zgesvd_Tile_Async", "illegal value of jobvt"); - return MORSE_ERR_NOT_SUPPORTED; + if (jobvt != ChamNoVec && jobvt != ChamVec) { + chameleon_error("CHAMELEON_zgesvd_Tile_Async", "illegal value of jobvt"); + return CHAMELEON_ERR_NOT_SUPPORTED; } if (descA.nb != descA.mb) { - morse_error("MORSE_zgesvd_Tile_Async", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgesvd_Tile_Async", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } M = descA.m; @@ -466,20 +466,20 @@ int MORSE_zgesvd_Tile_Async( MORSE_enum jobu, MORSE_enum jobvt, MINMN = chameleon_min(M, N); NB = descA.mb; LDAB = NB + 1; - uplo = M >= N ? MorseUpper : MorseLower; + uplo = M >= N ? ChamUpper : ChamLower; #if defined(CHAMELEON_COPY_DIAG) { - morse_zdesc_alloc(D, A->mb, A->nb, A->m, A->n, 0, 0, A->m, A->n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, A->n, 0, 0, A->m, A->n, ); Dptr = &D; } #endif /* Reduction to band */ - morse_pzgebrd_ge2gb( &descA, &descT, Dptr, + chameleon_pzgebrd_ge2gb( &descA, &descT, Dptr, sequence, request ); /* Allocate band structure */ - morse_zdesc_alloc_diag( descAB, + chameleon_zdesc_alloc_diag( descAB, LDAB, NB, LDAB, MINMN, 0, 0, @@ -487,22 +487,22 @@ int MORSE_zgesvd_Tile_Async( MORSE_enum jobu, MORSE_enum jobvt, 1, 1 ); /* Convert matrix to band form */ - morse_pztile2band( uplo, + chameleon_pztile2band( uplo, &descA, &descAB, sequence, request ); E = malloc( MINMN * sizeof(double) ); if (E == NULL) { - morse_error("MORSE_zheevd_Tile_Async", "malloc(E) failed"); + chameleon_error("CHAMELEON_zheevd_Tile_Async", "malloc(E) failed"); free(E); - return MORSE_ERR_OUT_OF_RESOURCES; + return CHAMELEON_ERR_OUT_OF_RESOURCES; } memset(E, 0, MINMN * sizeof(double) ); #if !defined(CHAMELEON_SIMULATION) /* NCC = 0, C = NULL, we do not update any matrix with new singular vectors */ /* On exit, AB = U (S +~ E) VT */ - if (uplo == MorseUpper){ + if (uplo == ChamUpper){ KL = 0; KU = NB; } @@ -512,9 +512,9 @@ int MORSE_zgesvd_Tile_Async( MORSE_enum jobu, MORSE_enum jobvt, } /* Manage the case where only singular values are required */ - if (jobu == MorseNoVec) { + if (jobu == ChamNoVec) { nru = 0; - if (jobvt == MorseNoVec) { + if (jobvt == ChamNoVec) { gbbrd_vect = 'N'; ncvt = 0; } @@ -525,7 +525,7 @@ int MORSE_zgesvd_Tile_Async( MORSE_enum jobu, MORSE_enum jobvt, } else { nru = M; - if (jobvt == MorseNoVec) { + if (jobvt == ChamNoVec) { gbbrd_vect = 'Q'; ncvt = 0; } @@ -535,87 +535,87 @@ int MORSE_zgesvd_Tile_Async( MORSE_enum jobu, MORSE_enum jobvt, } } - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); info = LAPACKE_zgbbrd( LAPACK_COL_MAJOR, gbbrd_vect, M, N, 0, KL, KU, - (MORSE_Complex64_t *) descAB.mat, LDAB, + (CHAMELEON_Complex64_t *) descAB.mat, LDAB, S, E, U, LDU, VT, LDVT, NULL, 1 ); if (info != 0) { - fprintf(stderr, "MORSE_zgesvd_Tile_Async: LAPACKE_zgbbrd = %d\n", info ); + fprintf(stderr, "CHAMELEON_zgesvd_Tile_Async: LAPACKE_zgbbrd = %d\n", info ); } #else - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); #endif /* !defined(CHAMELEON_SIMULATION) */ - morse_desc_mat_free( &descAB ); + chameleon_desc_mat_free( &descAB ); subA = NULL; subT = NULL; subUVT = NULL; - if ( jobu != MorseNoVec ) { - morse_zlap2tile( morse, &descUl, &descUt, MorseDescInout, MorseUpperLower, + if ( jobu != ChamNoVec ) { + chameleon_zlap2tile( chamctxt, &descUl, &descUt, ChamDescInout, ChamUpperLower, U, NB, NB, LDU, M, M, M, sequence, request ); if ( M < N ){ - subA = morse_desc_submatrix(&descA, descA.mb, 0, descA.m -descA.mb, descA.n-descA.nb); - subUVT = morse_desc_submatrix(&descUt, descUt.mb, 0, descUt.m-descUt.mb, descUt.n); - subT = morse_desc_submatrix(&descT, descT.mb, 0, descT.m -descT.mb, descT.n-descT.nb); + subA = chameleon_desc_submatrix(&descA, descA.mb, 0, descA.m -descA.mb, descA.n-descA.nb); + subUVT = chameleon_desc_submatrix(&descUt, descUt.mb, 0, descUt.m-descUt.mb, descUt.n); + subT = chameleon_desc_submatrix(&descT, descT.mb, 0, descT.m -descT.mb, descT.n-descT.nb); - morse_pzunmqr( MorseLeft, MorseNoTrans, + chameleon_pzunmqr( ChamLeft, ChamNoTrans, subA, subUVT, subT, Dptr, sequence, request ); free(subA); free(subUVT); free(subT); } else { - morse_pzunmqr( MorseLeft, MorseNoTrans, + chameleon_pzunmqr( ChamLeft, ChamNoTrans, &descA, &descUt, &descT, Dptr, sequence, request ); } - morse_ztile2lap( morse, &descUl, &descUt, - MorseDescInout, MorseUpperLower, sequence, request ); + chameleon_ztile2lap( chamctxt, &descUl, &descUt, + ChamDescInout, ChamUpperLower, sequence, request ); } - if ( jobvt != MorseNoVec ) { - morse_zlap2tile( morse, &descVTl, &descVTt, MorseDescInout, MorseUpperLower, + if ( jobvt != ChamNoVec ) { + chameleon_zlap2tile( chamctxt, &descVTl, &descVTt, ChamDescInout, ChamUpperLower, VT, NB, NB, LDVT, N, N, N, sequence, request ); if ( M < N ){ - morse_pzunmlq( MorseRight, MorseNoTrans, + chameleon_pzunmlq( ChamRight, ChamNoTrans, &descA, &descVTt, &descT, Dptr, sequence, request ); } else { - subA = morse_desc_submatrix(&descA, 0, descA.nb, descA.m-descA.mb, descA.n -descA.nb ); - subUVT = morse_desc_submatrix(&descVTt, 0, descVTt.nb, descVTt.m, descVTt.n-descVTt.nb); - subT = morse_desc_submatrix(&descT, 0, descT.nb, descT.m-descT.mb, descT.n -descT.nb ); + subA = chameleon_desc_submatrix(&descA, 0, descA.nb, descA.m-descA.mb, descA.n -descA.nb ); + subUVT = chameleon_desc_submatrix(&descVTt, 0, descVTt.nb, descVTt.m, descVTt.n-descVTt.nb); + subT = chameleon_desc_submatrix(&descT, 0, descT.nb, descT.m-descT.mb, descT.n -descT.nb ); - morse_pzunmlq( MorseRight, MorseNoTrans, + chameleon_pzunmlq( ChamRight, ChamNoTrans, subA, subUVT, subT, Dptr, sequence, request ); free(subA); free(subUVT); free(subT); } - morse_ztile2lap( morse, &descVTl, &descVTt, - MorseDescInout, MorseUpperLower, sequence, request ); + chameleon_ztile2lap( chamctxt, &descVTl, &descVTt, + ChamDescInout, ChamUpperLower, sequence, request ); } - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - if ( jobu != MorseNoVec ) { - morse_ztile2lap_cleanup( morse, &descUl, &descUt ); + if ( jobu != ChamNoVec ) { + chameleon_ztile2lap_cleanup( chamctxt, &descUl, &descUt ); } - if ( jobvt != MorseNoVec ) { - morse_ztile2lap_cleanup( morse, &descVTl, &descVTt ); + if ( jobvt != ChamNoVec ) { + chameleon_ztile2lap_cleanup( chamctxt, &descVTl, &descVTt ); } /* Solve the bidiagonal SVD problem */ @@ -626,14 +626,15 @@ int MORSE_zgesvd_Tile_Async( MORSE_enum jobu, MORSE_enum jobvt, S, E, VT, LDVT, U, LDU, NULL, 1 ); if (info != 0) { - fprintf(stderr, "MORSE_zgesvd_Tile_Async: LAPACKE_zbdsqr = %d\n", info ); + fprintf(stderr, "CHAMELEON_zgesvd_Tile_Async: LAPACKE_zbdsqr = %d\n", info ); } #endif /* !defined(CHAMELEON_SIMULATION) */ free(E); if ( Dptr ) { - morse_desc_mat_free( Dptr ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgetrf_incpiv.c b/compute/zgetrf_incpiv.c index 13869c0e8991da7038a8fdae91f8f7e7867fb2a0..0a68aa4028bf714c0e1feecafc8f05702e90a5c3 100644 --- a/compute/zgetrf_incpiv.c +++ b/compute/zgetrf_incpiv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,9 +27,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgetrf_incpiv - Computes an LU factorization of a general M-by-N matrix A + * CHAMELEON_zgetrf_incpiv - Computes an LU factorization of a general M-by-N matrix A * using the tile LU algorithm with partial tile pivoting with row interchanges. * ******************************************************************************* @@ -49,7 +49,7 @@ * * @param[out] descL * On exit, auxiliary factorization data, related to the tile L factor, - * required by MORSE_zgetrs_incpiv to solve the system of equations. + * required by CHAMELEON_zgetrs_incpiv to solve the system of equations. * * @param[out] IPIV * The pivot indices that define the permutations (not equivalent to LAPACK). @@ -57,7 +57,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if i, U(i,i) is exactly zero. The factorization has been completed, * but the factor U is exactly singular, and division by zero will occur @@ -65,88 +65,88 @@ * ******************************************************************************* * - * @sa MORSE_zgetrf_incpiv_Tile - * @sa MORSE_zgetrf_incpiv_Tile_Async - * @sa MORSE_cgetrf_incpiv - * @sa MORSE_dgetrf_incpiv - * @sa MORSE_sgetrf_incpiv - * @sa MORSE_zgetrs_incpiv + * @sa CHAMELEON_zgetrf_incpiv_Tile + * @sa CHAMELEON_zgetrf_incpiv_Tile_Async + * @sa CHAMELEON_cgetrf_incpiv + * @sa CHAMELEON_dgetrf_incpiv + * @sa CHAMELEON_sgetrf_incpiv + * @sa CHAMELEON_zgetrs_incpiv * */ -int MORSE_zgetrf_incpiv( int M, int N, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descL, int *IPIV ) +int CHAMELEON_zgetrf_incpiv( int M, int N, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descL, int *IPIV ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgetrf_incpiv", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgetrf_incpiv", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zgetrf_incpiv", "illegal value of M"); + chameleon_error("CHAMELEON_zgetrf_incpiv", "illegal value of M"); return -1; } if (N < 0) { - morse_error("MORSE_zgetrf_incpiv", "illegal value of N"); + chameleon_error("CHAMELEON_zgetrf_incpiv", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgetrf_incpiv", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgetrf_incpiv", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGESV, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgetrf_incpiv", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGESV, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgetrf_incpiv", "chameleon_tune() failed"); return status; } /* Set NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zgetrf_incpiv_Tile_Async( &descAt, descL, IPIV, sequence, &request ); + CHAMELEON_zgetrf_incpiv_Tile_Async( &descAt, descL, IPIV, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descL, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descL, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgetrf_incpiv_Tile - Computes the tile LU factorization of a matrix. - * Tile equivalent of MORSE_zgetrf_incpiv(). + * CHAMELEON_zgetrf_incpiv_Tile - Computes the tile LU factorization of a matrix. + * Tile equivalent of CHAMELEON_zgetrf_incpiv(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -159,7 +159,7 @@ int MORSE_zgetrf_incpiv( int M, int N, * * @param[out] L * On exit, auxiliary factorization data, related to the tile L factor, - * required by MORSE_zgetrs_incpiv to solve the system of equations. + * required by CHAMELEON_zgetrs_incpiv to solve the system of equations. * * @param[out] IPIV * The pivot indices that define the permutations (not equivalent to LAPACK). @@ -167,53 +167,53 @@ int MORSE_zgetrf_incpiv( int M, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval >0 if i, U(i,i) is exactly zero. The factorization has been completed, * but the factor U is exactly singular, and division by zero will occur * if it is used to solve a system of equations. * ******************************************************************************* * - * @sa MORSE_zgetrf_incpiv - * @sa MORSE_zgetrf_incpiv_Tile_Async - * @sa MORSE_cgetrf_incpiv_Tile - * @sa MORSE_dgetrf_incpiv_Tile - * @sa MORSE_sgetrf_incpiv_Tile - * @sa MORSE_zgetrs_incpiv_Tile + * @sa CHAMELEON_zgetrf_incpiv + * @sa CHAMELEON_zgetrf_incpiv_Tile_Async + * @sa CHAMELEON_cgetrf_incpiv_Tile + * @sa CHAMELEON_dgetrf_incpiv_Tile + * @sa CHAMELEON_sgetrf_incpiv_Tile + * @sa CHAMELEON_zgetrs_incpiv_Tile * */ -int MORSE_zgetrf_incpiv_Tile( MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV ) +int CHAMELEON_zgetrf_incpiv_Tile( CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgetrf_incpiv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgetrf_incpiv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgetrf_incpiv_Tile_Async( A, L, IPIV, sequence, &request ); + CHAMELEON_zgetrf_incpiv_Tile_Async( A, L, IPIV, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( L, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( L, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgetrf_incpiv_Tile_Async - Computes the tile LU factorization of a matrix. - * Non-blocking equivalent of MORSE_zgetrf_incpiv_Tile(). + * CHAMELEON_zgetrf_incpiv_Tile_Async - Computes the tile LU factorization of a matrix. + * Non-blocking equivalent of CHAMELEON_zgetrf_incpiv_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -228,78 +228,79 @@ int MORSE_zgetrf_incpiv_Tile( MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV ) * ******************************************************************************* * - * @sa MORSE_zgetrf_incpiv - * @sa MORSE_zgetrf_incpiv_Tile - * @sa MORSE_cgetrf_incpiv_Tile_Async - * @sa MORSE_dgetrf_incpiv_Tile_Async - * @sa MORSE_sgetrf_incpiv_Tile_Async - * @sa MORSE_zgetrs_incpiv_Tile_Async + * @sa CHAMELEON_zgetrf_incpiv + * @sa CHAMELEON_zgetrf_incpiv_Tile + * @sa CHAMELEON_cgetrf_incpiv_Tile_Async + * @sa CHAMELEON_dgetrf_incpiv_Tile_Async + * @sa CHAMELEON_sgetrf_incpiv_Tile_Async + * @sa CHAMELEON_zgetrs_incpiv_Tile_Async * */ -int MORSE_zgetrf_incpiv_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgetrf_incpiv_Tile_Async( CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgetrf_incpiv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgetrf_incpiv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgetrf_incpiv_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgetrf_incpiv_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgetrf_incpiv_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgetrf_incpiv_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgetrf_incpiv_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgetrf_incpiv_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(L) != MORSE_SUCCESS) { - morse_error("MORSE_zgetrf_incpiv_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(L) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgetrf_incpiv_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zgetrf_incpiv_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgetrf_incpiv_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - morse_pzgetrf_incpiv( A, L, Dptr, IPIV, sequence, request ); + chameleon_pzgetrf_incpiv( A, L, Dptr, IPIV, sequence, request ); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( L, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( L, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgetrf_nopiv.c b/compute/zgetrf_nopiv.c index 1112a79a2087bea50f3a36da8e75d861ba500914..bcb7d27cc525d1bb94dc4a4a1733f2bc2fd4a25a 100644 --- a/compute/zgetrf_nopiv.c +++ b/compute/zgetrf_nopiv.c @@ -26,9 +26,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgetrf_nopiv - Computes an LU factorization of a general M-by-N matrix A + * CHAMELEON_zgetrf_nopiv - Computes an LU factorization of a general M-by-N matrix A * using the tile LU algorithm without row pivoting. * WARNING: Don't use this function if you are not sure your matrix is diagonal * dominant. @@ -51,7 +51,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if i, U(i,i) is exactly zero. The factorization has been * completed, but the factor U is exactly singular, and division @@ -60,75 +60,75 @@ * ******************************************************************************* * - * @sa MORSE_zgetrf_nopiv_Tile - * @sa MORSE_zgetrf_nopiv_Tile_Async - * @sa MORSE_cgetrf_nopiv - * @sa MORSE_dgetrf_nopiv - * @sa MORSE_sgetrf_nopiv + * @sa CHAMELEON_zgetrf_nopiv_Tile + * @sa CHAMELEON_zgetrf_nopiv_Tile_Async + * @sa CHAMELEON_cgetrf_nopiv + * @sa CHAMELEON_dgetrf_nopiv + * @sa CHAMELEON_sgetrf_nopiv * */ -int MORSE_zgetrf_nopiv( int M, int N, - MORSE_Complex64_t *A, int LDA ) +int CHAMELEON_zgetrf_nopiv( int M, int N, + CHAMELEON_Complex64_t *A, int LDA ) { int NB; int status; - MORSE_desc_t descAl, descAt; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgetrf_nopiv", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgetrf_nopiv", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zgetrf_nopiv", "illegal value of M"); + chameleon_error("CHAMELEON_zgetrf_nopiv", "illegal value of M"); return -1; } if (N < 0) { - morse_error("MORSE_zgetrf_nopiv", "illegal value of N"); + chameleon_error("CHAMELEON_zgetrf_nopiv", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zgetrf_nopiv", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgetrf_nopiv", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGESV, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgetrf_nopiv", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGESV, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgetrf_nopiv", "chameleon_tune() failed"); return status; } /* Set NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpperLower, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zgetrf_nopiv_Tile_Async( &descAt, sequence, &request ); + CHAMELEON_zgetrf_nopiv_Tile_Async( &descAt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } @@ -136,10 +136,10 @@ int MORSE_zgetrf_nopiv( int M, int N, /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgetrf_nopiv_Tile - Computes the tile LU factorization of a matrix. - * Tile equivalent of MORSE_zgetrf_nopiv(). Operates on matrices stored by + * CHAMELEON_zgetrf_nopiv_Tile - Computes the tile LU factorization of a matrix. + * Tile equivalent of CHAMELEON_zgetrf_nopiv(). Operates on matrices stored by * tiles. All matrices are passed through descriptors. All dimensions are * taken from the descriptors. * @@ -152,52 +152,52 @@ int MORSE_zgetrf_nopiv( int M, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval >0 if i, U(i,i) is exactly zero. The factorization has been completed, * but the factor U is exactly singular, and division by zero will occur * if it is used to solve a system of equations. * ******************************************************************************* * - * @sa MORSE_zgetrf_nopiv - * @sa MORSE_zgetrf_nopiv_Tile_Async - * @sa MORSE_cgetrf_nopiv_Tile - * @sa MORSE_dgetrf_nopiv_Tile - * @sa MORSE_sgetrf_nopiv_Tile - * @sa MORSE_zgetrs_Tile + * @sa CHAMELEON_zgetrf_nopiv + * @sa CHAMELEON_zgetrf_nopiv_Tile_Async + * @sa CHAMELEON_cgetrf_nopiv_Tile + * @sa CHAMELEON_dgetrf_nopiv_Tile + * @sa CHAMELEON_sgetrf_nopiv_Tile + * @sa CHAMELEON_zgetrs_Tile * */ -int MORSE_zgetrf_nopiv_Tile( MORSE_desc_t *A ) +int CHAMELEON_zgetrf_nopiv_Tile( CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgetrf_nopiv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgetrf_nopiv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgetrf_nopiv_Tile_Async( A, sequence, &request ); + CHAMELEON_zgetrf_nopiv_Tile_Async( A, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgetrf_nopiv_Tile_Async - Computes the tile LU factorization of a - * matrix. Non-blocking equivalent of MORSE_zgetrf_nopiv_Tile(). May return + * CHAMELEON_zgetrf_nopiv_Tile_Async - Computes the tile LU factorization of a + * matrix. Non-blocking equivalent of CHAMELEON_zgetrf_nopiv_Tile(). May return * before the computation is finished. Allows for pipelining of operations ar * runtime. * @@ -216,54 +216,54 @@ int MORSE_zgetrf_nopiv_Tile( MORSE_desc_t *A ) * ******************************************************************************* * - * @sa MORSE_zgetrf_nopiv - * @sa MORSE_zgetrf_nopiv_Tile - * @sa MORSE_cgetrf_nopiv_Tile_Async - * @sa MORSE_dgetrf_nopiv_Tile_Async - * @sa MORSE_sgetrf_nopiv_Tile_Async - * @sa MORSE_zgetrs_Tile_Async + * @sa CHAMELEON_zgetrf_nopiv + * @sa CHAMELEON_zgetrf_nopiv_Tile + * @sa CHAMELEON_cgetrf_nopiv_Tile_Async + * @sa CHAMELEON_dgetrf_nopiv_Tile_Async + * @sa CHAMELEON_sgetrf_nopiv_Tile_Async + * @sa CHAMELEON_zgetrs_Tile_Async * */ -int MORSE_zgetrf_nopiv_Tile_Async( MORSE_desc_t *A, - MORSE_sequence_t *sequence, - MORSE_request_t *request ) +int CHAMELEON_zgetrf_nopiv_Tile_Async( CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, + RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgetrf_nopiv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgetrf_nopiv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgetrf_nopiv_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgetrf_nopiv_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgetrf_nopiv_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgetrf_nopiv_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgetrf_nopiv_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgetrf_nopiv_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zgetrf_nopiv_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgetrf_nopiv_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - morse_pzgetrf_nopiv( A, sequence, request ); + chameleon_pzgetrf_nopiv( A, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgetrs_incpiv.c b/compute/zgetrs_incpiv.c index 43496bec50707870057b2910d412654a005554cb..b9abc9cdff7d4770347479aef828228113269fb1 100644 --- a/compute/zgetrs_incpiv.c +++ b/compute/zgetrs_incpiv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,19 +27,19 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgetrs_incpiv - Solves a system of linear equations A * X = B, with a general N-by-N matrix A - * using the tile LU factorization computed by MORSE_zgetrf_incpiv. + * CHAMELEON_zgetrs_incpiv - Solves a system of linear equations A * X = B, with a general N-by-N matrix A + * using the tile LU factorization computed by CHAMELEON_zgetrf_incpiv. * ******************************************************************************* * * @param[in] trans * Intended to specify the the form of the system of equations: - * = MorseNoTrans: A * X = B (No transpose) - * = MorseTrans: A**T * X = B (Transpose) - * = MorseConjTrans: A**H * X = B (Conjugate transpose) - * Currently only MorseNoTrans is supported. + * = ChamNoTrans: A * X = B (No transpose) + * = ChamTrans: A**T * X = B (Transpose) + * = ChamConjTrans: A**H * X = B (Conjugate transpose) + * Currently only ChamNoTrans is supported. * * @param[in] N * The order of the matrix A. N >= 0. @@ -49,16 +49,16 @@ * NRHS >= 0. * * @param[in] A - * The tile factors L and U from the factorization, computed by MORSE_zgetrf_incpiv. + * The tile factors L and U from the factorization, computed by CHAMELEON_zgetrf_incpiv. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,N). * * @param[in] descL - * Auxiliary factorization data, related to the tile L factor, computed by MORSE_zgetrf_incpiv. + * Auxiliary factorization data, related to the tile L factor, computed by CHAMELEON_zgetrf_incpiv. * * @param[in] IPIV - * The pivot indices from MORSE_zgetrf_incpiv (not equivalent to LAPACK). + * The pivot indices from CHAMELEON_zgetrf_incpiv (not equivalent to LAPACK). * * @param[in,out] B * On entry, the N-by-NRHS matrix of right hand side matrix B. @@ -70,109 +70,109 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \return <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgetrs_incpiv_Tile - * @sa MORSE_zgetrs_incpiv_Tile_Async - * @sa MORSE_cgetrs_incpiv - * @sa MORSE_dgetrs_incpiv - * @sa MORSE_sgetrs_incpiv - * @sa MORSE_zgetrf_incpiv + * @sa CHAMELEON_zgetrs_incpiv_Tile + * @sa CHAMELEON_zgetrs_incpiv_Tile_Async + * @sa CHAMELEON_cgetrs_incpiv + * @sa CHAMELEON_dgetrs_incpiv + * @sa CHAMELEON_sgetrs_incpiv + * @sa CHAMELEON_zgetrf_incpiv * */ -int MORSE_zgetrs_incpiv( MORSE_enum trans, int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descL, int *IPIV, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zgetrs_incpiv( cham_trans_t trans, int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descL, int *IPIV, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgetrs_incpiv", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgetrs_incpiv", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if (trans != MorseNoTrans) { - morse_error("MORSE_zgetrs_incpiv", "only MorseNoTrans supported"); - return MORSE_ERR_NOT_SUPPORTED; + if (trans != ChamNoTrans) { + chameleon_error("CHAMELEON_zgetrs_incpiv", "only ChamNoTrans supported"); + return CHAMELEON_ERR_NOT_SUPPORTED; } if (N < 0) { - morse_error("MORSE_zgetrs_incpiv", "illegal value of N"); + chameleon_error("CHAMELEON_zgetrs_incpiv", "illegal value of N"); return -2; } if (NRHS < 0) { - morse_error("MORSE_zgetrs_incpiv", "illegal value of NRHS"); + chameleon_error("CHAMELEON_zgetrs_incpiv", "illegal value of NRHS"); return -3; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zgetrs_incpiv", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgetrs_incpiv", "illegal value of LDA"); return -5; } if (LDB < chameleon_max(1, N)) { - morse_error("MORSE_zgetrs_incpiv", "illegal value of LDB"); + chameleon_error("CHAMELEON_zgetrs_incpiv", "illegal value of LDB"); return -9; } /* Quick return */ if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGESV, N, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgetrs_incpiv", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGESV, N, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgetrs_incpiv", "chameleon_tune() failed"); return status; } /* Set NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_zgetrs_incpiv_Tile_Async( &descAt, descL, IPIV, &descBt, sequence, &request ); + CHAMELEON_zgetrs_incpiv_Tile_Async( &descAt, descL, IPIV, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descL, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descL, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgetrs_incpiv_Tile - Solves a system of linear equations using previously + * CHAMELEON_zgetrs_incpiv_Tile - Solves a system of linear equations using previously * computed LU factorization. - * Tile equivalent of MORSE_zgetrs_incpiv(). + * Tile equivalent of CHAMELEON_zgetrs_incpiv(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -180,13 +180,13 @@ int MORSE_zgetrs_incpiv( MORSE_enum trans, int N, int NRHS, ******************************************************************************* * * @param[in] A - * The tile factors L and U from the factorization, computed by MORSE_zgetrf_incpiv. + * The tile factors L and U from the factorization, computed by CHAMELEON_zgetrf_incpiv. * * @param[in] L - * Auxiliary factorization data, related to the tile L factor, computed by MORSE_zgetrf_incpiv. + * Auxiliary factorization data, related to the tile L factor, computed by CHAMELEON_zgetrf_incpiv. * * @param[in] IPIV - * The pivot indices from MORSE_zgetrf_incpiv (not equivalent to LAPACK). + * The pivot indices from CHAMELEON_zgetrf_incpiv (not equivalent to LAPACK). * * @param[in,out] B * On entry, the N-by-NRHS matrix of right hand side matrix B. @@ -195,52 +195,52 @@ int MORSE_zgetrs_incpiv( MORSE_enum trans, int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgetrs_incpiv - * @sa MORSE_zgetrs_incpiv_Tile_Async - * @sa MORSE_cgetrs_incpiv_Tile - * @sa MORSE_dgetrs_incpiv_Tile - * @sa MORSE_sgetrs_incpiv_Tile - * @sa MORSE_zgetrf_incpiv_Tile + * @sa CHAMELEON_zgetrs_incpiv + * @sa CHAMELEON_zgetrs_incpiv_Tile_Async + * @sa CHAMELEON_cgetrs_incpiv_Tile + * @sa CHAMELEON_dgetrs_incpiv_Tile + * @sa CHAMELEON_sgetrs_incpiv_Tile + * @sa CHAMELEON_zgetrf_incpiv_Tile * */ -int MORSE_zgetrs_incpiv_Tile( MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B ) +int CHAMELEON_zgetrs_incpiv_Tile( CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgetrs_incpiv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgetrs_incpiv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgetrs_incpiv_Tile_Async( A, L, IPIV, B, sequence, &request ); + CHAMELEON_zgetrs_incpiv_Tile_Async( A, L, IPIV, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( L, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( L, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgetrs_incpiv_Tile_Async - Solves a system of linear equations using previously + * CHAMELEON_zgetrs_incpiv_Tile_Async - Solves a system of linear equations using previously * computed LU factorization. - * Non-blocking equivalent of MORSE_zgetrs_incpiv_Tile(). + * Non-blocking equivalent of CHAMELEON_zgetrs_incpiv_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -255,66 +255,66 @@ int MORSE_zgetrs_incpiv_Tile( MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE * ******************************************************************************* * - * @sa MORSE_zgetrs_incpiv - * @sa MORSE_zgetrs_incpiv_Tile - * @sa MORSE_cgetrs_incpiv_Tile_Async - * @sa MORSE_dgetrs_incpiv_Tile_Async - * @sa MORSE_sgetrs_incpiv_Tile_Async - * @sa MORSE_zgetrf_incpiv_Tile_Async + * @sa CHAMELEON_zgetrs_incpiv + * @sa CHAMELEON_zgetrs_incpiv_Tile + * @sa CHAMELEON_cgetrs_incpiv_Tile_Async + * @sa CHAMELEON_dgetrs_incpiv_Tile_Async + * @sa CHAMELEON_sgetrs_incpiv_Tile_Async + * @sa CHAMELEON_zgetrf_incpiv_Tile_Async * */ -int MORSE_zgetrs_incpiv_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgetrs_incpiv_Tile_Async( CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgetrs_incpiv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgetrs_incpiv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgetrs_incpiv_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgetrs_incpiv_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgetrs_incpiv_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgetrs_incpiv_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgetrs_incpiv_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgetrs_incpiv_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(L) != MORSE_SUCCESS) { - morse_error("MORSE_zgetrs_incpiv_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(L) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgetrs_incpiv_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zgetrs_incpiv_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgetrs_incpiv_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zgetrs_incpiv_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgetrs_incpiv_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pztrsmpl( A, B, L, IPIV, sequence, request ); + chameleon_pztrsmpl( A, B, L, IPIV, sequence, request ); - morse_pztrsm( MorseLeft, MorseUpper, MorseNoTrans, MorseNonUnit, 1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, ChamUpper, ChamNoTrans, ChamNonUnit, 1.0, A, B, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zgetrs_nopiv.c b/compute/zgetrs_nopiv.c index 115213ec085050c36da9903b432b782ee0652a6e..f38fb1025e806f920c9f658191a7a15f758f218f 100644 --- a/compute/zgetrs_nopiv.c +++ b/compute/zgetrs_nopiv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -28,19 +28,19 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zgetrs_nopiv - Solves a system of linear equations A * X = B, with a general N-by-N matrix A - * using the tile LU factorization computed by MORSE_zgetrf_nopiv. + * CHAMELEON_zgetrs_nopiv - Solves a system of linear equations A * X = B, with a general N-by-N matrix A + * using the tile LU factorization computed by CHAMELEON_zgetrf_nopiv. * ******************************************************************************* * * @param[in] trans * Intended to specify the the form of the system of equations: - * = MorseNoTrans: A * X = B (No transpose) - * = MorseTrans: A**T * X = B (Transpose) - * = MorseConjTrans: A**H * X = B (Conjugate transpose) - * Currently only MorseNoTrans is supported. + * = ChamNoTrans: A * X = B (No transpose) + * = ChamTrans: A**T * X = B (Transpose) + * = ChamConjTrans: A**H * X = B (Conjugate transpose) + * Currently only ChamNoTrans is supported. * * @param[in] N * The order of the matrix A. N >= 0. @@ -50,7 +50,7 @@ * NRHS >= 0. * * @param[in] A - * The tile factors L and U from the factorization, computed by MORSE_zgetrf_nopiv. + * The tile factors L and U from the factorization, computed by CHAMELEON_zgetrf_nopiv. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,N). @@ -65,107 +65,107 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \return <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zgetrs_nopiv_Tile - * @sa MORSE_zgetrs_nopiv_Tile_Async - * @sa MORSE_cgetrs_nopiv - * @sa MORSE_dgetrs_nopiv - * @sa MORSE_sgetrs_nopiv - * @sa MORSE_zgetrf_nopiv + * @sa CHAMELEON_zgetrs_nopiv_Tile + * @sa CHAMELEON_zgetrs_nopiv_Tile_Async + * @sa CHAMELEON_cgetrs_nopiv + * @sa CHAMELEON_dgetrs_nopiv + * @sa CHAMELEON_sgetrs_nopiv + * @sa CHAMELEON_zgetrf_nopiv * */ -int MORSE_zgetrs_nopiv( MORSE_enum trans, int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zgetrs_nopiv( cham_trans_t trans, int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgetrs_nopiv", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgetrs_nopiv", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if (trans != MorseNoTrans) { - morse_error("MORSE_zgetrs_nopiv", "only MorseNoTrans supported"); - return MORSE_ERR_NOT_SUPPORTED; + if (trans != ChamNoTrans) { + chameleon_error("CHAMELEON_zgetrs_nopiv", "only ChamNoTrans supported"); + return CHAMELEON_ERR_NOT_SUPPORTED; } if (N < 0) { - morse_error("MORSE_zgetrs_nopiv", "illegal value of N"); + chameleon_error("CHAMELEON_zgetrs_nopiv", "illegal value of N"); return -2; } if (NRHS < 0) { - morse_error("MORSE_zgetrs_nopiv", "illegal value of NRHS"); + chameleon_error("CHAMELEON_zgetrs_nopiv", "illegal value of NRHS"); return -3; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zgetrs_nopiv", "illegal value of LDA"); + chameleon_error("CHAMELEON_zgetrs_nopiv", "illegal value of LDA"); return -5; } if (LDB < chameleon_max(1, N)) { - morse_error("MORSE_zgetrs_nopiv", "illegal value of LDB"); + chameleon_error("CHAMELEON_zgetrs_nopiv", "illegal value of LDB"); return -9; } /* Quick return */ if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGESV, N, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zgetrs_nopiv", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGESV, N, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgetrs_nopiv", "chameleon_tune() failed"); return status; } /* Set NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_zgetrs_nopiv_Tile_Async( &descAt, &descBt, sequence, &request ); + CHAMELEON_zgetrs_nopiv_Tile_Async( &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zgetrs_nopiv_Tile - Solves a system of linear equations using previously + * CHAMELEON_zgetrs_nopiv_Tile - Solves a system of linear equations using previously * computed LU factorization. - * Tile equivalent of MORSE_zgetrs_nopiv(). + * Tile equivalent of CHAMELEON_zgetrs_nopiv(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -173,7 +173,7 @@ int MORSE_zgetrs_nopiv( MORSE_enum trans, int N, int NRHS, ******************************************************************************* * * @param[in] A - * The tile factors L and U from the factorization, computed by MORSE_zgetrf_nopiv. + * The tile factors L and U from the factorization, computed by CHAMELEON_zgetrf_nopiv. * * @param[in,out] B * On entry, the N-by-NRHS matrix of right hand side matrix B. @@ -182,51 +182,51 @@ int MORSE_zgetrs_nopiv( MORSE_enum trans, int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zgetrs_nopiv - * @sa MORSE_zgetrs_nopiv_Tile_Async - * @sa MORSE_cgetrs_nopiv_Tile - * @sa MORSE_dgetrs_nopiv_Tile - * @sa MORSE_sgetrs_nopiv_Tile - * @sa MORSE_zgetrf_nopiv_Tile + * @sa CHAMELEON_zgetrs_nopiv + * @sa CHAMELEON_zgetrs_nopiv_Tile_Async + * @sa CHAMELEON_cgetrs_nopiv_Tile + * @sa CHAMELEON_dgetrs_nopiv_Tile + * @sa CHAMELEON_sgetrs_nopiv_Tile + * @sa CHAMELEON_zgetrf_nopiv_Tile * */ -int MORSE_zgetrs_nopiv_Tile( MORSE_desc_t *A, MORSE_desc_t *B ) +int CHAMELEON_zgetrs_nopiv_Tile( CHAM_desc_t *A, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgetrs_nopiv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgetrs_nopiv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zgetrs_nopiv_Tile_Async( A, B, sequence, &request ); + CHAMELEON_zgetrs_nopiv_Tile_Async( A, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zgetrs_nopiv_Tile_Async - Solves a system of linear equations using previously + * CHAMELEON_zgetrs_nopiv_Tile_Async - Solves a system of linear equations using previously * computed LU factorization. - * Non-blocking equivalent of MORSE_zgetrs_nopiv_Tile(). + * Non-blocking equivalent of CHAMELEON_zgetrs_nopiv_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -241,62 +241,62 @@ int MORSE_zgetrs_nopiv_Tile( MORSE_desc_t *A, MORSE_desc_t *B ) * ******************************************************************************* * - * @sa MORSE_zgetrs_nopiv - * @sa MORSE_zgetrs_nopiv_Tile - * @sa MORSE_cgetrs_nopiv_Tile_Async - * @sa MORSE_dgetrs_nopiv_Tile_Async - * @sa MORSE_sgetrs_nopiv_Tile_Async - * @sa MORSE_zgetrf_nopiv_Tile_Async + * @sa CHAMELEON_zgetrs_nopiv + * @sa CHAMELEON_zgetrs_nopiv_Tile + * @sa CHAMELEON_cgetrs_nopiv_Tile_Async + * @sa CHAMELEON_dgetrs_nopiv_Tile_Async + * @sa CHAMELEON_sgetrs_nopiv_Tile_Async + * @sa CHAMELEON_zgetrf_nopiv_Tile_Async * */ -int MORSE_zgetrs_nopiv_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zgetrs_nopiv_Tile_Async( CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zgetrs_nopiv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zgetrs_nopiv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zgetrs_nopiv_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgetrs_nopiv_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zgetrs_nopiv_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zgetrs_nopiv_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zgetrs_nopiv_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgetrs_nopiv_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zgetrs_nopiv_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zgetrs_nopiv_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zgetrs_nopiv_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zgetrs_nopiv_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pztrsm( MorseLeft, MorseLower, MorseNoTrans, MorseUnit, (MORSE_Complex64_t)1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, ChamLower, ChamNoTrans, ChamUnit, (CHAMELEON_Complex64_t)1.0, A, B, sequence, request ); - morse_pztrsm( MorseLeft, MorseUpper, MorseNoTrans, MorseNonUnit, (MORSE_Complex64_t)1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, ChamUpper, ChamNoTrans, ChamNonUnit, (CHAMELEON_Complex64_t)1.0, A, B, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zheevd.c b/compute/zheevd.c index d630088170a245ff20b8fb934907cc59b7072650..505bb279a67acbea1da6fc20c1771b905a47533c 100644 --- a/compute/zheevd.c +++ b/compute/zheevd.c @@ -28,9 +28,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zheevd - Computes all eigenvalues and, optionally, + * CHAMELEON_zheevd - Computes all eigenvalues and, optionally, * eigenvectors of a complex Hermitian matrix A. The matrix A is * preliminary reduced to tridiagonal form using a two-stage * approach: @@ -41,30 +41,30 @@ * * @param[in] jobz * Intended usage: - * = MorseNoVec: computes eigenvalues only; - * = MorseVec: computes eigenvalues and eigenvectors. + * = ChamNoVec: computes eigenvalues only; + * = ChamVec: computes eigenvalues and eigenvectors. * * @param[in] uplo * Specifies whether the matrix A is upper triangular or * lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The order of the matrix A. N >= 0. * * @param[in,out] A * On entry, the symmetric (or Hermitian) matrix A. - * If uplo = MorseUpper, the leading N-by-N upper triangular + * If uplo = ChamUpper, the leading N-by-N upper triangular * part of A contains the upper triangular part of the matrix * A, and the strictly lower triangular part of A is not * referenced. - * If uplo = MorseLower, the leading N-by-N lower triangular + * If uplo = ChamLower, the leading N-by-N lower triangular * part of A contains the lower triangular part of the matrix * A, and the strictly upper triangular part of A is not * referenced. - * On exit, the lower triangle (if uplo = MorseLower) or the - * upper triangle (if uplo = MorseUpper) of A, including the + * On exit, the lower triangle (if uplo = ChamLower) or the + * upper triangle (if uplo = ChamUpper) of A, including the * diagonal, is destroyed. * * @param[in] LDA @@ -74,13 +74,13 @@ * On exit, if info = 0, the eigenvalues. * * @param[in, out] descT - * On entry, descriptor as return by MORSE_Alloc_Workspace_zheevd + * On entry, descriptor as return by CHAMELEON_Alloc_Workspace_zheevd * On exit, contains auxiliary factorization data. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if INFO = i, the algorithm failed to converge; i * off-diagonal elements of an intermediate tridiagonal @@ -88,91 +88,91 @@ * ******************************************************************************* * - * @sa MORSE_zheevd_Tile - * @sa MORSE_zheevd_Tile_Async - * @sa MORSE_cheevd - * @sa MORSE_dsyev - * @sa MORSE_ssyev + * @sa CHAMELEON_zheevd_Tile + * @sa CHAMELEON_zheevd_Tile_Async + * @sa CHAMELEON_cheevd + * @sa CHAMELEON_dsyev + * @sa CHAMELEON_ssyev * */ -int MORSE_zheevd( MORSE_enum jobz, MORSE_enum uplo, int N, - MORSE_Complex64_t *A, int LDA, +int CHAMELEON_zheevd( cham_job_t jobz, cham_uplo_t uplo, int N, + CHAMELEON_Complex64_t *A, int LDA, double *W, - MORSE_desc_t *descT ) + CHAM_desc_t *descT ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zheevd", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zheevd", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if (jobz != MorseNoVec && jobz != MorseVec) { - morse_error("MORSE_zheevd", "illegal value of jobz"); + if (jobz != ChamNoVec && jobz != ChamVec) { + chameleon_error("CHAMELEON_zheevd", "illegal value of jobz"); return -1; } - if ((uplo != MorseLower) && (uplo != MorseUpper)) { - morse_error("MORSE_zheevd", "illegal value of uplo"); + if ((uplo != ChamLower) && (uplo != ChamUpper)) { + chameleon_error("CHAMELEON_zheevd", "illegal value of uplo"); return -2; } if (N < 0) { - morse_error("MORSE_zheevd", "illegal value of N"); + chameleon_error("CHAMELEON_zheevd", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zheevd", "illegal value of LDA"); + chameleon_error("CHAMELEON_zheevd", "illegal value of LDA"); return -5; } /* Quick return */ if (N == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on N; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZHEEVD, N, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zheevd", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZHEEVD, N, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zheevd", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zheevd_Tile_Async( jobz, uplo, &descAt, W, descT, sequence, &request ); + CHAMELEON_zheevd_Tile_Async( jobz, uplo, &descAt, W, descT, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zheevd_Tile - Computes all eigenvalues and, optionally, eigenvectors of a + * CHAMELEON_zheevd_Tile - Computes all eigenvalues and, optionally, eigenvectors of a * complex Hermitian matrix A using a two-stage approach: * First stage: reduction to band tridiagonal form; * Second stage: reduction from band to tridiagonal form. @@ -185,42 +185,42 @@ int MORSE_zheevd( MORSE_enum jobz, MORSE_enum uplo, int N, * * @param[in] jobz * Intended usage: - * = MorseNoVec: computes eigenvalues only; - * = MorseVec: computes eigenvalues and eigenvectors. + * = ChamNoVec: computes eigenvalues only; + * = ChamVec: computes eigenvalues and eigenvectors. * * @param[in] uplo * Specifies whether the matrix A is upper triangular or * lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in,out] A * On entry, the symmetric (or Hermitian) matrix A. - * If uplo = MorseUpper, the leading N-by-N upper triangular + * If uplo = ChamUpper, the leading N-by-N upper triangular * part of A contains the upper triangular part of the matrix * A, and the strictly lower triangular part of A is not * referenced. * If UPLO = 'L', the leading N-by-N lower triangular part of * A contains the lower triangular part of the matrix A, and * the strictly upper triangular part of A is not referenced. - * On exit, if jobz = MorseVec, then if return value = 0, A + * On exit, if jobz = ChamVec, then if return value = 0, A * contains the orthonormal eigenvectors of the matrix A. - * If jobz = MorseNoVec, then on exit the lower triangle (if - * uplo = MorseLower) or the upper triangle (if uplo = - * MorseUpper) of A, including the diagonal, is destroyed.* + * If jobz = ChamNoVec, then on exit the lower triangle (if + * uplo = ChamLower) or the upper triangle (if uplo = + * ChamUpper) of A, including the diagonal, is destroyed.* * * @param[out] W * On exit, if info = 0, the eigenvalues. * * @param[in,out] T * On entry, descriptor as return by - * MORSE_Alloc_Workspace_zheevd + * CHAMELEON_Alloc_Workspace_zheevd * On exit, contains auxiliary factorization data. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if INFO = i, the algorithm failed to converge; i * off-diagonal elements of an intermediate tridiagonal @@ -228,45 +228,45 @@ int MORSE_zheevd( MORSE_enum jobz, MORSE_enum uplo, int N, * ******************************************************************************* * - * @sa MORSE_zheevd_Tile - * @sa MORSE_zheevd_Tile_Async - * @sa MORSE_cheevd - * @sa MORSE_dsyev - * @sa MORSE_ssyev + * @sa CHAMELEON_zheevd_Tile + * @sa CHAMELEON_zheevd_Tile_Async + * @sa CHAMELEON_cheevd + * @sa CHAMELEON_dsyev + * @sa CHAMELEON_ssyev * */ -int MORSE_zheevd_Tile( MORSE_enum jobz, MORSE_enum uplo, - MORSE_desc_t *A, double *W, MORSE_desc_t *T ) +int CHAMELEON_zheevd_Tile( cham_job_t jobz, cham_uplo_t uplo, + CHAM_desc_t *A, double *W, CHAM_desc_t *T ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zheevd_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zheevd_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zheevd_Tile_Async( jobz, uplo, A, W, T, sequence, &request ); + CHAMELEON_zheevd_Tile_Async( jobz, uplo, A, W, T, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zheevd_Tile_Async - Computes all eigenvalues and, + * CHAMELEON_zheevd_Tile_Async - Computes all eigenvalues and, * optionally, eigenvectors of a complex Hermitian matrix A using a * two-stage approach: * First stage: reduction to band tridiagonal form; @@ -279,36 +279,36 @@ int MORSE_zheevd_Tile( MORSE_enum jobz, MORSE_enum uplo, * * @param[in] jobz * Intended usage: - * = MorseNoVec: computes eigenvalues only; - * = MorseVec: computes eigenvalues and eigenvectors. + * = ChamNoVec: computes eigenvalues only; + * = ChamVec: computes eigenvalues and eigenvectors. * * @param[in] uplo * Specifies whether the matrix A is upper triangular or * lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in,out] A * On entry, the symmetric (or Hermitian) matrix A. - * If uplo = MorseUpper, the leading N-by-N upper triangular + * If uplo = ChamUpper, the leading N-by-N upper triangular * part of A contains the upper triangular part of the matrix * A, and the strictly lower triangular part of A is not * referenced. * If UPLO = 'L', the leading N-by-N lower triangular part of * A contains the lower triangular part of the matrix A, and * the strictly upper triangular part of A is not referenced. - * On exit, if jobz = MorseVec, then if return value = 0, A + * On exit, if jobz = ChamVec, then if return value = 0, A * contains the orthonormal eigenvectors of the matrix A. - * If jobz = MorseNoVec, then on exit the lower triangle (if - * uplo = MorseLower) or the upper triangle (if uplo = - * MorseUpper) of A, including the diagonal, is destroyed.* + * If jobz = ChamNoVec, then on exit the lower triangle (if + * uplo = ChamLower) or the upper triangle (if uplo = + * ChamUpper) of A, including the diagonal, is destroyed.* * * @param[out] W * On exit, if info = 0, the eigenvalues. * * @param[in,out] T * On entry, descriptor as return by - * MORSE_Alloc_Workspace_zheevd + * CHAMELEON_Alloc_Workspace_zheevd * On exit, contains auxiliary factorization data. * * @param[in] sequence @@ -320,79 +320,79 @@ int MORSE_zheevd_Tile( MORSE_enum jobz, MORSE_enum uplo, * ******************************************************************************* * - * @sa MORSE_zheevd - * @sa MORSE_zheevd_Tile - * @sa MORSE_cheevd_Tile_Async - * @sa MORSE_dsyev_Tile_Async - * @sa MORSE_ssyev_Tile_Async + * @sa CHAMELEON_zheevd + * @sa CHAMELEON_zheevd_Tile + * @sa CHAMELEON_cheevd_Tile_Async + * @sa CHAMELEON_dsyev_Tile_Async + * @sa CHAMELEON_ssyev_Tile_Async * */ -int MORSE_zheevd_Tile_Async( MORSE_enum jobz, MORSE_enum uplo, - MORSE_desc_t *A, double *W, MORSE_desc_t *T, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zheevd_Tile_Async( cham_job_t jobz, cham_uplo_t uplo, + CHAM_desc_t *A, double *W, CHAM_desc_t *T, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t descA; - MORSE_desc_t descT; - MORSE_desc_t D, *Dptr = NULL; - MORSE_Complex64_t *Q2 = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t descA; + CHAM_desc_t descT; + CHAM_desc_t D, *Dptr = NULL; + CHAMELEON_Complex64_t *Q2 = NULL; int N, NB, status; double *E; - MORSE_Complex64_t *V; - MORSE_desc_t descQ2l, descQ2t; - MORSE_desc_t descVl, descVt; - MORSE_desc_t *subA, *subQ, *subT; - - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zheevd_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + CHAMELEON_Complex64_t *V; + CHAM_desc_t descQ2l, descQ2t; + CHAM_desc_t descVl, descVt; + CHAM_desc_t *subA, *subQ, *subT; + + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zheevd_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zheevd_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zheevd_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zheevd_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zheevd_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zheevd_Tile_Async", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zheevd_Tile_Async", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } else { descA = *A; } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_zheevd_Tile_Async", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zheevd_Tile_Async", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } else { descT = *T; } /* Check input arguments */ - if (jobz != MorseNoVec && jobz != MorseVec) { - morse_error("MORSE_zheevd_Tile_Async", "illegal value of jobz"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (jobz != ChamNoVec && jobz != ChamVec) { + chameleon_error("CHAMELEON_zheevd_Tile_Async", "illegal value of jobz"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseLower) && (uplo != MorseUpper)) { - morse_error("MORSE_zheevd_Tile_Async", "illegal value of uplo"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((uplo != ChamLower) && (uplo != ChamUpper)) { + chameleon_error("CHAMELEON_zheevd_Tile_Async", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (descA.m != descA.n) { - morse_error("MORSE_zheevd_Tile_Async", "matrix need to be square"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zheevd_Tile_Async", "matrix need to be square"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (descA.nb != descA.mb) { - morse_error("MORSE_zheevd_Tile_Async", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zheevd_Tile_Async", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } N = descA.m; @@ -401,49 +401,49 @@ int MORSE_zheevd_Tile_Async( MORSE_enum jobz, MORSE_enum uplo, /* Allocate data structures for reduction to tridiagonal form */ E = malloc( (N - 1) * sizeof(double) ); if (E == NULL) { - morse_error("MORSE_zheevd_Tile_Async", "malloc(E) failed"); + chameleon_error("CHAMELEON_zheevd_Tile_Async", "malloc(E) failed"); free(E); - return MORSE_ERR_OUT_OF_RESOURCES; + return CHAMELEON_ERR_OUT_OF_RESOURCES; } - if (jobz == MorseVec){ + if (jobz == ChamVec){ /* Have to synchrone right now */ - Q2 = malloc( N * N * sizeof(MORSE_Complex64_t)); + Q2 = malloc( N * N * sizeof(CHAMELEON_Complex64_t)); /* For bug in lapacke */ - memset( Q2, 0, N * N * sizeof(MORSE_Complex64_t)); + memset( Q2, 0, N * N * sizeof(CHAMELEON_Complex64_t)); } - status = MORSE_zhetrd_Tile_Async( jobz, uplo, + status = CHAMELEON_zhetrd_Tile_Async( jobz, uplo, A, W, E, T, Q2, N, sequence, request ); if (status != 0) { - morse_error("MORSE_zheevd_Tile", "MORSE_zhetrd failed"); + chameleon_error("CHAMELEON_zheevd_Tile", "CHAMELEON_zhetrd failed"); } - if (jobz == MorseNoVec){ + if (jobz == ChamNoVec){ #if !defined(CHAMELEON_SIMULATION) /* Tridiagonal eigensolver */ status = LAPACKE_zstedc( LAPACK_COL_MAJOR, - morse_lapack_const(jobz), + chameleon_lapack_const(jobz), N, W, E, NULL, N ); if (status != 0) { - morse_error("MORSE_zheevd_Tile_Async", "LAPACKE_zstedc failed"); + chameleon_error("CHAMELEON_zheevd_Tile_Async", "LAPACKE_zstedc failed"); } #endif /* !defined(CHAMELEON_SIMULATION) */ free(E); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - V = malloc( N * N * sizeof(MORSE_Complex64_t) ); + V = malloc( N * N * sizeof(CHAMELEON_Complex64_t) ); if (V == NULL) { - morse_error("MORSE_zheevd_Tile_Async", "malloc(V) failed"); + chameleon_error("CHAMELEON_zheevd_Tile_Async", "malloc(V) failed"); free(V); - return MORSE_ERR_OUT_OF_RESOURCES; + return CHAMELEON_ERR_OUT_OF_RESOURCES; } /* For bug in lapacke */ - memset(V, 0, N * N * sizeof(MORSE_Complex64_t)); + memset(V, 0, N * N * sizeof(CHAMELEON_Complex64_t)); /* * Tridiagonal eigensolver @@ -451,45 +451,45 @@ int MORSE_zheevd_Tile_Async( MORSE_enum jobz, MORSE_enum uplo, */ #if !defined(CHAMELEON_SIMULATION) status = LAPACKE_zstedc( LAPACK_COL_MAJOR, - morse_lapack_const(MorseIvec), + chameleon_lapack_const(ChamIvec), N, W, E, V, N ); if (status != 0) { - morse_error("MORSE_zheevd_Tile_Async", "LAPACKE_zstedc failed"); + chameleon_error("CHAMELEON_zheevd_Tile_Async", "LAPACKE_zstedc failed"); } #endif /* !defined(CHAMELEON_SIMULATION) */ /* Convert matrices in tile format */ - /* A/T from MORSE_zhetrd refer to Q1 (tile layout) */ - /* Q from MORSE_zhetrd refers to Q2 (lapack layout) */ + /* A/T from CHAMELEON_zhetrd refer to Q1 (tile layout) */ + /* Q from CHAMELEON_zhetrd refers to Q2 (lapack layout) */ /* V from LAPACKE_zstedc refers to V (lapack layout) */ /* The final eigenvectors are (Q1 Q2 V) or (Q1^h Q2 V) */ - morse_zlap2tile( morse, &descQ2l, &descQ2t, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descQ2l, &descQ2t, ChamDescInput, ChamUpperLower, Q2, NB, NB, N, N, N, N, sequence, request ); - morse_zlap2tile( morse, &descVl, &descVt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descVl, &descVt, ChamDescInput, ChamUpperLower, V, NB, NB, N, N, N, N, sequence, request ); - if (uplo == MorseLower) + if (uplo == ChamLower) { #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - subA = morse_desc_submatrix(&descA, descA.mb, 0, descA.m -descA.mb, descA.n-descA.nb); - subQ = morse_desc_submatrix(&descQ2t, descQ2t.mb, 0, descQ2t.m-descQ2t.mb, descQ2t.n ); - subT = morse_desc_submatrix(&descT, descT.mb, 0, descT.m -descT.mb, descT.n-descT.nb); + subA = chameleon_desc_submatrix(&descA, descA.mb, 0, descA.m -descA.mb, descA.n-descA.nb); + subQ = chameleon_desc_submatrix(&descQ2t, descQ2t.mb, 0, descQ2t.m-descQ2t.mb, descQ2t.n ); + subT = chameleon_desc_submatrix(&descT, descT.mb, 0, descT.m -descT.mb, descT.n-descT.nb); /* Compute Q2 = Q1 * Q2 */ - morse_pzunmqr( MorseLeft, MorseNoTrans, + chameleon_pzunmqr( ChamLeft, ChamNoTrans, subA, subQ, subT, Dptr, sequence, request ); /* Compute the final eigenvectors A = (Q1 * Q2) * V */ - morse_pzgemm( MorseNoTrans, MorseNoTrans, + chameleon_pzgemm( ChamNoTrans, ChamNoTrans, 1.0, &descQ2t, &descVt, 0.0, &descA, sequence, request ); @@ -499,44 +499,45 @@ int MORSE_zheevd_Tile_Async( MORSE_enum jobz, MORSE_enum uplo, #if defined(CHAMELEON_COPY_DIAG) { int m = chameleon_min(A->mt, A->nt) * A->mb; - morse_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); Dptr = &D; } #endif - subA = morse_desc_submatrix(&descA, 0, descA.nb, descA.m -descA.mb, descA.n -descA.nb ); - subQ = morse_desc_submatrix(&descQ2t, descQ2t.mb, 0, descQ2t.m-descQ2t.mb, descQ2t.n ); - subT = morse_desc_submatrix(&descT, 0, descT.nb, descT.m -descT.mb, descT.n -descT.nb ); + subA = chameleon_desc_submatrix(&descA, 0, descA.nb, descA.m -descA.mb, descA.n -descA.nb ); + subQ = chameleon_desc_submatrix(&descQ2t, descQ2t.mb, 0, descQ2t.m-descQ2t.mb, descQ2t.n ); + subT = chameleon_desc_submatrix(&descT, 0, descT.nb, descT.m -descT.mb, descT.n -descT.nb ); /* Compute Q2 = Q1^h * Q2 */ - morse_pzunmlq( MorseLeft, MorseConjTrans, + chameleon_pzunmlq( ChamLeft, ChamConjTrans, subA, subQ, subT, Dptr, sequence, request ); /* Compute the final eigenvectors A = (Q1^h * Q2) * V */ - morse_pzgemm( MorseNoTrans, MorseNoTrans, + chameleon_pzgemm( ChamNoTrans, ChamNoTrans, 1.0, &descQ2t, &descVt, 0.0, &descA, sequence, request ); } - morse_ztile2lap( morse, &descQ2l, &descQ2t, - MorseDescInput, MorseUpperLower, sequence, request ); - morse_ztile2lap( morse, &descVl, &descVt, - MorseDescInput, MorseUpperLower, sequence, request ); + chameleon_ztile2lap( chamctxt, &descQ2l, &descQ2t, + ChamDescInput, ChamUpperLower, sequence, request ); + chameleon_ztile2lap( chamctxt, &descVl, &descVt, + ChamDescInput, ChamUpperLower, sequence, request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descQ2l, &descQ2t ); - morse_ztile2lap_cleanup( morse, &descVl, &descVt ); + chameleon_ztile2lap_cleanup( chamctxt, &descQ2l, &descQ2t ); + chameleon_ztile2lap_cleanup( chamctxt, &descVl, &descVt ); free(subA); free(subQ); free(subT); free(Q2); free(V); free(E); if (Dptr != NULL) { - morse_desc_mat_free( Dptr ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zhemm.c b/compute/zhemm.c index 225d64ac79c2a0081787570e7cd6966bf1d9f4b8..55c1332f44df4076960b02256f755bd3b1ce2d5a 100644 --- a/compute/zhemm.c +++ b/compute/zhemm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,9 +26,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zhemm - Performs one of the matrix-matrix operations + * CHAMELEON_zhemm - Performs one of the matrix-matrix operations * * \f[ C = \alpha \times A \times B + \beta \times C \f] * @@ -44,15 +44,15 @@ * @param[in] side * Specifies whether the hermitian matrix A appears on the * left or right in the operation as follows: - * = MorseLeft: \f[ C = \alpha \times A \times B + \beta \times C \f] - * = MorseRight: \f[ C = \alpha \times B \times A + \beta \times C \f] + * = ChamLeft: \f[ C = \alpha \times A \times B + \beta \times C \f] + * = ChamRight: \f[ C = \alpha \times B \times A + \beta \times C \f] * * @param[in] uplo * Specifies whether the upper or lower triangular part of * the hermitian matrix A is to be referenced as follows: - * = MorseLower: Only the lower triangular part of the + * = ChamLower: Only the lower triangular part of the * hermitian matrix A is to be referenced. - * = MorseUpper: Only the upper triangular part of the + * = ChamUpper: Only the upper triangular part of the * hermitian matrix A is to be referenced. * * @param[in] M @@ -65,7 +65,7 @@ * Specifies the scalar alpha. * * @param[in] A - * A is a LDA-by-ka matrix, where ka is M when side = MorseLeft, + * A is a LDA-by-ka matrix, where ka is M when side = ChamLeft, * and is N otherwise. Only the uplo triangular part is referenced. * * @param[in] LDA @@ -91,123 +91,123 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zhemm_Tile - * @sa MORSE_chemm - * @sa MORSE_dhemm - * @sa MORSE_shemm + * @sa CHAMELEON_zhemm_Tile + * @sa CHAMELEON_chemm + * @sa CHAMELEON_dhemm + * @sa CHAMELEON_shemm * */ -int MORSE_zhemm( MORSE_enum side, MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC ) +int CHAMELEON_zhemm( cham_side_t side, cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC ) { int NB; int Am; int status; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; - MORSE_desc_t descCl, descCt; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; + CHAM_desc_t descCl, descCt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zhemm", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zhemm", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ( (side != MorseLeft) && (side != MorseRight) ){ - morse_error("MORSE_zhemm", "illegal value of side"); + if ( (side != ChamLeft) && (side != ChamRight) ){ + chameleon_error("CHAMELEON_zhemm", "illegal value of side"); return -1; } - if ((uplo != MorseLower) && (uplo != MorseUpper)) { - morse_error("MORSE_zhemm", "illegal value of uplo"); + if ((uplo != ChamLower) && (uplo != ChamUpper)) { + chameleon_error("CHAMELEON_zhemm", "illegal value of uplo"); return -2; } - Am = ( side == MorseLeft ) ? M : N; + Am = ( side == ChamLeft ) ? M : N; if (M < 0) { - morse_error("MORSE_zhemm", "illegal value of M"); + chameleon_error("CHAMELEON_zhemm", "illegal value of M"); return -3; } if (N < 0) { - morse_error("MORSE_zhemm", "illegal value of N"); + chameleon_error("CHAMELEON_zhemm", "illegal value of N"); return -4; } if (LDA < chameleon_max(1, Am)) { - morse_error("MORSE_zhemm", "illegal value of LDA"); + chameleon_error("CHAMELEON_zhemm", "illegal value of LDA"); return -7; } if (LDB < chameleon_max(1, M)) { - morse_error("MORSE_zhemm", "illegal value of LDB"); + chameleon_error("CHAMELEON_zhemm", "illegal value of LDB"); return -9; } if (LDC < chameleon_max(1, M)) { - morse_error("MORSE_zhemm", "illegal value of LDC"); + chameleon_error("CHAMELEON_zhemm", "illegal value of LDC"); return -12; } /* Quick return */ if (M == 0 || N == 0 || - ((alpha == (MORSE_Complex64_t)0.0) && beta == (MORSE_Complex64_t)1.0)) - return MORSE_SUCCESS; + ((alpha == (CHAMELEON_Complex64_t)0.0) && beta == (CHAMELEON_Complex64_t)1.0)) + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZHEMM, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zhemm", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZHEMM, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zhemm", "chameleon_tune() failed"); return status; } /* Set MT & NT & KT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, uplo, A, NB, NB, LDA, Am, Am, Am, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInput, ChamUpperLower, B, NB, NB, LDB, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descCl, &descCt, ChamDescInout, ChamUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zhemm_Tile_Async( side, uplo, alpha, &descAt, &descBt, beta, &descCt, sequence, &request ); + CHAMELEON_zhemm_Tile_Async( side, uplo, alpha, &descAt, &descBt, beta, &descCt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, uplo, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descCl, &descCt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descCl, &descCt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); - morse_ztile2lap_cleanup( morse, &descCl, &descCt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descCl, &descCt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zhemm_Tile - Performs Hermitian matrix multiplication. - * Tile equivalent of MORSE_zhemm(). + * CHAMELEON_zhemm_Tile - Performs Hermitian matrix multiplication. + * Tile equivalent of CHAMELEON_zhemm(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -217,22 +217,22 @@ int MORSE_zhemm( MORSE_enum side, MORSE_enum uplo, int M, int N, * @param[in] side * Specifies whether the hermitian matrix A appears on the * left or right in the operation as follows: - * = MorseLeft: \f[ C = \alpha \times A \times B + \beta \times C \f] - * = MorseRight: \f[ C = \alpha \times B \times A + \beta \times C \f] + * = ChamLeft: \f[ C = \alpha \times A \times B + \beta \times C \f] + * = ChamRight: \f[ C = \alpha \times B \times A + \beta \times C \f] * * @param[in] uplo * Specifies whether the upper or lower triangular part of * the hermitian matrix A is to be referenced as follows: - * = MorseLower: Only the lower triangular part of the + * = ChamLower: Only the lower triangular part of the * hermitian matrix A is to be referenced. - * = MorseUpper: Only the upper triangular part of the + * = ChamUpper: Only the upper triangular part of the * hermitian matrix A is to be referenced. * * @param[in] alpha * Specifies the scalar alpha. * * @param[in] A - * A is a LDA-by-ka matrix, where ka is M when side = MorseLeft, + * A is a LDA-by-ka matrix, where ka is M when side = ChamLeft, * and is N otherwise. Only the uplo triangular part is referenced. * * @param[in] B @@ -249,52 +249,52 @@ int MORSE_zhemm( MORSE_enum side, MORSE_enum uplo, int M, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zhemm - * @sa MORSE_zhemm_Tile_Async - * @sa MORSE_chemm_Tile - * @sa MORSE_dhemm_Tile - * @sa MORSE_shemm_Tile + * @sa CHAMELEON_zhemm + * @sa CHAMELEON_zhemm_Tile_Async + * @sa CHAMELEON_chemm_Tile + * @sa CHAMELEON_dhemm_Tile + * @sa CHAMELEON_shemm_Tile * */ -int MORSE_zhemm_Tile( MORSE_enum side, MORSE_enum uplo, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_Complex64_t beta, MORSE_desc_t *C ) +int CHAMELEON_zhemm_Tile( cham_side_t side, cham_uplo_t uplo, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zhemm_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zhemm_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zhemm_Tile_Async(side, uplo, alpha, A, B, beta, C, sequence, &request ); + CHAMELEON_zhemm_Tile_Async(side, uplo, alpha, A, B, beta, C, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zhemm_Tile_Async - Performs Hermitian matrix multiplication. - * Non-blocking equivalent of MORSE_zhemm_Tile(). + * CHAMELEON_zhemm_Tile_Async - Performs Hermitian matrix multiplication. + * Non-blocking equivalent of CHAMELEON_zhemm_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -309,114 +309,114 @@ int MORSE_zhemm_Tile( MORSE_enum side, MORSE_enum uplo, * ******************************************************************************* * - * @sa MORSE_zhemm - * @sa MORSE_zhemm_Tile - * @sa MORSE_chemm_Tile_Async - * @sa MORSE_dhemm_Tile_Async - * @sa MORSE_shemm_Tile_Async + * @sa CHAMELEON_zhemm + * @sa CHAMELEON_zhemm_Tile + * @sa CHAMELEON_chemm_Tile_Async + * @sa CHAMELEON_dhemm_Tile_Async + * @sa CHAMELEON_shemm_Tile_Async * */ -int MORSE_zhemm_Tile_Async( MORSE_enum side, MORSE_enum uplo, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_Complex64_t beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zhemm_Tile_Async( cham_side_t side, cham_uplo_t uplo, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zhemm_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zhemm_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zhemm_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zhemm_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zhemm_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zhemm_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zhemm_Tile_Async", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zhemm_Tile_Async", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zhemm_Tile_Async", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zhemm_Tile_Async", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(C) != MORSE_SUCCESS) { - morse_error("MORSE_zhemm_Tile_Async", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(C) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zhemm_Tile_Async", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ - if ( (side != MorseLeft) && (side != MorseRight) ){ - morse_error("MORSE_zhemm_Tile_Async", "illegal value of side"); - return morse_request_fail(sequence, request, -1); + if ( (side != ChamLeft) && (side != ChamRight) ){ + chameleon_error("CHAMELEON_zhemm_Tile_Async", "illegal value of side"); + return chameleon_request_fail(sequence, request, -1); } - if ((uplo != MorseLower) && (uplo != MorseUpper)) { - morse_error("MORSE_zhemm_Tile_Async", "illegal value of uplo"); - return morse_request_fail(sequence, request, -2); + if ((uplo != ChamLower) && (uplo != ChamUpper)) { + chameleon_error("CHAMELEON_zhemm_Tile_Async", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -2); } /* Check matrices sizes */ if ( (B->m != C->m) || (B->n != C->n) ) { - morse_error("MORSE_zhemm_Tile_Async", "B and C must have the same size"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zhemm_Tile_Async", "B and C must have the same size"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (A->m != A->n) || - ( (side == MorseLeft) && (A->m != B->m ) ) || - ( (side == MorseRight) && (A->m != B->n ) ) ) { - morse_error("MORSE_zhemm_Tile_Async", "Matrix A must be square of size M or N regarding side."); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + ( (side == ChamLeft) && (A->m != B->m ) ) || + ( (side == ChamRight) && (A->m != B->n ) ) ) { + chameleon_error("CHAMELEON_zhemm_Tile_Async", "Matrix A must be square of size M or N regarding side."); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check tiles sizes */ if ( (B->mb != C->mb) || (B->nb != C->nb) ) { - morse_error("MORSE_zhemm_Tile_Async", "B and C must have the same tile sizes"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zhemm_Tile_Async", "B and C must have the same tile sizes"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (A->mb != A->nb) || - ( (side == MorseLeft) && (A->mb != B->mb ) ) || - ( (side == MorseRight) && (A->mb != B->nb ) ) ) { - morse_error("MORSE_zhemm_Tile_Async", "Matrix A must be square with square tiles wich fits the reagding tile size of B and C"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + ( (side == ChamLeft) && (A->mb != B->mb ) ) || + ( (side == ChamRight) && (A->mb != B->nb ) ) ) { + chameleon_error("CHAMELEON_zhemm_Tile_Async", "Matrix A must be square with square tiles wich fits the reagding tile size of B and C"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check submatrix starting point */ /* if ( (B->i != C->i) || (B->j != C->j) ) { */ - /* morse_error("MORSE_zhemm_Tile_Async", "B and C submatrices doesn't match"); */ - /* return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); */ + /* chameleon_error("CHAMELEON_zhemm_Tile_Async", "B and C submatrices doesn't match"); */ + /* return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); */ /* } */ /* if ( (A->i != A->j) || */ - /* ( (side == MorseLeft) && (A->i != B->i ) ) || */ - /* ( (side == MorseRight) && (A->i != B->j ) ) ) { */ - /* morse_error("MORSE_zhemm_Tile_Async", "Submatrix A must start on diagnonal and match submatrices B and C."); */ - /* return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); */ + /* ( (side == ChamLeft) && (A->i != B->i ) ) || */ + /* ( (side == ChamRight) && (A->i != B->j ) ) ) { */ + /* chameleon_error("CHAMELEON_zhemm_Tile_Async", "Submatrix A must start on diagnonal and match submatrices B and C."); */ + /* return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); */ /* } */ if( (A->i != 0) || (A->j != 0) || (B->i != 0) || (B->j != 0) || (C->i != 0) || (C->j != 0) ) { - morse_error("MORSE_zhemm_Tile_Async", "Submatrices are not supported for now"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zhemm_Tile_Async", "Submatrices are not supported for now"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ if ( (C->m == 0) || (C->n == 0) || - ( (alpha == (MORSE_Complex64_t)0.0) && (beta == (MORSE_Complex64_t)1.0) ) ) + ( (alpha == (CHAMELEON_Complex64_t)0.0) && (beta == (CHAMELEON_Complex64_t)1.0) ) ) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzhemm( side, uplo, alpha, A, B, beta, C, sequence, request ); + chameleon_pzhemm( side, uplo, alpha, A, B, beta, C, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zher2k.c b/compute/zher2k.c index 27c76582f1595db8c2584617be250cb229b74e1d..6baf15273ca7afebf430fa66d3c519bf775bb785 100644 --- a/compute/zher2k.c +++ b/compute/zher2k.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,9 +26,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zher2k - Performs one of the hermitian rank 2k operations + * CHAMELEON_zher2k - Performs one of the hermitian rank 2k operations * * \f[ C = \alpha [ op( A ) \times conjg( op( B )' )] + conjg( \alpha ) [ op( B ) \times conjg( op( A )' )] + \beta C \f], * or @@ -45,26 +45,26 @@ ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of C is stored; - * = MorseLower: Lower triangle of C is stored. + * = ChamUpper: Upper triangle of C is stored; + * = ChamLower: Lower triangle of C is stored. * * @param[in] trans * Specifies whether the matrix A is transposed or conjugate transposed: - * = MorseNoTrans: \f[ C = \alpha [ op( A ) \times conjg( op( B )' )] + conjg( \alpha ) [ op( B ) \times conjg( op( A )' )] + \beta C \f] - * = MorseConjTrans: \f[ C = \alpha [ conjg( op( A )' ) \times op( B ) ] + conjg( \alpha ) [ conjg( op( B )' ) \times op( A ) ] + \beta C \f] + * = ChamNoTrans: \f[ C = \alpha [ op( A ) \times conjg( op( B )' )] + conjg( \alpha ) [ op( B ) \times conjg( op( A )' )] + \beta C \f] + * = ChamConjTrans: \f[ C = \alpha [ conjg( op( A )' ) \times op( B ) ] + conjg( \alpha ) [ conjg( op( B )' ) \times op( A ) ] + \beta C \f] * * @param[in] N * N specifies the order of the matrix C. N must be at least zero. * * @param[in] K - * K specifies the number of columns of the A and B matrices with trans = MorseNoTrans. - * K specifies the number of rows of the A and B matrices with trans = MorseTrans. + * K specifies the number of columns of the A and B matrices with trans = ChamNoTrans. + * K specifies the number of rows of the A and B matrices with trans = ChamTrans. * * @param[in] alpha * alpha specifies the scalar alpha. * * @param[in] A - * A is a LDA-by-ka matrix, where ka is K when trans = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is K when trans = ChamNoTrans, * and is N otherwise. * * @param[in] LDA @@ -72,7 +72,7 @@ * max( 1, N ), otherwise LDA must be at least max( 1, K ). * * @param[in] B - * B is a LDB-by-kb matrix, where kb is K when trans = MorseNoTrans, + * B is a LDB-by-kb matrix, where kb is K when trans = ChamNoTrans, * and is N otherwise. * * @param[in] LDB @@ -93,126 +93,126 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zher2k_Tile - * @sa MORSE_cher2k - * @sa MORSE_dher2k - * @sa MORSE_sher2k + * @sa CHAMELEON_zher2k_Tile + * @sa CHAMELEON_cher2k + * @sa CHAMELEON_dher2k + * @sa CHAMELEON_sher2k * */ -int MORSE_zher2k( MORSE_enum uplo, MORSE_enum trans, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, - double beta, MORSE_Complex64_t *C, int LDC ) +int CHAMELEON_zher2k( cham_uplo_t uplo, cham_trans_t trans, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, + double beta, CHAMELEON_Complex64_t *C, int LDC ) { int NB; int Am, An; int status; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; - MORSE_desc_t descCl, descCt; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; + CHAM_desc_t descCl, descCt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zher2k", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zher2k", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zher2k", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zher2k", "illegal value of uplo"); return -1; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { - morse_error("MORSE_zher2k", "illegal value of trans"); + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { + chameleon_error("CHAMELEON_zher2k", "illegal value of trans"); return -2; } - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { Am = N; An = K; } else { Am = K; An = N; } if (N < 0) { - morse_error("MORSE_zher2k", "illegal value of N"); + chameleon_error("CHAMELEON_zher2k", "illegal value of N"); return -3; } if (K < 0) { - morse_error("MORSE_zher2k", "illegal value of K"); + chameleon_error("CHAMELEON_zher2k", "illegal value of K"); return -4; } if (LDA < chameleon_max(1, Am)) { - morse_error("MORSE_zher2k", "illegal value of LDA"); + chameleon_error("CHAMELEON_zher2k", "illegal value of LDA"); return -7; } if (LDB < chameleon_max(1, Am)) { - morse_error("MORSE_zher2k", "illegal value of LDB"); + chameleon_error("CHAMELEON_zher2k", "illegal value of LDB"); return -9; } if (LDC < chameleon_max(1, N)) { - morse_error("MORSE_zher2k", "illegal value of LDC"); + chameleon_error("CHAMELEON_zher2k", "illegal value of LDC"); return -12; } /* Quick return */ if (N == 0 || - ((alpha == (MORSE_Complex64_t)0.0 || K == 0.0) && beta == (double)1.0)) - return MORSE_SUCCESS; + ((alpha == (CHAMELEON_Complex64_t)0.0 || K == 0.0) && beta == (double)1.0)) + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZHERK, N, K, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zher2k", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZHERK, N, K, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zher2k", "chameleon_tune() failed"); return status; } /* Set MT & NT & KT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInput, ChamUpperLower, B, NB, NB, LDB, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descCl, &descCt, ChamDescInout, uplo, C, NB, NB, LDC, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zher2k_Tile_Async( uplo, trans, alpha, &descAt, &descBt, beta, &descCt, sequence, &request ); + CHAMELEON_zher2k_Tile_Async( uplo, trans, 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, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descCl, &descCt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); - morse_ztile2lap_cleanup( morse, &descCl, &descCt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descCl, &descCt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zher2k_Tile - Performs hermitian rank k update. - * Tile equivalent of MORSE_zher2k(). + * CHAMELEON_zher2k_Tile - Performs hermitian rank k update. + * Tile equivalent of CHAMELEON_zher2k(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -220,23 +220,23 @@ int MORSE_zher2k( MORSE_enum uplo, MORSE_enum trans, int N, int K, ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of C is stored; - * = MorseLower: Lower triangle of C is stored. + * = ChamUpper: Upper triangle of C is stored; + * = ChamLower: Lower triangle of C is stored. * * @param[in] trans * Specifies whether the matrix A is transposed or conjugate transposed: - * = MorseNoTrans: A is not transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is not transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] alpha * alpha specifies the scalar alpha. * * @param[in] A - * A is a LDA-by-ka matrix, where ka is K when trans = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is K when trans = ChamNoTrans, * and is N otherwise. * * @param[in] B - * B is a LDB-by-kb matrix, where kb is K when trans = MorseNoTrans, + * B is a LDB-by-kb matrix, where kb is K when trans = ChamNoTrans, * and is N otherwise. * * @param[in] beta @@ -250,51 +250,51 @@ int MORSE_zher2k( MORSE_enum uplo, MORSE_enum trans, int N, int K, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zher2k_Tile - * @sa MORSE_cher2k - * @sa MORSE_dher2k - * @sa MORSE_sher2k + * @sa CHAMELEON_zher2k_Tile + * @sa CHAMELEON_cher2k + * @sa CHAMELEON_dher2k + * @sa CHAMELEON_sher2k * */ -int MORSE_zher2k_Tile( MORSE_enum uplo, MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - double beta, MORSE_desc_t *C ) +int CHAMELEON_zher2k_Tile( cham_uplo_t uplo, cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + double beta, CHAM_desc_t *C ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zher2k_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zher2k_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zher2k_Tile_Async( uplo, trans, alpha, A, B, beta, C, sequence, &request ); + CHAMELEON_zher2k_Tile_Async( uplo, trans, alpha, A, B, beta, C, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zher2k_Tile_Async - Performs Hermitian rank-k update. - * Non-blocking equivalent of MORSE_zher2k_Tile(). + * CHAMELEON_zher2k_Tile_Async - Performs Hermitian rank-k update. + * Non-blocking equivalent of CHAMELEON_zher2k_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -309,67 +309,67 @@ int MORSE_zher2k_Tile( MORSE_enum uplo, MORSE_enum trans, * ******************************************************************************* * - * @sa MORSE_zher2k - * @sa MORSE_zher2k_Tile - * @sa MORSE_cher2k_Tile_Async - * @sa MORSE_dher2k_Tile_Async - * @sa MORSE_sher2k_Tile_Async + * @sa CHAMELEON_zher2k + * @sa CHAMELEON_zher2k_Tile + * @sa CHAMELEON_cher2k_Tile_Async + * @sa CHAMELEON_dher2k_Tile_Async + * @sa CHAMELEON_sher2k_Tile_Async * */ -int MORSE_zher2k_Tile_Async( MORSE_enum uplo, MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - double beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zher2k_Tile_Async( cham_uplo_t uplo, cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + double beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; int N, K; int Am, An, Amb; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zher2k_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zher2k_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zher2k_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zher2k_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zher2k_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zher2k_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zher2k_Tile_Async", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zher2k_Tile_Async", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zher2k_Tile_Async", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zher2k_Tile_Async", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(C) != MORSE_SUCCESS) { - morse_error("MORSE_zher2k_Tile_Async", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(C) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zher2k_Tile_Async", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zher2k", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zher2k", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { - morse_error("MORSE_zher2k", "illegal value of trans"); - return morse_request_fail(sequence, request, -2); + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { + chameleon_error("CHAMELEON_zher2k", "illegal value of trans"); + return chameleon_request_fail(sequence, request, -2); } - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { Am = A->m; An = A->n; Amb = A->mb; @@ -380,20 +380,20 @@ int MORSE_zher2k_Tile_Async( MORSE_enum uplo, MORSE_enum trans, } if (C->mb != C->nb) { - morse_error("MORSE_zher2k_Tile_Async", "only square tiles for C are supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zher2k_Tile_Async", "only square tiles for C are supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (B->mb != A->mb) || (B->nb != A->nb) || (Amb != C->mb) ){ - morse_error("MORSE_zher2k_Tile_Async", "tile sizes have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zher2k_Tile_Async", "tile sizes have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (C->m != C->n) { - morse_error("MORSE_zher2k_Tile_Async", "only square matrix C is supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zher2k_Tile_Async", "only square matrix C is supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (B->m != A->m) || (B->n != A->n) || (Am != C->m) ){ - morse_error("MORSE_zher2k_Tile_Async", "sizes of matrices have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zher2k_Tile_Async", "sizes of matrices have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } N = C->m; @@ -401,12 +401,12 @@ int MORSE_zher2k_Tile_Async( MORSE_enum uplo, MORSE_enum trans, /* Quick return */ if ( (N == 0) || - (((alpha == (MORSE_Complex64_t)0.0) || (K == 0)) && (beta == (double)1.0)) ) + (((alpha == (CHAMELEON_Complex64_t)0.0) || (K == 0)) && (beta == (double)1.0)) ) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzher2k( uplo, trans, alpha, A, B, beta, C, sequence, request ); + chameleon_pzher2k( uplo, trans, alpha, A, B, beta, C, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zherk.c b/compute/zherk.c index a8dd544918f5a340471a75ee24c4127158368884..c6ab8ee0f7ef400f9341813b2456bbda04b76e21 100644 --- a/compute/zherk.c +++ b/compute/zherk.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,9 +26,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zherk - Performs one of the hermitian rank k operations + * CHAMELEON_zherk - Performs one of the hermitian rank k operations * * \f[ C = \alpha [ op( A ) \times conjg( op( A )' )] + \beta C \f], * @@ -43,13 +43,13 @@ ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of C is stored; - * = MorseLower: Lower triangle of C is stored. + * = ChamUpper: Upper triangle of C is stored; + * = ChamLower: Lower triangle of C is stored. * * @param[in] trans * Specifies whether the matrix A is transposed or conjugate transposed: - * = MorseNoTrans: A is not transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is not transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] N * N specifies the order of the matrix C. N must be at least zero. @@ -61,12 +61,12 @@ * alpha specifies the scalar alpha. * * @param[in] A - * A is a LDA-by-ka matrix, where ka is K when trans = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is K when trans = ChamNoTrans, * and is N otherwise. * * @param[in] LDA * The leading dimension of the array A. LDA must be at least - * max( 1, N ) if trans == MorseNoTrans, otherwise LDA must + * max( 1, N ) if trans == ChamNoTrans, otherwise LDA must * be at least max( 1, K ). * * @param[in] beta @@ -83,116 +83,116 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zherk_Tile - * @sa MORSE_cherk - * @sa MORSE_dherk - * @sa MORSE_sherk + * @sa CHAMELEON_zherk_Tile + * @sa CHAMELEON_cherk + * @sa CHAMELEON_dherk + * @sa CHAMELEON_sherk * */ -int MORSE_zherk( MORSE_enum uplo, MORSE_enum trans, int N, int K, - double alpha, MORSE_Complex64_t *A, int LDA, - double beta, MORSE_Complex64_t *C, int LDC ) +int CHAMELEON_zherk( cham_uplo_t uplo, cham_trans_t trans, int N, int K, + double alpha, CHAMELEON_Complex64_t *A, int LDA, + double beta, CHAMELEON_Complex64_t *C, int LDC ) { int NB; int Am, An; int status; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descCl, descCt; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descCl, descCt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zherk", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zherk", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zherk", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zherk", "illegal value of uplo"); return -1; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { - morse_error("MORSE_zherk", "illegal value of trans"); + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { + chameleon_error("CHAMELEON_zherk", "illegal value of trans"); return -2; } - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { Am = N; An = K; } else { Am = K; An = N; } if (N < 0) { - morse_error("MORSE_zherk", "illegal value of N"); + chameleon_error("CHAMELEON_zherk", "illegal value of N"); return -3; } if (K < 0) { - morse_error("MORSE_zherk", "illegal value of K"); + chameleon_error("CHAMELEON_zherk", "illegal value of K"); return -4; } if (LDA < chameleon_max(1, Am)) { - morse_error("MORSE_zherk", "illegal value of LDA"); + chameleon_error("CHAMELEON_zherk", "illegal value of LDA"); return -7; } if (LDC < chameleon_max(1, N)) { - morse_error("MORSE_zherk", "illegal value of LDC"); + chameleon_error("CHAMELEON_zherk", "illegal value of LDC"); return -10; } /* Quick return */ if (N == 0 || ((alpha == (double)0.0 || K == 0.0) && beta == (double)1.0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZHERK, N, K, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zherk", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZHERK, N, K, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zherk", "chameleon_tune() failed"); return status; } /* Set MT & NT & KT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descCl, &descCt, ChamDescInout, uplo, C, NB, NB, LDC, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zherk_Tile_Async( uplo, trans, alpha, &descAt, beta, &descCt, sequence, &request ); + CHAMELEON_zherk_Tile_Async( uplo, trans, alpha, &descAt, beta, &descCt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descCl, &descCt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descCl, &descCt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descCl, &descCt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descCl, &descCt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zherk_Tile - Performs hermitian rank k update. - * Tile equivalent of MORSE_zherk(). + * CHAMELEON_zherk_Tile - Performs hermitian rank k update. + * Tile equivalent of CHAMELEON_zherk(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -200,19 +200,19 @@ int MORSE_zherk( MORSE_enum uplo, MORSE_enum trans, int N, int K, ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of C is stored; - * = MorseLower: Lower triangle of C is stored. + * = ChamUpper: Upper triangle of C is stored; + * = ChamLower: Lower triangle of C is stored. * * @param[in] trans * Specifies whether the matrix A is transposed or conjugate transposed: - * = MorseNoTrans: A is not transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is not transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] alpha * alpha specifies the scalar alpha. * * @param[in] A - * A is a LDA-by-ka matrix, where ka is K when trans = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is K when trans = ChamNoTrans, * and is N otherwise. * * @param[in] beta @@ -226,50 +226,50 @@ int MORSE_zherk( MORSE_enum uplo, MORSE_enum trans, int N, int K, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zherk_Tile - * @sa MORSE_cherk - * @sa MORSE_dherk - * @sa MORSE_sherk + * @sa CHAMELEON_zherk_Tile + * @sa CHAMELEON_cherk + * @sa CHAMELEON_dherk + * @sa CHAMELEON_sherk * */ -int MORSE_zherk_Tile( MORSE_enum uplo, MORSE_enum trans, - double alpha, MORSE_desc_t *A, - double beta, MORSE_desc_t *C ) +int CHAMELEON_zherk_Tile( cham_uplo_t uplo, cham_trans_t trans, + double alpha, CHAM_desc_t *A, + double beta, CHAM_desc_t *C ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zherk_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zherk_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zherk_Tile_Async( uplo, trans, alpha, A, beta, C, sequence, &request ); + CHAMELEON_zherk_Tile_Async( uplo, trans, alpha, A, beta, C, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zherk_Tile_Async - Performs Hermitian rank-k update. - * Non-blocking equivalent of MORSE_zherk_Tile(). + * CHAMELEON_zherk_Tile_Async - Performs Hermitian rank-k update. + * Non-blocking equivalent of CHAMELEON_zherk_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -284,63 +284,63 @@ int MORSE_zherk_Tile( MORSE_enum uplo, MORSE_enum trans, * ******************************************************************************* * - * @sa MORSE_zherk - * @sa MORSE_zherk_Tile - * @sa MORSE_cherk_Tile_Async - * @sa MORSE_dherk_Tile_Async - * @sa MORSE_sherk_Tile_Async + * @sa CHAMELEON_zherk + * @sa CHAMELEON_zherk_Tile + * @sa CHAMELEON_cherk_Tile_Async + * @sa CHAMELEON_dherk_Tile_Async + * @sa CHAMELEON_sherk_Tile_Async * */ -int MORSE_zherk_Tile_Async( MORSE_enum uplo, MORSE_enum trans, - double alpha, MORSE_desc_t *A, - double beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zherk_Tile_Async( cham_uplo_t uplo, cham_trans_t trans, + double alpha, CHAM_desc_t *A, + double beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; int N, K; int Am, An, Amb; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zherk_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zherk_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zherk_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zherk_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zherk_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zherk_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zherk_Tile_Async", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zherk_Tile_Async", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(C) != MORSE_SUCCESS) { - morse_error("MORSE_zherk_Tile_Async", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(C) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zherk_Tile_Async", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zherk", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zherk", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { - morse_error("MORSE_zherk", "illegal value of transA"); - return morse_request_fail(sequence, request, -2); + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { + chameleon_error("CHAMELEON_zherk", "illegal value of transA"); + return chameleon_request_fail(sequence, request, -2); } - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { Am = A->m; An = A->n; Amb = A->mb; @@ -351,20 +351,20 @@ int MORSE_zherk_Tile_Async( MORSE_enum uplo, MORSE_enum trans, } if (C->mb != C->nb) { - morse_error("MORSE_zherk_Tile_Async", "only square tiles are supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zherk_Tile_Async", "only square tiles are supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (Amb != C->mb) { - morse_error("MORSE_zherk_Tile_Async", "tile sizes have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zherk_Tile_Async", "tile sizes have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (C->m != C->n) { - morse_error("MORSE_zherk_Tile_Async", "only square matrix C is supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zherk_Tile_Async", "only square matrix C is supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (Am != C->m) { - morse_error("MORSE_zherk_Tile_Async", "sizes of matrices have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zherk_Tile_Async", "sizes of matrices have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } N = C->m; @@ -374,10 +374,10 @@ int MORSE_zherk_Tile_Async( MORSE_enum uplo, MORSE_enum trans, if ( (N == 0) || (((alpha == (double)0.0) || (K == 0)) && (beta == (double)1.0)) ) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzherk( uplo, trans, alpha, A, beta, C, sequence, request ); + chameleon_pzherk( uplo, trans, alpha, A, beta, C, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zhetrd.c b/compute/zhetrd.c index 38d0f7abbbe3b9a22a5addf8d3933156253545ce..e3d43c5e04531dbaadbd34084679f65d6b90fa96 100644 --- a/compute/zhetrd.c +++ b/compute/zhetrd.c @@ -28,9 +28,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zhetrd - reduces a complex Hermitian matrix A to real symmetric + * CHAMELEON_zhetrd - reduces a complex Hermitian matrix A to real symmetric * tridiagonal form S using a two-stage approach * First stage: reduction to band tridiagonal form (unitary Q1); * Second stage: reduction from band to tridiagonal form (unitary @@ -41,30 +41,30 @@ * * @param[in] jobz * Intended usage: - * = MorseNoVec: computes tridiagonal only; - * = MorseVec: computes tridiagonal and generate the orthogonal matrix Q. + * = ChamNoVec: computes tridiagonal only; + * = ChamVec: computes tridiagonal and generate the orthogonal matrix Q. * * @param[in] uplo * Specifies whether the matrix A is upper triangular or * lower triangular: - * = MorseUpper:: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper:: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The order of the matrix A. N >= 0. * * @param[in,out] A * On entry, the symmetric (or Hermitian) matrix A. - * If uplo = MorseUpper, the leading N-by-N upper triangular + * If uplo = ChamUpper, the leading N-by-N upper triangular * part of A contains the upper triangular part of the matrix * A, and the strictly lower triangular part of A is not * referenced. - * If uplo = MorseLower, the leading N-by-N lower triangular + * If uplo = ChamLower, the leading N-by-N lower triangular * part of A contains the lower triangular part of the matrix * A, and the strictly upper triangular part of A is not * referenced. - * On exit, the lower triangle (if uplo = MorseLower) or the - * upper triangle (if uplo = MorseUpper) of A, including the + * On exit, the lower triangle (if uplo = ChamLower) or the + * upper triangle (if uplo = ChamUpper) of A, including the * diagonal, is destroyed. * * @param[in] LDA @@ -76,16 +76,16 @@ * * @param[out] E * On exit, he off-diagonal elements of the tridiagonal matrix: - * E(i) = A(i,i+1) if uplo = MorseUpper, E(i) = A(i+1,i) if uplo = MorseLower. + * E(i) = A(i,i+1) if uplo = ChamUpper, E(i) = A(i+1,i) if uplo = ChamLower. * * @param[out] descT - * On entry, descriptor as return by MORSE_Alloc_Workspace_zhetrd + * On entry, descriptor as return by CHAMELEON_Alloc_Workspace_zhetrd * On exit, contains auxiliary factorization data. * * @param[out] Q - * On exit, if jobz = MorseVec, then if return value = 0, Q + * On exit, if jobz = ChamVec, then if return value = 0, Q * contains the N-by-N unitary matrix Q. - * If jobz = MorseNoVec, then it is not referenced. + * If jobz = ChamNoVec, then it is not referenced. * * @param[in] LDQ * The leading dimension of the array Q. LDQ >= N. @@ -93,7 +93,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if INFO = i, the algorithm failed to converge; i * off-diagonal elements of an intermediate tridiagonal @@ -101,98 +101,98 @@ * ******************************************************************************* * - * @sa MORSE_zhetrd_Tile - * @sa MORSE_zhetrd_Tile_Async - * @sa MORSE_chetrd - * @sa MORSE_dsytrd - * @sa MORSE_ssytrd + * @sa CHAMELEON_zhetrd_Tile + * @sa CHAMELEON_zhetrd_Tile_Async + * @sa CHAMELEON_chetrd + * @sa CHAMELEON_dsytrd + * @sa CHAMELEON_ssytrd * */ -int MORSE_zhetrd( MORSE_enum jobz, MORSE_enum uplo, int N, - MORSE_Complex64_t *A, int LDA, +int CHAMELEON_zhetrd( cham_job_t jobz, cham_uplo_t uplo, int N, + CHAMELEON_Complex64_t *A, int LDA, double *D, double *E, - MORSE_desc_t *descT, - MORSE_Complex64_t *Q, int LDQ ) + CHAM_desc_t *descT, + CHAMELEON_Complex64_t *Q, int LDQ ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_zhetrd", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_zhetrd", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if (jobz != MorseNoVec && jobz != MorseVec) { - morse_error("MORSE_zhetrd", "illegal value of jobz"); + if (jobz != ChamNoVec && jobz != ChamVec) { + chameleon_error("CHAMELEON_zhetrd", "illegal value of jobz"); return -1; } - if ((uplo != MorseLower) && (uplo != MorseUpper)) { - morse_error("MORSE_zhetrd", "illegal value of uplo"); + if ((uplo != ChamLower) && (uplo != ChamUpper)) { + chameleon_error("CHAMELEON_zhetrd", "illegal value of uplo"); return -1; } if (N < 0) { - morse_error("MORSE_zhetrd", "illegal value of N"); + chameleon_error("CHAMELEON_zhetrd", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zhetrd", "illegal value of LDA"); + chameleon_error("CHAMELEON_zhetrd", "illegal value of LDA"); return -4; } /* Quick return */ if (N == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on N; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZHETRD, N, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zhetrd", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZHETRD, N, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zhetrd", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zhetrd_Tile_Async( jobz, uplo, &descAt, D, E, descT, Q, LDQ, sequence, &request ); + CHAMELEON_zhetrd_Tile_Async( jobz, uplo, &descAt, D, E, descT, Q, LDQ, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zhetrd_Tile - reduces a complex Hermitian matrix A to real symmetric + * CHAMELEON_zhetrd_Tile - reduces a complex Hermitian matrix A to real symmetric * tridiagonal form S using a two-stage approach * First stage: reduction to band tridiagonal form (unitary Q1); * Second stage: reduction from band to tridiagonal form (unitary Q2). * Let Q = Q1 * Q2 be the global unitary transformation; * Q**H * A * Q = S. - * Tile equivalent of MORSE_zhetrd(). + * Tile equivalent of CHAMELEON_zhetrd(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -201,27 +201,27 @@ int MORSE_zhetrd( MORSE_enum jobz, MORSE_enum uplo, int N, * * @param[in] jobz * Intended usage: - * = MorseNoVec: computes tridiagonal only; - * = MorseVec: computes tridiagonal and generate the orthogonal matrix Q. + * = ChamNoVec: computes tridiagonal only; + * = ChamVec: computes tridiagonal and generate the orthogonal matrix Q. * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in,out] A * On entry, the symmetric (or Hermitian) matrix A. If uplo - * = MorseUpper, the leading N-by-N upper triangular part of + * = ChamUpper, the leading N-by-N upper triangular part of * A contains the upper triangular part of the matrix A, and * the strictly lower triangular part of A is not referenced. * If UPLO = 'L', the leading N-by-N lower triangular part of * A contains the lower triangular part of the matrix A, and * the strictly upper triangular part of A is not referenced. - * On exit, if jobz = MorseVec, then if return value = 0, A + * On exit, if jobz = ChamVec, then if return value = 0, A * contains the orthonormal eigenvectors of the matrix A. - * If jobz = MorseNoVec, then on exit the lower triangle (if - * uplo = MorseLower) or the upper triangle (if uplo = - * MorseUpper) of A, including the diagonal, is destroyed.* + * If jobz = ChamNoVec, then on exit the lower triangle (if + * uplo = ChamLower) or the upper triangle (if uplo = + * ChamUpper) of A, including the diagonal, is destroyed.* * * @param[out] D * On exit, the diagonal elements of the tridiagonal matrix: @@ -229,16 +229,16 @@ int MORSE_zhetrd( MORSE_enum jobz, MORSE_enum uplo, int N, * * @param[out] E * On exit, he off-diagonal elements of the tridiagonal matrix: - * E(i) = A(i,i+1) if uplo = MorseUpper, - * E(i) = A(i+1,i) if uplo = MorseLower. + * E(i) = A(i,i+1) if uplo = ChamUpper, + * E(i) = A(i+1,i) if uplo = ChamLower. * * @param[out] T * On exit, auxiliary factorization data. * * @param[out] Q - * On exit, if jobz = MorseVec, then if return value = 0, Q + * On exit, if jobz = ChamVec, then if return value = 0, Q * contains the N-by-N unitary matrix Q. - * If jobz = MorseNoVec, then it is not referenced. + * If jobz = ChamNoVec, then it is not referenced. * * @param[in] LDQ * The leading dimension of the array Q. LDQ >= N. @@ -246,7 +246,7 @@ int MORSE_zhetrd( MORSE_enum jobz, MORSE_enum uplo, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if INFO = i, the algorithm failed to converge; i * off-diagonal elements of an intermediate tridiagonal @@ -254,47 +254,47 @@ int MORSE_zhetrd( MORSE_enum jobz, MORSE_enum uplo, int N, * ******************************************************************************* * - * @sa MORSE_zhetrd - * @sa MORSE_zhetrd_Tile_Async - * @sa MORSE_chetrd_Tile - * @sa MORSE_dsytrd_Tile - * @sa MORSE_ssytrd_Tile - * @sa MORSE_zhetrd_Tile + * @sa CHAMELEON_zhetrd + * @sa CHAMELEON_zhetrd_Tile_Async + * @sa CHAMELEON_chetrd_Tile + * @sa CHAMELEON_dsytrd_Tile + * @sa CHAMELEON_ssytrd_Tile + * @sa CHAMELEON_zhetrd_Tile * */ -int MORSE_zhetrd_Tile( MORSE_enum jobz, MORSE_enum uplo, - MORSE_desc_t *A, double *D, double *E, - MORSE_desc_t *T, MORSE_Complex64_t *Q, int LDQ ) +int CHAMELEON_zhetrd_Tile( cham_job_t jobz, cham_uplo_t uplo, + CHAM_desc_t *A, double *D, double *E, + CHAM_desc_t *T, CHAMELEON_Complex64_t *Q, int LDQ ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zhetrd_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zhetrd_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zhetrd_Tile_Async( jobz, uplo, A, D, E, T, Q, LDQ, sequence, &request ); + CHAMELEON_zhetrd_Tile_Async( jobz, uplo, A, D, E, T, Q, LDQ, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zhetrd_Tile_Async - Computes all eigenvalues and, + * CHAMELEON_zhetrd_Tile_Async - Computes all eigenvalues and, * optionally, eigenvectors of a complex Hermitian matrix A using a * two-stage approach: * First stage: reduction to band tridiagonal form; @@ -314,97 +314,97 @@ int MORSE_zhetrd_Tile( MORSE_enum jobz, MORSE_enum uplo, * ******************************************************************************* * - * @sa MORSE_zhetrd - * @sa MORSE_zhetrd_Tile - * @sa MORSE_chetrd_Tile_Async - * @sa MORSE_dsytrd_Tile_Async - * @sa MORSE_ssytrd_Tile_Async + * @sa CHAMELEON_zhetrd + * @sa CHAMELEON_zhetrd_Tile + * @sa CHAMELEON_chetrd_Tile_Async + * @sa CHAMELEON_dsytrd_Tile_Async + * @sa CHAMELEON_ssytrd_Tile_Async * */ -int MORSE_zhetrd_Tile_Async( MORSE_enum jobz, - MORSE_enum uplo, - MORSE_desc_t *A, +int CHAMELEON_zhetrd_Tile_Async( cham_job_t jobz, + cham_uplo_t uplo, + CHAM_desc_t *A, double *W, double *E, - MORSE_desc_t *T, - MORSE_Complex64_t *Q, int LDQ, - MORSE_sequence_t *sequence, MORSE_request_t *request ) + CHAM_desc_t *T, + CHAMELEON_Complex64_t *Q, int LDQ, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t descA; - MORSE_desc_t descAB; + CHAM_context_t *chamctxt; + CHAM_desc_t descA; + CHAM_desc_t descAB; int N, NB, LDAB; int status; - MORSE_desc_t D, *Dptr = NULL; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zhetrd_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zhetrd_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zhetrd_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zhetrd_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zhetrd_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zhetrd_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zhetrd_Tile_Async", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zhetrd_Tile_Async", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } else { descA = *A; } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_zhetrd_Tile_Async", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zhetrd_Tile_Async", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ - if (jobz != MorseNoVec && jobz != MorseVec) { - morse_error("MORSE_zhetrd_Tile_Async", "illegal value of jobz"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (jobz != ChamNoVec && jobz != ChamVec) { + chameleon_error("CHAMELEON_zhetrd_Tile_Async", "illegal value of jobz"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseLower) && (uplo != MorseUpper)) { - morse_error("MORSE_zhetrd_Tile_Async", "illegal value of uplo"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((uplo != ChamLower) && (uplo != ChamUpper)) { + chameleon_error("CHAMELEON_zhetrd_Tile_Async", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (descA.m != descA.n) { - morse_error("MORSE_zhetrd_Tile_Async", "matrix need to be square"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zhetrd_Tile_Async", "matrix need to be square"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (descA.nb != descA.mb) { - morse_error("MORSE_zhetrd_Tile_Async", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zhetrd_Tile_Async", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } N = descA.m; NB = descA.mb; #if defined(CHAMELEON_COPY_DIAG) { - morse_zdesc_alloc_diag(D, A->mb, A->nb, chameleon_min(A->m, A->n), A->nb, 0, 0, chameleon_min(A->m, A->n), A->nb, A->p, A->q); + chameleon_zdesc_alloc_diag(D, A->mb, A->nb, chameleon_min(A->m, A->n), A->nb, 0, 0, chameleon_min(A->m, A->n), A->nb, A->p, A->q); Dptr = &D; } #endif /* Reduction to band. On exit, T contains reflectors */ - morse_pzhetrd_he2hb( uplo, A, T, Dptr, + chameleon_pzhetrd_he2hb( uplo, A, T, Dptr, sequence, request ); LDAB = NB+1; /* Allocate band structure */ - morse_zdesc_alloc_diag( descAB, + chameleon_zdesc_alloc_diag( descAB, LDAB, NB, /* mb, nb */ LDAB, N, /* lm, ln */ 0, 0, /* i, j */ @@ -412,27 +412,28 @@ int MORSE_zhetrd_Tile_Async( MORSE_enum jobz, 1, 1 ); /* Copy data into band structure */ - morse_pztile2band( uplo, A, &descAB, + chameleon_pztile2band( uplo, A, &descAB, sequence, request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Reduce band matrix to tridiagonal matrix */ #if !defined(CHAMELEON_SIMULATION) status = LAPACKE_zhbtrd( LAPACK_COL_MAJOR, - morse_lapack_const(jobz), - morse_lapack_const(uplo), + chameleon_lapack_const(jobz), + chameleon_lapack_const(uplo), N, NB, - (MORSE_Complex64_t *) descAB.mat, LDAB, + (CHAMELEON_Complex64_t *) descAB.mat, LDAB, W, E, Q, LDQ ); if (status != 0) { - morse_error("MORSE_zhetrd_Tile_Async", "LAPACKE_zhbtrd failed"); + chameleon_error("CHAMELEON_zhetrd_Tile_Async", "LAPACKE_zhbtrd failed"); } #endif /* !defined(CHAMELEON_SIMULATION) */ if (Dptr != NULL) { - morse_desc_mat_free( Dptr ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } - morse_desc_mat_free( &descAB ); + chameleon_desc_mat_free( &descAB ); (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zlacpy.c b/compute/zlacpy.c index ea1f0e0e7eb448effd083233cf9421e78c9409ea..b9feabf067f52de7b3361a4e527c4a21ee2d9538 100644 --- a/compute/zlacpy.c +++ b/compute/zlacpy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,18 +26,18 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zlacpy copies all or part of a two-dimensional matrix A to another + * CHAMELEON_zlacpy copies all or part of a two-dimensional matrix A to another * matrix B * ******************************************************************************* * * @param[in] uplo * Specifies the part of the matrix A to be copied to B. - * = MorseUpperLower: All the matrix A - * = MorseUpper: Upper triangular part - * = MorseLower: Lower triangular part + * = ChamUpperLower: All the matrix A + * = ChamUpper: Upper triangular part + * = ChamLower: Lower triangular part * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -46,8 +46,8 @@ * The number of columns of the matrix A. N >= 0. * * @param[in] A - * The M-by-N matrix A. If uplo = MorseUpper, only the upper trapezium - * is accessed; if UPLO = MorseLower, only the lower trapezium is + * The M-by-N matrix A. If uplo = ChamUpper, only the upper trapezium + * is accessed; if UPLO = ChamLower, only the lower trapezium is * accessed. * * @param[in] LDA @@ -62,51 +62,51 @@ * ******************************************************************************* * - * @sa MORSE_zlacpy_Tile - * @sa MORSE_zlacpy_Tile_Async - * @sa MORSE_clacpy - * @sa MORSE_dlacpy - * @sa MORSE_slacpy + * @sa CHAMELEON_zlacpy_Tile + * @sa CHAMELEON_zlacpy_Tile_Async + * @sa CHAMELEON_clacpy + * @sa CHAMELEON_dlacpy + * @sa CHAMELEON_slacpy * */ -int MORSE_zlacpy( MORSE_enum uplo, int M, int N, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zlacpy( cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlacpy", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlacpy", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ( (uplo != MorseUpperLower) && - (uplo != MorseUpper) && - (uplo != MorseLower) ) { - morse_error("MORSE_zlacpy", "illegal value of uplo"); + if ( (uplo != ChamUpperLower) && + (uplo != ChamUpper) && + (uplo != ChamLower) ) { + chameleon_error("CHAMELEON_zlacpy", "illegal value of uplo"); return -1; } if (M < 0) { - morse_error("MORSE_zlacpy", "illegal value of M"); + chameleon_error("CHAMELEON_zlacpy", "illegal value of M"); return -2; } if (N < 0) { - morse_error("MORSE_zlacpy", "illegal value of N"); + chameleon_error("CHAMELEON_zlacpy", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zlacpy", "illegal value of LDA"); + chameleon_error("CHAMELEON_zlacpy", "illegal value of LDA"); return -5; } if (LDB < chameleon_max(1, M)) { - morse_error("MORSE_zlacpy", "illegal value of LDB"); + chameleon_error("CHAMELEON_zlacpy", "illegal value of LDB"); return -7; } @@ -115,48 +115,48 @@ int MORSE_zlacpy( MORSE_enum uplo, int M, int N, return (double)0.0; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGEMM, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zlacpy", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlacpy", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, uplo, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, uplo, B, NB, NB, LDB, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zlacpy_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); + CHAMELEON_zlacpy_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, uplo, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); - morse_sequence_destroy( morse, sequence ); - return MORSE_SUCCESS; + chameleon_sequence_destroy( chamctxt, sequence ); + return CHAMELEON_SUCCESS; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zlacpy_Tile - Tile equivalent of MORSE_zlacpy(). + * CHAMELEON_zlacpy_Tile - Tile equivalent of CHAMELEON_zlacpy(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -165,13 +165,13 @@ int MORSE_zlacpy( MORSE_enum uplo, int M, int N, * * @param[in] uplo * Specifies the part of the matrix A to be copied to B. - * = MorseUpperLower: All the matrix A - * = MorseUpper: Upper triangular part - * = MorseLower: Lower triangular part + * = ChamUpperLower: All the matrix A + * = ChamUpper: Upper triangular part + * = ChamLower: Lower triangular part * * @param[in] A - * The M-by-N matrix A. If uplo = MorseUpper, only the upper trapezium - * is accessed; if UPLO = MorseLower, only the lower trapezium is + * The M-by-N matrix A. If uplo = ChamUpper, only the upper trapezium + * is accessed; if UPLO = ChamLower, only the lower trapezium is * accessed. * * @param[out] B @@ -181,48 +181,48 @@ int MORSE_zlacpy( MORSE_enum uplo, int M, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zlacpy - * @sa MORSE_zlacpy_Tile_Async - * @sa MORSE_clacpy_Tile - * @sa MORSE_dlacpy_Tile - * @sa MORSE_slacpy_Tile + * @sa CHAMELEON_zlacpy + * @sa CHAMELEON_zlacpy_Tile_Async + * @sa CHAMELEON_clacpy_Tile + * @sa CHAMELEON_dlacpy_Tile + * @sa CHAMELEON_slacpy_Tile * */ -int MORSE_zlacpy_Tile( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B ) +int CHAMELEON_zlacpy_Tile( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlacpy_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlacpy_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zlacpy_Tile_Async( uplo, A, B, sequence, &request ); + CHAMELEON_zlacpy_Tile_Async( uplo, A, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zlacpy_Tile_Async - Non-blocking equivalent of MORSE_zlacpy_Tile(). + * CHAMELEON_zlacpy_Tile_Async - Non-blocking equivalent of CHAMELEON_zlacpy_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -237,66 +237,66 @@ int MORSE_zlacpy_Tile( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B ) * ******************************************************************************* * - * @sa MORSE_zlacpy - * @sa MORSE_zlacpy_Tile - * @sa MORSE_clacpy_Tile_Async - * @sa MORSE_dlacpy_Tile_Async - * @sa MORSE_slacpy_Tile_Async + * @sa CHAMELEON_zlacpy + * @sa CHAMELEON_zlacpy_Tile + * @sa CHAMELEON_clacpy_Tile_Async + * @sa CHAMELEON_dlacpy_Tile_Async + * @sa CHAMELEON_slacpy_Tile_Async * */ -int MORSE_zlacpy_Tile_Async( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zlacpy_Tile_Async( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlacpy_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlacpy_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zlacpy_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlacpy_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zlacpy_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlacpy_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zlacpy_Tile_Async", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlacpy_Tile_Async", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zlacpy_Tile_Async", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlacpy_Tile_Async", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zlacpy_Tile_Async", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zlacpy_Tile_Async", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ - if ( (uplo != MorseUpperLower) && - (uplo != MorseUpper) && - (uplo != MorseLower) ) { - morse_error("MORSE_zlacpy_Tile_Async", "illegal value of uplo"); + if ( (uplo != ChamUpperLower) && + (uplo != ChamUpper) && + (uplo != ChamLower) ) { + chameleon_error("CHAMELEON_zlacpy_Tile_Async", "illegal value of uplo"); return -1; } /* Quick return */ if (chameleon_min(A->m, A->n) == 0) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzlacpy( uplo, A, B, sequence, request ); + chameleon_pzlacpy( uplo, A, B, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zlange.c b/compute/zlange.c index a7b6ffaf38a4b9dff46aadac6d2b4d8409797154..82968715d9ef59ab1e7e75b38443153ca1788b70 100644 --- a/compute/zlange.c +++ b/compute/zlange.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> s d c @@ -24,17 +24,17 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zlange returns the value + * CHAMELEON_zlange returns the value * - * zlange = ( max(abs(A(i,j))), NORM = MorseMaxNorm + * zlange = ( max(abs(A(i,j))), NORM = ChamMaxNorm * ( - * ( norm1(A), NORM = MorseOneNorm + * ( norm1(A), NORM = ChamOneNorm * ( - * ( normI(A), NORM = MorseInfNorm + * ( normI(A), NORM = ChamInfNorm * ( - * ( normF(A), NORM = MorseFrobeniusNorm + * ( normF(A), NORM = ChamFrobeniusNorm * * where norm1 denotes the one norm of a matrix (maximum column sum), * normI denotes the infinity norm of a matrix (maximum row sum) and @@ -45,10 +45,10 @@ ******************************************************************************* * * @param[in] norm - * = MorseMaxNorm: Max norm - * = MorseOneNorm: One norm - * = MorseInfNorm: Infinity norm - * = MorseFrobeniusNorm: Frobenius norm + * = ChamMaxNorm: Max norm + * = ChamOneNorm: One norm + * = ChamInfNorm: Infinity norm + * = ChamFrobeniusNorm: Frobenius norm * * @param[in] M * The number of rows of the matrix A. M >= 0. When M = 0, @@ -71,45 +71,45 @@ * ******************************************************************************* * - * @sa MORSE_zlange_Tile - * @sa MORSE_zlange_Tile_Async - * @sa MORSE_clange - * @sa MORSE_dlange - * @sa MORSE_slange + * @sa CHAMELEON_zlange_Tile + * @sa CHAMELEON_zlange_Tile_Async + * @sa CHAMELEON_clange + * @sa CHAMELEON_dlange + * @sa CHAMELEON_slange * */ -double MORSE_zlange(MORSE_enum norm, int M, int N, - MORSE_Complex64_t *A, int LDA ) +double CHAMELEON_zlange(cham_normtype_t norm, int M, int N, + CHAMELEON_Complex64_t *A, int LDA ) { int NB; int status; double value = -1.; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlange", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlange", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ( (norm != MorseMaxNorm) && (norm != MorseOneNorm) - && (norm != MorseInfNorm) && (norm != MorseFrobeniusNorm) ) { - morse_error("MORSE_zlange", "illegal value of norm"); + if ( (norm != ChamMaxNorm) && (norm != ChamOneNorm) + && (norm != ChamInfNorm) && (norm != ChamFrobeniusNorm) ) { + chameleon_error("CHAMELEON_zlange", "illegal value of norm"); return -1; } if (M < 0) { - morse_error("MORSE_zlange", "illegal value of M"); + chameleon_error("CHAMELEON_zlange", "illegal value of M"); return -2; } if (N < 0) { - morse_error("MORSE_zlange", "illegal value of N"); + chameleon_error("CHAMELEON_zlange", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zlange", "illegal value of LDA"); + chameleon_error("CHAMELEON_zlange", "illegal value of LDA"); return -5; } @@ -118,43 +118,43 @@ double MORSE_zlange(MORSE_enum norm, int M, int N, return (double)0.0; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGEMM, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zlange", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlange", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zlange_Tile_Async( norm, &descAt, &value, sequence, &request ); + CHAMELEON_zlange_Tile_Async( norm, &descAt, &value, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return value; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zlange_Tile - Tile equivalent of MORSE_zlange(). + * CHAMELEON_zlange_Tile - Tile equivalent of CHAMELEON_zlange(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -162,10 +162,10 @@ double MORSE_zlange(MORSE_enum norm, int M, int N, ******************************************************************************* * * @param[in] norm - * = MorseMaxNorm: Max norm - * = MorseOneNorm: One norm - * = MorseInfNorm: Infinity norm - * = MorseFrobeniusNorm: Frobenius norm + * = ChamMaxNorm: Max norm + * = ChamOneNorm: One norm + * = ChamInfNorm: Infinity norm + * = ChamFrobeniusNorm: Frobenius norm * * @param[in] A * On entry, the triangular factor U or L. @@ -177,48 +177,48 @@ double MORSE_zlange(MORSE_enum norm, int M, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zlange - * @sa MORSE_zlange_Tile_Async - * @sa MORSE_clange_Tile - * @sa MORSE_dlange_Tile - * @sa MORSE_slange_Tile + * @sa CHAMELEON_zlange + * @sa CHAMELEON_zlange_Tile_Async + * @sa CHAMELEON_clange_Tile + * @sa CHAMELEON_dlange_Tile + * @sa CHAMELEON_slange_Tile * */ -double MORSE_zlange_Tile(MORSE_enum norm, MORSE_desc_t *A ) +double CHAMELEON_zlange_Tile(cham_normtype_t norm, CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; double value = -1.; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlange_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlange_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zlange_Tile_Async( norm, A, &value, sequence, &request ); + CHAMELEON_zlange_Tile_Async( norm, A, &value, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); - return ( status == MORSE_SUCCESS ) ? value : (double)status; + chameleon_sequence_destroy( chamctxt, sequence ); + return ( status == CHAMELEON_SUCCESS ) ? value : (double)status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zlange_Tile_Async - Non-blocking equivalent of MORSE_zlange_Tile(). + * CHAMELEON_zlange_Tile_Async - Non-blocking equivalent of CHAMELEON_zlange_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -233,61 +233,61 @@ double MORSE_zlange_Tile(MORSE_enum norm, MORSE_desc_t *A ) * ******************************************************************************* * - * @sa MORSE_zlange - * @sa MORSE_zlange_Tile - * @sa MORSE_clange_Tile_Async - * @sa MORSE_dlange_Tile_Async - * @sa MORSE_slange_Tile_Async + * @sa CHAMELEON_zlange + * @sa CHAMELEON_zlange_Tile + * @sa CHAMELEON_clange_Tile_Async + * @sa CHAMELEON_dlange_Tile_Async + * @sa CHAMELEON_slange_Tile_Async * */ -int MORSE_zlange_Tile_Async( MORSE_enum norm, MORSE_desc_t *A, double *value, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zlange_Tile_Async( cham_normtype_t norm, CHAM_desc_t *A, double *value, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlange_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlange_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zlange_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlange_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zlange_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlange_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zlange_Tile", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlange_Tile", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zlange_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zlange_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ( (norm != MorseMaxNorm) && (norm != MorseOneNorm) - && (norm != MorseInfNorm) && (norm != MorseFrobeniusNorm) ) { - morse_error("MORSE_zlange", "illegal value of norm"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ( (norm != ChamMaxNorm) && (norm != ChamOneNorm) + && (norm != ChamInfNorm) && (norm != ChamFrobeniusNorm) ) { + chameleon_error("CHAMELEON_zlange", "illegal value of norm"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ if (chameleon_min(A->m, A->n) == 0) { *value = 0.0; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzlange( norm, A, value, sequence, request ); + chameleon_pzlange( norm, A, value, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zlanhe.c b/compute/zlanhe.c index fb2e7f300990bc7ff424e86793e6f46a76a787f0..5297f8eabb7cec89bf327809d580c7298f3a0a86 100644 --- a/compute/zlanhe.c +++ b/compute/zlanhe.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c @@ -24,17 +24,17 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zlanhe returns the value + * CHAMELEON_zlanhe returns the value * - * zlanhe = ( max(abs(A(i,j))), NORM = MorseMaxNorm + * zlanhe = ( max(abs(A(i,j))), NORM = ChamMaxNorm * ( - * ( norm1(A), NORM = MorseOneNorm + * ( norm1(A), NORM = ChamOneNorm * ( - * ( normI(A), NORM = MorseInfNorm + * ( normI(A), NORM = ChamInfNorm * ( - * ( normF(A), NORM = MorseFrobeniusNorm + * ( normF(A), NORM = ChamFrobeniusNorm * * where norm1 denotes the one norm of a matrix (maximum column sum), * normI denotes the infinity norm of a matrix (maximum row sum) and @@ -45,14 +45,14 @@ ******************************************************************************* * * @param[in] norm - * = MorseMaxNorm: Max norm - * = MorseOneNorm: One norm - * = MorseInfNorm: Infinity norm - * = MorseFrobeniusNorm: Frobenius norm + * = ChamMaxNorm: Max norm + * = ChamOneNorm: One norm + * = ChamInfNorm: Infinity norm + * = ChamFrobeniusNorm: Frobenius norm * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The number of columns/rows of the matrix A. N >= 0. When N = 0, @@ -71,45 +71,45 @@ * ******************************************************************************* * - * @sa MORSE_zlanhe_Tile - * @sa MORSE_zlanhe_Tile_Async - * @sa MORSE_clanhe - * @sa MORSE_dlanhe - * @sa MORSE_slanhe + * @sa CHAMELEON_zlanhe_Tile + * @sa CHAMELEON_zlanhe_Tile_Async + * @sa CHAMELEON_clanhe + * @sa CHAMELEON_dlanhe + * @sa CHAMELEON_slanhe * */ -double MORSE_zlanhe(MORSE_enum norm, MORSE_enum uplo, int N, - MORSE_Complex64_t *A, int LDA ) +double CHAMELEON_zlanhe(cham_normtype_t norm, cham_uplo_t uplo, int N, + CHAMELEON_Complex64_t *A, int LDA ) { int NB; int status; double value = -1.; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlanhe", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlanhe", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ( (norm != MorseMaxNorm) && (norm != MorseOneNorm) - && (norm != MorseInfNorm) && (norm != MorseFrobeniusNorm) ) { - morse_error("MORSE_zlanhe", "illegal value of norm"); + if ( (norm != ChamMaxNorm) && (norm != ChamOneNorm) + && (norm != ChamInfNorm) && (norm != ChamFrobeniusNorm) ) { + chameleon_error("CHAMELEON_zlanhe", "illegal value of norm"); return -1; } - if ( (uplo != MorseUpper) && (uplo != MorseLower) ) { - morse_error("MORSE_zlanhe", "illegal value of uplo"); + if ( (uplo != ChamUpper) && (uplo != ChamLower) ) { + chameleon_error("CHAMELEON_zlanhe", "illegal value of uplo"); return -2; } if (N < 0) { - morse_error("MORSE_zlanhe", "illegal value of N"); + chameleon_error("CHAMELEON_zlanhe", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zlanhe", "illegal value of LDA"); + chameleon_error("CHAMELEON_zlanhe", "illegal value of LDA"); return -5; } @@ -118,43 +118,43 @@ double MORSE_zlanhe(MORSE_enum norm, MORSE_enum uplo, int N, return (double)0.0; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGEMM, N, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zlanhe", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, N, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlanhe", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zlanhe_Tile_Async( norm, uplo, &descAt, &value, sequence, &request ); + CHAMELEON_zlanhe_Tile_Async( norm, uplo, &descAt, &value, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return value; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zlanhe_Tile - Tile equivalent of MORSE_zlanhe(). + * CHAMELEON_zlanhe_Tile - Tile equivalent of CHAMELEON_zlanhe(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -162,14 +162,14 @@ double MORSE_zlanhe(MORSE_enum norm, MORSE_enum uplo, int N, ******************************************************************************* * * @param[in] norm - * = MorseMaxNorm: Max norm - * = MorseOneNorm: One norm - * = MorseInfNorm: Infinity norm - * = MorseFrobeniusNorm: Frobenius norm + * = ChamMaxNorm: Max norm + * = ChamOneNorm: One norm + * = ChamInfNorm: Infinity norm + * = ChamFrobeniusNorm: Frobenius norm * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] A * On entry, the triangular factor U or L. @@ -181,48 +181,48 @@ double MORSE_zlanhe(MORSE_enum norm, MORSE_enum uplo, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zlanhe - * @sa MORSE_zlanhe_Tile_Async - * @sa MORSE_clanhe_Tile - * @sa MORSE_dlanhe_Tile - * @sa MORSE_slanhe_Tile + * @sa CHAMELEON_zlanhe + * @sa CHAMELEON_zlanhe_Tile_Async + * @sa CHAMELEON_clanhe_Tile + * @sa CHAMELEON_dlanhe_Tile + * @sa CHAMELEON_slanhe_Tile * */ -double MORSE_zlanhe_Tile( MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A ) +double CHAMELEON_zlanhe_Tile( cham_normtype_t norm, cham_uplo_t uplo, CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; double value = -1.; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlanhe_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlanhe_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zlanhe_Tile_Async( norm, uplo, A, &value, sequence, &request ); + CHAMELEON_zlanhe_Tile_Async( norm, uplo, A, &value, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); - return ( status == MORSE_SUCCESS ) ? value : (double)status; + chameleon_sequence_destroy( chamctxt, sequence ); + return ( status == CHAMELEON_SUCCESS ) ? value : (double)status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zlanhe_Tile_Async - Non-blocking equivalent of MORSE_zlanhe_Tile(). + * CHAMELEON_zlanhe_Tile_Async - Non-blocking equivalent of CHAMELEON_zlanhe_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -237,65 +237,65 @@ double MORSE_zlanhe_Tile( MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A ) * ******************************************************************************* * - * @sa MORSE_zlanhe - * @sa MORSE_zlanhe_Tile - * @sa MORSE_clanhe_Tile_Async - * @sa MORSE_dlanhe_Tile_Async - * @sa MORSE_slanhe_Tile_Async + * @sa CHAMELEON_zlanhe + * @sa CHAMELEON_zlanhe_Tile + * @sa CHAMELEON_clanhe_Tile_Async + * @sa CHAMELEON_dlanhe_Tile_Async + * @sa CHAMELEON_slanhe_Tile_Async * */ -int MORSE_zlanhe_Tile_Async( MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *value, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zlanhe_Tile_Async( cham_normtype_t norm, cham_uplo_t uplo, CHAM_desc_t *A, double *value, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlanhe_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlanhe_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zlanhe_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlanhe_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zlanhe_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlanhe_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zlanhe_Tile", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlanhe_Tile", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zlanhe_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zlanhe_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ( (norm != MorseMaxNorm) && (norm != MorseOneNorm) - && (norm != MorseInfNorm) && (norm != MorseFrobeniusNorm) ) { - morse_error("MORSE_zlanhe_Tile", "illegal value of norm"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ( (norm != ChamMaxNorm) && (norm != ChamOneNorm) + && (norm != ChamInfNorm) && (norm != ChamFrobeniusNorm) ) { + chameleon_error("CHAMELEON_zlanhe_Tile", "illegal value of norm"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ( (uplo != MorseUpper) && (uplo != MorseLower) ) { - morse_error("MORSE_zlanhe_Tile", "illegal value of uplo"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ( (uplo != ChamUpper) && (uplo != ChamLower) ) { + chameleon_error("CHAMELEON_zlanhe_Tile", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ if ( A->m == 0) { *value = 0.0; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzlanhe( norm, uplo, A, value, sequence, request ); + chameleon_pzlanhe( norm, uplo, A, value, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zlansy.c b/compute/zlansy.c index 673532d77d95d763a18d34b8279907da0581c936..995f21c80d0e1d4a13316f7a768a757cd80c72ec 100644 --- a/compute/zlansy.c +++ b/compute/zlansy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> s d c @@ -24,17 +24,17 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zlansy returns the value + * CHAMELEON_zlansy returns the value * - * zlansy = ( max(abs(A(i,j))), NORM = MorseMaxNorm + * zlansy = ( max(abs(A(i,j))), NORM = ChamMaxNorm * ( - * ( norm1(A), NORM = MorseOneNorm + * ( norm1(A), NORM = ChamOneNorm * ( - * ( normI(A), NORM = MorseInfNorm + * ( normI(A), NORM = ChamInfNorm * ( - * ( normF(A), NORM = MorseFrobeniusNorm + * ( normF(A), NORM = ChamFrobeniusNorm * * where norm1 denotes the one norm of a matrix (maximum column sum), * normI denotes the infinity norm of a matrix (maximum row sum) and @@ -45,14 +45,14 @@ ******************************************************************************* * * @param[in] norm - * = MorseMaxNorm: Max norm - * = MorseOneNorm: One norm - * = MorseInfNorm: Infinity norm - * = MorseFrobeniusNorm: Frobenius norm + * = ChamMaxNorm: Max norm + * = ChamOneNorm: One norm + * = ChamInfNorm: Infinity norm + * = ChamFrobeniusNorm: Frobenius norm * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The number of columns/rows of the matrix A. N >= 0. When N = 0, @@ -71,45 +71,45 @@ * ******************************************************************************* * - * @sa MORSE_zlansy_Tile - * @sa MORSE_zlansy_Tile_Async - * @sa MORSE_clansy - * @sa MORSE_dlansy - * @sa MORSE_slansy + * @sa CHAMELEON_zlansy_Tile + * @sa CHAMELEON_zlansy_Tile_Async + * @sa CHAMELEON_clansy + * @sa CHAMELEON_dlansy + * @sa CHAMELEON_slansy * */ -double MORSE_zlansy(MORSE_enum norm, MORSE_enum uplo, int N, - MORSE_Complex64_t *A, int LDA ) +double CHAMELEON_zlansy(cham_normtype_t norm, cham_uplo_t uplo, int N, + CHAMELEON_Complex64_t *A, int LDA ) { int NB; int status; double value = -1.; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlansy", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlansy", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ( (norm != MorseMaxNorm) && (norm != MorseOneNorm) - && (norm != MorseInfNorm) && (norm != MorseFrobeniusNorm) ) { - morse_error("MORSE_zlansy", "illegal value of norm"); + if ( (norm != ChamMaxNorm) && (norm != ChamOneNorm) + && (norm != ChamInfNorm) && (norm != ChamFrobeniusNorm) ) { + chameleon_error("CHAMELEON_zlansy", "illegal value of norm"); return -1; } - if ( (uplo != MorseUpper) && (uplo != MorseLower) ) { - morse_error("MORSE_zlansy", "illegal value of uplo"); + if ( (uplo != ChamUpper) && (uplo != ChamLower) ) { + chameleon_error("CHAMELEON_zlansy", "illegal value of uplo"); return -2; } if (N < 0) { - morse_error("MORSE_zlansy", "illegal value of N"); + chameleon_error("CHAMELEON_zlansy", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zlansy", "illegal value of LDA"); + chameleon_error("CHAMELEON_zlansy", "illegal value of LDA"); return -5; } @@ -118,43 +118,43 @@ double MORSE_zlansy(MORSE_enum norm, MORSE_enum uplo, int N, return (double)0.0; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGEMM, N, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zlansy", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, N, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlansy", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zlansy_Tile_Async( norm, uplo, &descAt, &value, sequence, &request ); + CHAMELEON_zlansy_Tile_Async( norm, uplo, &descAt, &value, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return value; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zlansy_Tile - Tile equivalent of MORSE_zlansy(). + * CHAMELEON_zlansy_Tile - Tile equivalent of CHAMELEON_zlansy(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -162,14 +162,14 @@ double MORSE_zlansy(MORSE_enum norm, MORSE_enum uplo, int N, ******************************************************************************* * * @param[in] norm - * = MorseMaxNorm: Max norm - * = MorseOneNorm: One norm - * = MorseInfNorm: Infinity norm - * = MorseFrobeniusNorm: Frobenius norm + * = ChamMaxNorm: Max norm + * = ChamOneNorm: One norm + * = ChamInfNorm: Infinity norm + * = ChamFrobeniusNorm: Frobenius norm * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] A * On entry, the triangular factor U or L. @@ -181,48 +181,48 @@ double MORSE_zlansy(MORSE_enum norm, MORSE_enum uplo, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zlansy - * @sa MORSE_zlansy_Tile_Async - * @sa MORSE_clansy_Tile - * @sa MORSE_dlansy_Tile - * @sa MORSE_slansy_Tile + * @sa CHAMELEON_zlansy + * @sa CHAMELEON_zlansy_Tile_Async + * @sa CHAMELEON_clansy_Tile + * @sa CHAMELEON_dlansy_Tile + * @sa CHAMELEON_slansy_Tile * */ -double MORSE_zlansy_Tile( MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A ) +double CHAMELEON_zlansy_Tile( cham_normtype_t norm, cham_uplo_t uplo, CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; double value = -1.; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlansy_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlansy_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zlansy_Tile_Async( norm, uplo, A, &value, sequence, &request ); + CHAMELEON_zlansy_Tile_Async( norm, uplo, A, &value, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); - return ( status == MORSE_SUCCESS ) ? value : (double)status; + chameleon_sequence_destroy( chamctxt, sequence ); + return ( status == CHAMELEON_SUCCESS ) ? value : (double)status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zlansy_Tile_Async - Non-blocking equivalent of MORSE_zlansy_Tile(). + * CHAMELEON_zlansy_Tile_Async - Non-blocking equivalent of CHAMELEON_zlansy_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -237,65 +237,65 @@ double MORSE_zlansy_Tile( MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A ) * ******************************************************************************* * - * @sa MORSE_zlansy - * @sa MORSE_zlansy_Tile - * @sa MORSE_clansy_Tile_Async - * @sa MORSE_dlansy_Tile_Async - * @sa MORSE_slansy_Tile_Async + * @sa CHAMELEON_zlansy + * @sa CHAMELEON_zlansy_Tile + * @sa CHAMELEON_clansy_Tile_Async + * @sa CHAMELEON_dlansy_Tile_Async + * @sa CHAMELEON_slansy_Tile_Async * */ -int MORSE_zlansy_Tile_Async( MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *value, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zlansy_Tile_Async( cham_normtype_t norm, cham_uplo_t uplo, CHAM_desc_t *A, double *value, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlansy_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlansy_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zlansy_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlansy_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zlansy_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlansy_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zlansy_Tile", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlansy_Tile", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zlansy_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zlansy_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ( (norm != MorseMaxNorm) && (norm != MorseOneNorm) - && (norm != MorseInfNorm) && (norm != MorseFrobeniusNorm) ) { - morse_error("MORSE_zlansy_Tile", "illegal value of norm"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ( (norm != ChamMaxNorm) && (norm != ChamOneNorm) + && (norm != ChamInfNorm) && (norm != ChamFrobeniusNorm) ) { + chameleon_error("CHAMELEON_zlansy_Tile", "illegal value of norm"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ( (uplo != MorseUpper) && (uplo != MorseLower) ) { - morse_error("MORSE_zlansy_Tile", "illegal value of uplo"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ( (uplo != ChamUpper) && (uplo != ChamLower) ) { + chameleon_error("CHAMELEON_zlansy_Tile", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ if ( A->m == 0) { *value = 0.0; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzlansy( norm, uplo, A, value, sequence, request ); + chameleon_pzlansy( norm, uplo, A, value, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zlantr.c b/compute/zlantr.c index 224faca65f8f75400e08ad786be2d77a102697cb..fb78aa2e8d1954ff79db4c326b6a246b2788d9b6 100644 --- a/compute/zlantr.c +++ b/compute/zlantr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> s d c @@ -24,17 +24,17 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zlantr returns the value + * CHAMELEON_zlantr returns the value * - * zlantr = ( max(abs(A(i,j))), NORM = MorseMaxNorm + * zlantr = ( max(abs(A(i,j))), NORM = ChamMaxNorm * ( - * ( norm1(A), NORM = MorseOneNorm + * ( norm1(A), NORM = ChamOneNorm * ( - * ( normI(A), NORM = MorseInfNorm + * ( normI(A), NORM = ChamInfNorm * ( - * ( normF(A), NORM = MorseFrobeniusNorm + * ( normF(A), NORM = ChamFrobeniusNorm * * where norm1 denotes the one norm of a matrix (maximum column sum), * normI denotes the infinity norm of a matrix (maximum row sum) and @@ -45,30 +45,30 @@ ******************************************************************************* * * @param[in] norm - * = MorseMaxNorm: Max norm - * = MorseOneNorm: One norm - * = MorseInfNorm: Infinity norm - * = MorseFrobeniusNorm: Frobenius norm + * = ChamMaxNorm: Max norm + * = ChamOneNorm: One norm + * = ChamInfNorm: Infinity norm + * = ChamFrobeniusNorm: Frobenius norm * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] diag * Specifies whether or not A is unit triangular: - * = MorseNonUnit: A is non unit; - * = MorseUnit: A us unit. + * = ChamNonUnit: A is non unit; + * = ChamUnit: A us unit. * * @param[in] M * The number of rows of the matrix A. M >= 0. When M = 0, * the returned value is set to zero. - * If uplo == MorseUpper, M <= N. + * If uplo == ChamUpper, M <= N. * * @param[in] N * The number of columns of the matrix A. N >= 0. When N = 0, * the returned value is set to zero. - * If uplo == MorseLower, N <= M. + * If uplo == ChamLower, N <= M. * * @param[in] A * The M-by-N matrix A. @@ -83,53 +83,53 @@ * ******************************************************************************* * - * @sa MORSE_zlantr_Tile - * @sa MORSE_zlantr_Tile_Async - * @sa MORSE_clantr - * @sa MORSE_dlantr - * @sa MORSE_slantr + * @sa CHAMELEON_zlantr_Tile + * @sa CHAMELEON_zlantr_Tile_Async + * @sa CHAMELEON_clantr + * @sa CHAMELEON_dlantr + * @sa CHAMELEON_slantr * */ -double MORSE_zlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, - int M, int N, MORSE_Complex64_t *A, int LDA ) +double CHAMELEON_zlantr(cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, + int M, int N, CHAMELEON_Complex64_t *A, int LDA ) { int NB; int status; double value = -1.; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlantr", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlantr", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ( (norm != MorseMaxNorm) && (norm != MorseOneNorm) - && (norm != MorseInfNorm) && (norm != MorseFrobeniusNorm) ) { - morse_error("MORSE_zlantr", "illegal value of norm"); + if ( (norm != ChamMaxNorm) && (norm != ChamOneNorm) + && (norm != ChamInfNorm) && (norm != ChamFrobeniusNorm) ) { + chameleon_error("CHAMELEON_zlantr", "illegal value of norm"); return -1; } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zlantr", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zlantr", "illegal value of uplo"); return -2; } - if ((diag != MorseUnit) && (diag != MorseNonUnit)) { - morse_error("MORSE_zlantr", "illegal value of diag"); + if ((diag != ChamUnit) && (diag != ChamNonUnit)) { + chameleon_error("CHAMELEON_zlantr", "illegal value of diag"); return -3; } if (M < 0) { - morse_error("MORSE_zlantr", "illegal value of M"); + chameleon_error("CHAMELEON_zlantr", "illegal value of M"); return -4; } if (N < 0) { - morse_error("MORSE_zlantr", "illegal value of N"); + chameleon_error("CHAMELEON_zlantr", "illegal value of N"); return -5; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zlantr", "illegal value of LDA"); + chameleon_error("CHAMELEON_zlantr", "illegal value of LDA"); return -7; } @@ -138,43 +138,43 @@ double MORSE_zlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, return (double)0.0; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGEMM, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zlantr", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlantr", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, uplo, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zlantr_Tile_Async( norm, uplo, diag, &descAt, &value, sequence, &request ); + CHAMELEON_zlantr_Tile_Async( norm, uplo, diag, &descAt, &value, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return value; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zlantr_Tile - Tile equivalent of MORSE_zlantr(). + * CHAMELEON_zlantr_Tile - Tile equivalent of CHAMELEON_zlantr(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -182,20 +182,20 @@ double MORSE_zlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, ******************************************************************************* * * @param[in] norm - * = MorseMaxNorm: Max norm - * = MorseOneNorm: One norm - * = MorseInfNorm: Infinity norm - * = MorseFrobeniusNorm: Frobenius norm + * = ChamMaxNorm: Max norm + * = ChamOneNorm: One norm + * = ChamInfNorm: Infinity norm + * = ChamFrobeniusNorm: Frobenius norm * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] diag * Specifies whether or not A is unit triangular: - * = MorseNonUnit: A is non unit; - * = MorseUnit: A us unit. + * = ChamNonUnit: A is non unit; + * = ChamUnit: A us unit. * * @param[in] A * Descriptor of matrix A. @@ -203,48 +203,48 @@ double MORSE_zlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zlantr - * @sa MORSE_zlantr_Tile_Async - * @sa MORSE_clantr_Tile - * @sa MORSE_dlantr_Tile - * @sa MORSE_slantr_Tile + * @sa CHAMELEON_zlantr + * @sa CHAMELEON_zlantr_Tile_Async + * @sa CHAMELEON_clantr_Tile + * @sa CHAMELEON_dlantr_Tile + * @sa CHAMELEON_slantr_Tile * */ -double MORSE_zlantr_Tile(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A ) +double CHAMELEON_zlantr_Tile(cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; double value = -1.; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlantr_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlantr_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zlantr_Tile_Async( norm, uplo, diag, A, &value, sequence, &request ); + CHAMELEON_zlantr_Tile_Async( norm, uplo, diag, A, &value, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); - return ( status == MORSE_SUCCESS ) ? value : (double)status; + chameleon_sequence_destroy( chamctxt, sequence ); + return ( status == CHAMELEON_SUCCESS ) ? value : (double)status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zlantr_Tile_Async - Non-blocking equivalent of MORSE_zlantr_Tile(). + * CHAMELEON_zlantr_Tile_Async - Non-blocking equivalent of CHAMELEON_zlantr_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -259,71 +259,71 @@ double MORSE_zlantr_Tile(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, MORS * ******************************************************************************* * - * @sa MORSE_zlantr - * @sa MORSE_zlantr_Tile - * @sa MORSE_clantr_Tile_Async - * @sa MORSE_dlantr_Tile_Async - * @sa MORSE_slantr_Tile_Async + * @sa CHAMELEON_zlantr + * @sa CHAMELEON_zlantr_Tile + * @sa CHAMELEON_clantr_Tile_Async + * @sa CHAMELEON_dlantr_Tile_Async + * @sa CHAMELEON_slantr_Tile_Async * */ -int MORSE_zlantr_Tile_Async( MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, - MORSE_desc_t *A, double *value, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zlantr_Tile_Async( cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, + CHAM_desc_t *A, double *value, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlantr_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlantr_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zlantr_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlantr_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zlantr_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlantr_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zlantr_Tile", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlantr_Tile", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zlantr_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zlantr_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ( (norm != MorseMaxNorm) && (norm != MorseOneNorm) - && (norm != MorseInfNorm) && (norm != MorseFrobeniusNorm) ) { - morse_error("MORSE_zlantr_Tile", "illegal value of norm"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ( (norm != ChamMaxNorm) && (norm != ChamOneNorm) + && (norm != ChamInfNorm) && (norm != ChamFrobeniusNorm) ) { + chameleon_error("CHAMELEON_zlantr_Tile", "illegal value of norm"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zlantr_Tile", "illegal value of uplo"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zlantr_Tile", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((diag != MorseUnit) && (diag != MorseNonUnit)) { - morse_error("MORSE_zlantr_Tile", "illegal value of diag"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((diag != ChamUnit) && (diag != ChamNonUnit)) { + chameleon_error("CHAMELEON_zlantr_Tile", "illegal value of diag"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ if (chameleon_min(A->m, A->n) == 0) { *value = 0.0; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzlantr( norm, uplo, diag, A, value, sequence, request ); + chameleon_pzlantr( norm, uplo, diag, A, value, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zlascal.c b/compute/zlascal.c index 3b7df6dcaa560a4d1f74de803944c7ef485172a5..bae3815fbab3de093be482f78e24623f54b163a4 100644 --- a/compute/zlascal.c +++ b/compute/zlascal.c @@ -23,9 +23,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zlascal - Scales a matrix by the scalar alpha as in + * CHAMELEON_zlascal - Scales a matrix by the scalar alpha as in * ScaLAPACK pzlascal(). * * \f[ A = \alpha A \f], @@ -36,9 +36,9 @@ * * @param[in] uplo * Specifies the shape of A: - * = MorseUpperLower: A is a general matrix. - * = MorseUpper: A is an upper trapezoidal matrix. - * = MorseLower: A is a lower trapezoidal matrix. + * = ChamUpperLower: A is a general matrix. + * = ChamUpper: A is an upper trapezoidal matrix. + * = ChamLower: A is a lower trapezoidal matrix. * * @param[in] M * M specifies the number of rows of the matrix A. M >= 0. @@ -58,94 +58,94 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zlascal_Tile - * @sa MORSE_clascal - * @sa MORSE_dlascal - * @sa MORSE_slascal + * @sa CHAMELEON_zlascal_Tile + * @sa CHAMELEON_clascal + * @sa CHAMELEON_dlascal + * @sa CHAMELEON_slascal * */ -int MORSE_zlascal( MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA ) +int CHAMELEON_zlascal( cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA ) { int NB; int status; - MORSE_desc_t descAl, descAt; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlascal", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlascal", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower) && (uplo != MorseUpperLower)) { - morse_error("MORSE_zlascal", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower) && (uplo != ChamUpperLower)) { + chameleon_error("CHAMELEON_zlascal", "illegal value of uplo"); return -1; } if (M < 0) { - morse_error("MORSE_zlascal", "illegal value of M"); + chameleon_error("CHAMELEON_zlascal", "illegal value of M"); return -2; } if (N < 0) { - morse_error("MORSE_zlascal", "illegal value of N"); + chameleon_error("CHAMELEON_zlascal", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zlascal", "illegal value of LDA"); + chameleon_error("CHAMELEON_zlascal", "illegal value of LDA"); return -6; } /* Quick return */ if (M == 0 || N == 0 || - (alpha == (MORSE_Complex64_t)1.0)) - return MORSE_SUCCESS; + (alpha == (CHAMELEON_Complex64_t)1.0)) + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGEMM, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zlascal", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlascal", "chameleon_tune() failed"); return status; } /* Set MT & NT & KT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, uplo, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zlascal_Tile_Async( uplo, alpha, &descAt, sequence, &request ); + CHAMELEON_zlascal_Tile_Async( uplo, alpha, &descAt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zlascal_Tile - Scales a matrix by the scalar alpha as in + * CHAMELEON_zlascal_Tile - Scales a matrix by the scalar alpha as in * ScaLAPACK pzlascal(). * * \f[ A = \alpha A \f], @@ -156,9 +156,9 @@ int MORSE_zlascal( MORSE_enum uplo, int M, int N, * * @param[in] uplo * Specifies the shape of A: - * = MorseUpperLower: A is a general matrix. - * = MorseUpper: A is an upper trapezoidal matrix. - * = MorseLower: A is a lower trapezoidal matrix. + * = ChamUpperLower: A is a general matrix. + * = ChamUpper: A is an upper trapezoidal matrix. + * = ChamLower: A is a lower trapezoidal matrix. * * @param[in] alpha * alpha specifies the scalar alpha @@ -169,50 +169,50 @@ int MORSE_zlascal( MORSE_enum uplo, int M, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zlascal - * @sa MORSE_zlascal_Tile_Async - * @sa MORSE_clascal_Tile - * @sa MORSE_dlascal_Tile - * @sa MORSE_slascal_Tile + * @sa CHAMELEON_zlascal + * @sa CHAMELEON_zlascal_Tile_Async + * @sa CHAMELEON_clascal_Tile + * @sa CHAMELEON_dlascal_Tile + * @sa CHAMELEON_slascal_Tile * */ -int MORSE_zlascal_Tile( MORSE_enum uplo, - MORSE_Complex64_t alpha, MORSE_desc_t *A ) +int CHAMELEON_zlascal_Tile( cham_uplo_t uplo, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlascal_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlascal_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zlascal_Tile_Async( uplo, alpha, A, sequence, &request ); + CHAMELEON_zlascal_Tile_Async( uplo, alpha, A, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zlascal_Tile_Async - Scales a matrix by the scalar alpha as in + * CHAMELEON_zlascal_Tile_Async - Scales a matrix by the scalar alpha as in * ScaLAPACK pzlascal(). - * Non-blocking equivalent of MORSE_zlascal_Tile(). + * Non-blocking equivalent of CHAMELEON_zlascal_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -227,67 +227,67 @@ int MORSE_zlascal_Tile( MORSE_enum uplo, * ******************************************************************************* * - * @sa MORSE_zlascal - * @sa MORSE_zlascal_Tile - * @sa MORSE_clascal_Tile_Async - * @sa MORSE_dlascal_Tile_Async - * @sa MORSE_slascal_Tile_Async + * @sa CHAMELEON_zlascal + * @sa CHAMELEON_zlascal_Tile + * @sa CHAMELEON_clascal_Tile_Async + * @sa CHAMELEON_dlascal_Tile_Async + * @sa CHAMELEON_slascal_Tile_Async * */ -int MORSE_zlascal_Tile_Async( MORSE_enum uplo, - MORSE_Complex64_t alpha, MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zlascal_Tile_Async( cham_uplo_t uplo, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t descA; + CHAM_context_t *chamctxt; + CHAM_desc_t descA; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlascal_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlascal_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zlascal_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlascal_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zlascal_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlascal_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zlascal_Tile_Async", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlascal_Tile_Async", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } else { descA = *A; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower) && (uplo != MorseUpperLower)) { - morse_error("MORSE_zlascal", "illegal value of uplo"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((uplo != ChamUpper) && (uplo != ChamLower) && (uplo != ChamUpperLower)) { + chameleon_error("CHAMELEON_zlascal", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (descA.i%descA.mb != 0) || (descA.j%descA.nb != 0) ) { - morse_error("MORSE_zlascal", "start indexes have to be multiple of tile size"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zlascal", "start indexes have to be multiple of tile size"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ if ( (descA.m == 0) || (descA.n == 0) || - (alpha == (MORSE_Complex64_t)1.0) ) + (alpha == (CHAMELEON_Complex64_t)1.0) ) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzlascal( uplo, alpha, A, sequence, request ); + chameleon_pzlascal( uplo, alpha, A, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zlaset.c b/compute/zlaset.c index 0a6617835206a801efdb70b58a4adaba04e26a2e..3a489215d37899b8bd8c295cc114fa3ec0b81bfb 100644 --- a/compute/zlaset.c +++ b/compute/zlaset.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,19 +26,19 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zlaset copies all or part of a two-dimensional matrix A to another + * CHAMELEON_zlaset copies all or part of a two-dimensional matrix A to another * matrix B * ******************************************************************************* * * @param[in] uplo * Specifies the part of the matrix A to be copied to B. - * = MorseUpperLower: All the matrix A - * = MorseUpper: Upper triangular part is set. The lower + * = ChamUpperLower: All the matrix A + * = ChamUpper: Upper triangular part is set. The lower * triangle is unchanged. - * = MorseLower: Lower triangular part is set. The upper + * = ChamLower: Lower triangular part is set. The upper * triangle is unchange. * * @param[in] M @@ -63,46 +63,46 @@ * ******************************************************************************* * - * @sa MORSE_zlaset_Tile - * @sa MORSE_zlaset_Tile_Async - * @sa MORSE_claset - * @sa MORSE_dlaset - * @sa MORSE_slaset + * @sa CHAMELEON_zlaset_Tile + * @sa CHAMELEON_zlaset_Tile_Async + * @sa CHAMELEON_claset + * @sa CHAMELEON_dlaset + * @sa CHAMELEON_slaset * */ -int MORSE_zlaset( MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t beta, - MORSE_Complex64_t *A, int LDA ) +int CHAMELEON_zlaset( cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, + CHAMELEON_Complex64_t *A, int LDA ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlaset", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlaset", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ( (uplo != MorseUpperLower) && - (uplo != MorseUpper) && - (uplo != MorseLower) ) { - morse_error("MORSE_zlaset", "illegal value of uplo"); + if ( (uplo != ChamUpperLower) && + (uplo != ChamUpper) && + (uplo != ChamLower) ) { + chameleon_error("CHAMELEON_zlaset", "illegal value of uplo"); return -1; } if (M < 0) { - morse_error("MORSE_zlaset", "illegal value of M"); + chameleon_error("CHAMELEON_zlaset", "illegal value of M"); return -2; } if (N < 0) { - morse_error("MORSE_zlaset", "illegal value of N"); + chameleon_error("CHAMELEON_zlaset", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zlaset", "illegal value of LDA"); + chameleon_error("CHAMELEON_zlaset", "illegal value of LDA"); return -5; } @@ -111,43 +111,43 @@ int MORSE_zlaset( MORSE_enum uplo, int M, int N, return (double)0.0; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGEMM, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zlaset", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlaset", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, uplo, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zlaset_Tile_Async( uplo, alpha, beta, &descAt, sequence, &request ); + CHAMELEON_zlaset_Tile_Async( uplo, alpha, beta, &descAt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); - morse_sequence_destroy( morse, sequence ); - return MORSE_SUCCESS; + chameleon_sequence_destroy( chamctxt, sequence ); + return CHAMELEON_SUCCESS; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zlaset_Tile - Tile equivalent of MORSE_zlaset(). + * CHAMELEON_zlaset_Tile - Tile equivalent of CHAMELEON_zlaset(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -156,9 +156,9 @@ int MORSE_zlaset( MORSE_enum uplo, int M, int N, * * @param[in] uplo * Specifies the part of the matrix A to be copied to B. - * = MorseUpperLower: All the matrix A - * = MorseUpper: Upper triangular part - * = MorseLower: Lower triangular part + * = ChamUpperLower: All the matrix A + * = ChamUpper: Upper triangular part + * = ChamLower: Lower triangular part * * @param[in,out] A * On entry, the m by n matrix A. @@ -168,49 +168,49 @@ int MORSE_zlaset( MORSE_enum uplo, int M, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zlaset - * @sa MORSE_zlaset_Tile_Async - * @sa MORSE_claset_Tile - * @sa MORSE_dlaset_Tile - * @sa MORSE_slaset_Tile + * @sa CHAMELEON_zlaset + * @sa CHAMELEON_zlaset_Tile_Async + * @sa CHAMELEON_claset_Tile + * @sa CHAMELEON_dlaset_Tile + * @sa CHAMELEON_slaset_Tile * */ -int MORSE_zlaset_Tile( MORSE_enum uplo, - MORSE_Complex64_t alpha, MORSE_Complex64_t beta, - MORSE_desc_t *A ) +int CHAMELEON_zlaset_Tile( cham_uplo_t uplo, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, + CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlaset_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlaset_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zlaset_Tile_Async( uplo, alpha, beta, A, sequence, &request ); + CHAMELEON_zlaset_Tile_Async( uplo, alpha, beta, A, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zlaset_Tile_Async - Non-blocking equivalent of MORSE_zlaset_Tile(). + * CHAMELEON_zlaset_Tile_Async - Non-blocking equivalent of CHAMELEON_zlaset_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -225,64 +225,64 @@ int MORSE_zlaset_Tile( MORSE_enum uplo, * ******************************************************************************* * - * @sa MORSE_zlaset - * @sa MORSE_zlaset_Tile - * @sa MORSE_claset_Tile_Async - * @sa MORSE_dlaset_Tile_Async - * @sa MORSE_slaset_Tile_Async + * @sa CHAMELEON_zlaset + * @sa CHAMELEON_zlaset_Tile + * @sa CHAMELEON_claset_Tile_Async + * @sa CHAMELEON_dlaset_Tile_Async + * @sa CHAMELEON_slaset_Tile_Async * */ -int MORSE_zlaset_Tile_Async( MORSE_enum uplo, - MORSE_Complex64_t alpha, MORSE_Complex64_t beta, - MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zlaset_Tile_Async( cham_uplo_t uplo, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, + CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlaset_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlaset_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zlaset_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlaset_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zlaset_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlaset_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zlaset_Tile_Async", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlaset_Tile_Async", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zlaset_Tile_Async", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zlaset_Tile_Async", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ - if ( (uplo != MorseUpperLower) && - (uplo != MorseUpper) && - (uplo != MorseLower) ) { - morse_error("MORSE_zlaset_Tile_Async", "illegal value of uplo"); + if ( (uplo != ChamUpperLower) && + (uplo != ChamUpper) && + (uplo != ChamLower) ) { + chameleon_error("CHAMELEON_zlaset_Tile_Async", "illegal value of uplo"); return -1; } /* Quick return */ if (chameleon_min(A->m, A->n) == 0) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzlaset( uplo, alpha, beta, A, sequence, request ); + chameleon_pzlaset( uplo, alpha, beta, A, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zlauum.c b/compute/zlauum.c index a21bfefcca440c2aa0c6925b776c09cd8e5b69eb..2c239471537046fa5f2514d7132ece17c7cc595e 100644 --- a/compute/zlauum.c +++ b/compute/zlauum.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,9 +26,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zlauum - Computes the product U * U' or L' * L, where the triangular + * CHAMELEON_zlauum - Computes the product U * U' or L' * L, where the triangular * factor U or L is stored in the upper or lower triangular part of * the array A. * @@ -40,8 +40,8 @@ ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The order of the triangular factor U or L. N >= 0. @@ -59,93 +59,93 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zlauum_Tile - * @sa MORSE_zlauum_Tile_Async - * @sa MORSE_clauum - * @sa MORSE_dlauum - * @sa MORSE_slauum - * @sa MORSE_zpotri + * @sa CHAMELEON_zlauum_Tile + * @sa CHAMELEON_zlauum_Tile_Async + * @sa CHAMELEON_clauum + * @sa CHAMELEON_dlauum + * @sa CHAMELEON_slauum + * @sa CHAMELEON_zpotri * */ -int MORSE_zlauum( MORSE_enum uplo, int N, - MORSE_Complex64_t *A, int LDA ) +int CHAMELEON_zlauum( cham_uplo_t uplo, int N, + CHAMELEON_Complex64_t *A, int LDA ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlauum", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlauum", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zlauum", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zlauum", "illegal value of uplo"); return -1; } if (N < 0) { - morse_error("MORSE_zlauum", "illegal value of N"); + chameleon_error("CHAMELEON_zlauum", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zlauum", "illegal value of LDA"); + chameleon_error("CHAMELEON_zlauum", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_max(N, 0) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZPOSV, N, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zlauum", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZPOSV, N, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlauum", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zlauum_Tile_Async( uplo, &descAt, sequence, &request ); + CHAMELEON_zlauum_Tile_Async( uplo, &descAt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zlauum_Tile - Computes the product U * U' or L' * L, where + * CHAMELEON_zlauum_Tile - Computes the product U * U' or L' * L, where * the triangular factor U or L is stored in the upper or lower * triangular part of the array A. - * Tile equivalent of MORSE_zlauum(). + * Tile equivalent of CHAMELEON_zlauum(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -153,8 +153,8 @@ int MORSE_zlauum( MORSE_enum uplo, int N, ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] A * On entry, the triangular factor U or L. @@ -166,51 +166,51 @@ int MORSE_zlauum( MORSE_enum uplo, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zlauum - * @sa MORSE_zlauum_Tile_Async - * @sa MORSE_clauum_Tile - * @sa MORSE_dlauum_Tile - * @sa MORSE_slauum_Tile - * @sa MORSE_zpotri_Tile + * @sa CHAMELEON_zlauum + * @sa CHAMELEON_zlauum_Tile_Async + * @sa CHAMELEON_clauum_Tile + * @sa CHAMELEON_dlauum_Tile + * @sa CHAMELEON_slauum_Tile + * @sa CHAMELEON_zpotri_Tile * */ -int MORSE_zlauum_Tile( MORSE_enum uplo, MORSE_desc_t *A ) +int CHAMELEON_zlauum_Tile( cham_uplo_t uplo, CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlauum_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlauum_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zlauum_Tile_Async( uplo, A, sequence, &request ); + CHAMELEON_zlauum_Tile_Async( uplo, A, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zlauum_Tile_Async - Computes the product U * U' or L' * L, where the + * CHAMELEON_zlauum_Tile_Async - Computes the product U * U' or L' * L, where the * triangular factor U or L is stored in the upper or lower triangular part of * the array A. - * Non-blocking equivalent of MORSE_zlauum_Tile(). + * Non-blocking equivalent of CHAMELEON_zlauum_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -225,60 +225,60 @@ int MORSE_zlauum_Tile( MORSE_enum uplo, MORSE_desc_t *A ) * ******************************************************************************* * - * @sa MORSE_zlauum - * @sa MORSE_zlauum_Tile - * @sa MORSE_clauum_Tile_Async - * @sa MORSE_dlauum_Tile_Async - * @sa MORSE_slauum_Tile_Async - * @sa MORSE_zpotri_Tile_Async + * @sa CHAMELEON_zlauum + * @sa CHAMELEON_zlauum_Tile + * @sa CHAMELEON_clauum_Tile_Async + * @sa CHAMELEON_dlauum_Tile_Async + * @sa CHAMELEON_slauum_Tile_Async + * @sa CHAMELEON_zpotri_Tile_Async * */ -int MORSE_zlauum_Tile_Async( MORSE_enum uplo, MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zlauum_Tile_Async( cham_uplo_t uplo, CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zlauum_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zlauum_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zlauum_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlauum_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zlauum_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zlauum_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zlauum_Tile", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zlauum_Tile", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zlauum_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zlauum_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zlauum_Tile", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zlauum_Tile", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } /* Quick return */ /* if (chameleon_max(N, 0) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pzlauum( uplo, A, sequence, request ); + chameleon_pzlauum( uplo, A, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zplghe.c b/compute/zplghe.c index ee944a2a0f62f37c3c39feb6cba0c13fe5add018..95e0b8359eb37cdcfb994b37fa1ad785b68c0d98 100644 --- a/compute/zplghe.c +++ b/compute/zplghe.c @@ -14,7 +14,7 @@ * @version 1.0.0 * @comment This file is a copy of zplghe.c * wich has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -29,9 +29,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zplghe - Generate a random hermitian (positive definite if 'bump' is large enough) half-matrix by tiles. + * CHAMELEON_zplghe - Generate a random hermitian (positive definite if 'bump' is large enough) half-matrix by tiles. * ******************************************************************************* * @@ -57,77 +57,77 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zplghe_Tile - * @sa MORSE_zplghe_Tile_Async - * @sa MORSE_cplghe - * @sa MORSE_dplghe - * @sa MORSE_splghe - * @sa MORSE_zplghe + * @sa CHAMELEON_zplghe_Tile + * @sa CHAMELEON_zplghe_Tile_Async + * @sa CHAMELEON_cplghe + * @sa CHAMELEON_dplghe + * @sa CHAMELEON_splghe + * @sa CHAMELEON_zplghe * */ -int MORSE_zplghe( double bump, MORSE_enum uplo, int N, - MORSE_Complex64_t *A, int LDA, - unsigned long long int seed ) +int CHAMELEON_zplghe( double bump, cham_uplo_t uplo, int N, + CHAMELEON_Complex64_t *A, int LDA, + unsigned long long int seed ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zplghe", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zplghe", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (N < 0) { - morse_error("MORSE_zplghe", "illegal value of N"); + chameleon_error("CHAMELEON_zplghe", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zplghe", "illegal value of LDA"); + chameleon_error("CHAMELEON_zplghe", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_max(0, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGEMM, N, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zplghe", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, N, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zplghe", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; - morse_sequence_create( morse, &sequence ); + NB = CHAMELEON_NB; + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescOutput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescOutput, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zplghe_Tile_Async( bump, uplo, &descAt, seed, sequence, &request ); + CHAMELEON_zplghe_Tile_Async( bump, uplo, &descAt, seed, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescOutput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescOutput, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } @@ -135,10 +135,10 @@ int MORSE_zplghe( double bump, MORSE_enum uplo, int N, /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zplghe_Tile - Generate a random hermitian (positive definite if 'bump' is large enough) half-matrix by tiles. - * Tile equivalent of MORSE_zplghe(). + * CHAMELEON_zplghe_Tile - Generate a random hermitian (positive definite if 'bump' is large enough) half-matrix by tiles. + * Tile equivalent of CHAMELEON_zplghe(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -161,50 +161,50 @@ int MORSE_zplghe( double bump, MORSE_enum uplo, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zplghe - * @sa MORSE_zplghe_Tile_Async - * @sa MORSE_cplghe_Tile - * @sa MORSE_dplghe_Tile - * @sa MORSE_splghe_Tile - * @sa MORSE_zplghe_Tile + * @sa CHAMELEON_zplghe + * @sa CHAMELEON_zplghe_Tile_Async + * @sa CHAMELEON_cplghe_Tile + * @sa CHAMELEON_dplghe_Tile + * @sa CHAMELEON_splghe_Tile + * @sa CHAMELEON_zplghe_Tile * */ -int MORSE_zplghe_Tile( double bump, MORSE_enum uplo, MORSE_desc_t *A, - unsigned long long int seed ) +int CHAMELEON_zplghe_Tile( double bump, cham_uplo_t uplo, CHAM_desc_t *A, + unsigned long long int seed ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zplghe_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zplghe_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zplghe_Tile_Async( bump, uplo, A, seed, sequence, &request ); + CHAMELEON_zplghe_Tile_Async( bump, uplo, A, seed, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zplghe_Tile_Async - Generate a random hermitian (positive definite if 'bump' is large enough) half-matrix by tiles. - * Non-blocking equivalent of MORSE_zplghe_Tile(). + * CHAMELEON_zplghe_Tile_Async - Generate a random hermitian (positive definite if 'bump' is large enough) half-matrix by tiles. + * Non-blocking equivalent of CHAMELEON_zplghe_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -219,60 +219,60 @@ int MORSE_zplghe_Tile( double bump, MORSE_enum uplo, MORSE_desc_t *A, * ******************************************************************************* * - * @sa MORSE_zplghe - * @sa MORSE_zplghe_Tile - * @sa MORSE_cplghe_Tile_Async - * @sa MORSE_dplghe_Tile_Async - * @sa MORSE_splghe_Tile_Async - * @sa MORSE_zplghe_Tile_Async + * @sa CHAMELEON_zplghe + * @sa CHAMELEON_zplghe_Tile + * @sa CHAMELEON_cplghe_Tile_Async + * @sa CHAMELEON_dplghe_Tile_Async + * @sa CHAMELEON_splghe_Tile_Async + * @sa CHAMELEON_zplghe_Tile_Async * */ -int MORSE_zplghe_Tile_Async( double bump, - MORSE_enum uplo, - MORSE_desc_t *A, - unsigned long long int seed, - MORSE_sequence_t *sequence, - MORSE_request_t *request ) +int CHAMELEON_zplghe_Tile_Async( double bump, + cham_uplo_t uplo, + CHAM_desc_t *A, + unsigned long long int seed, + RUNTIME_sequence_t *sequence, + RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zplghe_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zplghe_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zplghe_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zplghe_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zplghe_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zplghe_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zplghe_Tile", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zplghe_Tile", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zplghe_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zplghe_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ if (chameleon_min( A->m, A->n ) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - morse_pzplghe( bump, uplo, A, seed, sequence, request ); + chameleon_pzplghe( bump, uplo, A, seed, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zplgsy.c b/compute/zplgsy.c index d7fb72be0f5397d951ddf63faf2256a084c48af0..4c5d38d5f40367b8bcfe08a628a1e609aaef2c7e 100644 --- a/compute/zplgsy.c +++ b/compute/zplgsy.c @@ -14,7 +14,7 @@ * @version 1.0.0 * @comment This file is a copy of zplgsy.c, * wich has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -29,9 +29,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zplgsy - Generate a random symmetric (positive definite if 'bump' is large enough) half-matrix by tiles. + * CHAMELEON_zplgsy - Generate a random symmetric (positive definite if 'bump' is large enough) half-matrix by tiles. * ******************************************************************************* * @@ -57,77 +57,77 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zplgsy_Tile - * @sa MORSE_zplgsy_Tile_Async - * @sa MORSE_cplgsy - * @sa MORSE_dplgsy - * @sa MORSE_splgsy - * @sa MORSE_zplgsy + * @sa CHAMELEON_zplgsy_Tile + * @sa CHAMELEON_zplgsy_Tile_Async + * @sa CHAMELEON_cplgsy + * @sa CHAMELEON_dplgsy + * @sa CHAMELEON_splgsy + * @sa CHAMELEON_zplgsy * */ -int MORSE_zplgsy( MORSE_Complex64_t bump, MORSE_enum uplo, int N, - MORSE_Complex64_t *A, int LDA, - unsigned long long int seed ) +int CHAMELEON_zplgsy( CHAMELEON_Complex64_t bump, cham_uplo_t uplo, int N, + CHAMELEON_Complex64_t *A, int LDA, + unsigned long long int seed ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zplgsy", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zplgsy", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (N < 0) { - morse_error("MORSE_zplgsy", "illegal value of N"); + chameleon_error("CHAMELEON_zplgsy", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zplgsy", "illegal value of LDA"); + chameleon_error("CHAMELEON_zplgsy", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_max(0, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGEMM, N, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zplgsy", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, N, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zplgsy", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; - morse_sequence_create( morse, &sequence ); + NB = CHAMELEON_NB; + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescOutput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescOutput, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zplgsy_Tile_Async( bump, uplo, &descAt, seed, sequence, &request ); + CHAMELEON_zplgsy_Tile_Async( bump, uplo, &descAt, seed, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescOutput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescOutput, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } @@ -135,10 +135,10 @@ int MORSE_zplgsy( MORSE_Complex64_t bump, MORSE_enum uplo, int N, /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zplgsy_Tile - Generate a random symmetric (positive definite if 'bump' is large enough) half-matrix by tiles. - * Tile equivalent of MORSE_zplgsy(). + * CHAMELEON_zplgsy_Tile - Generate a random symmetric (positive definite if 'bump' is large enough) half-matrix by tiles. + * Tile equivalent of CHAMELEON_zplgsy(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -161,51 +161,51 @@ int MORSE_zplgsy( MORSE_Complex64_t bump, MORSE_enum uplo, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zplgsy - * @sa MORSE_zplgsy_Tile_Async - * @sa MORSE_cplgsy_Tile - * @sa MORSE_dplgsy_Tile - * @sa MORSE_splgsy_Tile - * @sa MORSE_zplgsy_Tile + * @sa CHAMELEON_zplgsy + * @sa CHAMELEON_zplgsy_Tile_Async + * @sa CHAMELEON_cplgsy_Tile + * @sa CHAMELEON_dplgsy_Tile + * @sa CHAMELEON_splgsy_Tile + * @sa CHAMELEON_zplgsy_Tile * */ -int MORSE_zplgsy_Tile( MORSE_Complex64_t bump, MORSE_enum uplo, - MORSE_desc_t *A, - unsigned long long int seed ) +int CHAMELEON_zplgsy_Tile( CHAMELEON_Complex64_t bump, cham_uplo_t uplo, + CHAM_desc_t *A, + unsigned long long int seed ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zplgsy_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zplgsy_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zplgsy_Tile_Async( bump, uplo, A, seed, sequence, &request ); + CHAMELEON_zplgsy_Tile_Async( bump, uplo, A, seed, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zplgsy_Tile_Async - Generate a random symmetric (positive definite if 'bump' is large enough) half-matrix by tiles. - * Non-blocking equivalent of MORSE_zplgsy_Tile(). + * CHAMELEON_zplgsy_Tile_Async - Generate a random symmetric (positive definite if 'bump' is large enough) half-matrix by tiles. + * Non-blocking equivalent of CHAMELEON_zplgsy_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -220,61 +220,61 @@ int MORSE_zplgsy_Tile( MORSE_Complex64_t bump, MORSE_enum uplo, * ******************************************************************************* * - * @sa MORSE_zplgsy - * @sa MORSE_zplgsy_Tile - * @sa MORSE_cplgsy_Tile_Async - * @sa MORSE_dplgsy_Tile_Async - * @sa MORSE_splgsy_Tile_Async - * @sa MORSE_zplgsy_Tile_Async - * @sa MORSE_zplgsy_Tile_Async + * @sa CHAMELEON_zplgsy + * @sa CHAMELEON_zplgsy_Tile + * @sa CHAMELEON_cplgsy_Tile_Async + * @sa CHAMELEON_dplgsy_Tile_Async + * @sa CHAMELEON_splgsy_Tile_Async + * @sa CHAMELEON_zplgsy_Tile_Async + * @sa CHAMELEON_zplgsy_Tile_Async * */ -int MORSE_zplgsy_Tile_Async( MORSE_Complex64_t bump, - MORSE_enum uplo, - MORSE_desc_t *A, - unsigned long long int seed, - MORSE_sequence_t *sequence, - MORSE_request_t *request ) +int CHAMELEON_zplgsy_Tile_Async( CHAMELEON_Complex64_t bump, + cham_uplo_t uplo, + CHAM_desc_t *A, + unsigned long long int seed, + RUNTIME_sequence_t *sequence, + RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zplgsy_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zplgsy_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zplgsy_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zplgsy_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zplgsy_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zplgsy_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zplgsy_Tile", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zplgsy_Tile", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zplgsy_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zplgsy_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ if (chameleon_min( A->m, A->n ) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - morse_pzplgsy( bump, uplo, A, seed, sequence, request ); + chameleon_pzplgsy( bump, uplo, A, seed, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zplrnt.c b/compute/zplrnt.c index 62d8c12ddf0280c71bf114c3145ead2d5c199146..43e47a7a20bbee03bd942f7472699fe56bfed6f5 100644 --- a/compute/zplrnt.c +++ b/compute/zplrnt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,9 +26,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zplrnt - Generate a random matrix by tiles. + * CHAMELEON_zplrnt - Generate a random matrix by tiles. * ******************************************************************************* * @@ -50,92 +50,92 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zplrnt_Tile - * @sa MORSE_zplrnt_Tile_Async - * @sa MORSE_cplrnt - * @sa MORSE_dplrnt - * @sa MORSE_splrnt - * @sa MORSE_zplghe - * @sa MORSE_zplgsy + * @sa CHAMELEON_zplrnt_Tile + * @sa CHAMELEON_zplrnt_Tile_Async + * @sa CHAMELEON_cplrnt + * @sa CHAMELEON_dplrnt + * @sa CHAMELEON_splrnt + * @sa CHAMELEON_zplghe + * @sa CHAMELEON_zplgsy * */ -int MORSE_zplrnt( int M, int N, - MORSE_Complex64_t *A, int LDA, +int CHAMELEON_zplrnt( int M, int N, + CHAMELEON_Complex64_t *A, int LDA, unsigned long long int seed ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zplrnt", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zplrnt", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zplrnt", "illegal value of M"); + chameleon_error("CHAMELEON_zplrnt", "illegal value of M"); return -1; } if (N < 0) { - morse_error("MORSE_zplrnt", "illegal value of N"); + chameleon_error("CHAMELEON_zplrnt", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zplrnt", "illegal value of LDA"); + chameleon_error("CHAMELEON_zplrnt", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGEMM, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zplrnt", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zplrnt", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; - morse_sequence_create( morse, &sequence ); + NB = CHAMELEON_NB; + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescOutput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescOutput, ChamUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zplrnt_Tile_Async( &descAt, seed, sequence, &request ); + CHAMELEON_zplrnt_Tile_Async( &descAt, seed, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescOutput, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescOutput, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zplrnt_Tile - Generate a random matrix by tiles. - * Tile equivalent of MORSE_zplrnt(). + * CHAMELEON_zplrnt_Tile - Generate a random matrix by tiles. + * Tile equivalent of CHAMELEON_zplrnt(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -151,51 +151,51 @@ int MORSE_zplrnt( int M, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zplrnt - * @sa MORSE_zplrnt_Tile_Async - * @sa MORSE_cplrnt_Tile - * @sa MORSE_dplrnt_Tile - * @sa MORSE_splrnt_Tile - * @sa MORSE_zplghe_Tile - * @sa MORSE_zplgsy_Tile + * @sa CHAMELEON_zplrnt + * @sa CHAMELEON_zplrnt_Tile_Async + * @sa CHAMELEON_cplrnt_Tile + * @sa CHAMELEON_dplrnt_Tile + * @sa CHAMELEON_splrnt_Tile + * @sa CHAMELEON_zplghe_Tile + * @sa CHAMELEON_zplgsy_Tile * */ -int MORSE_zplrnt_Tile( MORSE_desc_t *A, +int CHAMELEON_zplrnt_Tile( CHAM_desc_t *A, unsigned long long int seed ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zplrnt_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zplrnt_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zplrnt_Tile_Async( A, seed, sequence, &request ); + CHAMELEON_zplrnt_Tile_Async( A, seed, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zplrnt_Tile_Async - Generate a random matrix by tiles. - * Non-blocking equivalent of MORSE_zplrnt_Tile(). + * CHAMELEON_zplrnt_Tile_Async - Generate a random matrix by tiles. + * Non-blocking equivalent of CHAMELEON_zplrnt_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -210,59 +210,59 @@ int MORSE_zplrnt_Tile( MORSE_desc_t *A, * ******************************************************************************* * - * @sa MORSE_zplrnt - * @sa MORSE_zplrnt_Tile - * @sa MORSE_cplrnt_Tile_Async - * @sa MORSE_dplrnt_Tile_Async - * @sa MORSE_splrnt_Tile_Async - * @sa MORSE_zplghe_Tile_Async - * @sa MORSE_zplgsy_Tile_Async + * @sa CHAMELEON_zplrnt + * @sa CHAMELEON_zplrnt_Tile + * @sa CHAMELEON_cplrnt_Tile_Async + * @sa CHAMELEON_dplrnt_Tile_Async + * @sa CHAMELEON_splrnt_Tile_Async + * @sa CHAMELEON_zplghe_Tile_Async + * @sa CHAMELEON_zplgsy_Tile_Async * */ -int MORSE_zplrnt_Tile_Async( MORSE_desc_t *A, +int CHAMELEON_zplrnt_Tile_Async( CHAM_desc_t *A, unsigned long long int seed, - MORSE_sequence_t *sequence, - MORSE_request_t *request ) + RUNTIME_sequence_t *sequence, + RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zplrnt_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zplrnt_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zplrnt_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zplrnt_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zplrnt_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zplrnt_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zplrnt_Tile", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zplrnt_Tile", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zplrnt_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zplrnt_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ if (chameleon_min( A->m, A->n ) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - morse_pzplrnt( A, seed, sequence, request ); + chameleon_pzplrnt( A, seed, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zposv.c b/compute/zposv.c index f4e3f185d5887e8a41d2df15215372c9e66e51a1..e09fad9fb03cc96e9679768d11d8d7825cb9b3d7 100644 --- a/compute/zposv.c +++ b/compute/zposv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,14 +27,14 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zposv - Computes the solution to a system of linear equations A * X = B, + * CHAMELEON_zposv - Computes the solution to a system of linear equations A * X = B, * where A is an N-by-N symmetric positive definite (or Hermitian positive definite * in the complex case) matrix and X and B are N-by-NRHS matrices. * The Cholesky decomposition is used to factor A as * - * \f[ A = \{_{L\times L^H, if uplo = MorseLower}^{U^H\times U, if uplo = MorseUpper} \f] + * \f[ A = \{_{L\times L^H, if uplo = ChamLower}^{U^H\times U, if uplo = ChamUpper} \f] * * where U is an upper triangular matrix and L is a lower triangular matrix. * The factored form of A is then used to solve the system of equations A * X = B. @@ -43,8 +43,8 @@ * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The number of linear equations, i.e., the order of the matrix A. N >= 0. @@ -54,7 +54,7 @@ * * @param[in,out] A * On entry, the symmetric positive definite (or Hermitian) matrix A. - * If uplo = MorseUpper, the leading N-by-N upper triangular part of A + * If uplo = ChamUpper, the leading N-by-N upper triangular part of A * contains the upper triangular part of the matrix A, and the strictly lower triangular * part of A is not referenced. * If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower @@ -76,108 +76,108 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if i, the leading minor of order i of A is not positive definite, so the * factorization could not be completed, and the solution has not been computed. * ******************************************************************************* * - * @sa MORSE_zposv_Tile - * @sa MORSE_zposv_Tile_Async - * @sa MORSE_cposv - * @sa MORSE_dposv - * @sa MORSE_sposv + * @sa CHAMELEON_zposv_Tile + * @sa CHAMELEON_zposv_Tile_Async + * @sa CHAMELEON_cposv + * @sa CHAMELEON_dposv + * @sa CHAMELEON_sposv * */ -int MORSE_zposv( MORSE_enum uplo, int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zposv( cham_uplo_t uplo, int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zposv", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zposv", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zposv", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zposv", "illegal value of uplo"); return -1; } if (N < 0) { - morse_error("MORSE_zposv", "illegal value of N"); + chameleon_error("CHAMELEON_zposv", "illegal value of N"); return -2; } if (NRHS < 0) { - morse_error("MORSE_zposv", "illegal value of NRHS"); + chameleon_error("CHAMELEON_zposv", "illegal value of NRHS"); return -3; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zposv", "illegal value of LDA"); + chameleon_error("CHAMELEON_zposv", "illegal value of LDA"); return -5; } if (LDB < chameleon_max(1, N)) { - morse_error("MORSE_zposv", "illegal value of LDB"); + chameleon_error("CHAMELEON_zposv", "illegal value of LDB"); return -7; } /* Quick return - currently NOT equivalent to LAPACK's * LAPACK does not have such check for DPOSV */ if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZPOSV, N, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zposv", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZPOSV, N, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zposv", "chameleon_tune() failed"); return status; } /* Set NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_zposv_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); + CHAMELEON_zposv_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, uplo, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zposv_Tile - Solves a symmetric positive definite or Hermitian positive definite + * CHAMELEON_zposv_Tile - Solves a symmetric positive definite or Hermitian positive definite * system of linear equations using the Cholesky factorization. - * Tile equivalent of MORSE_zposv(). + * Tile equivalent of CHAMELEON_zposv(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -186,12 +186,12 @@ int MORSE_zposv( MORSE_enum uplo, int N, int NRHS, * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in,out] A * On entry, the symmetric positive definite (or Hermitian) matrix A. - * If uplo = MorseUpper, the leading N-by-N upper triangular part of A + * If uplo = ChamUpper, the leading N-by-N upper triangular part of A * contains the upper triangular part of the matrix A, and the strictly lower triangular * part of A is not referenced. * If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower @@ -207,52 +207,52 @@ int MORSE_zposv( MORSE_enum uplo, int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval >0 if i, the leading minor of order i of A is not positive definite, so the * factorization could not be completed, and the solution has not been computed. * ******************************************************************************* * - * @sa MORSE_zposv - * @sa MORSE_zposv_Tile_Async - * @sa MORSE_cposv_Tile - * @sa MORSE_dposv_Tile - * @sa MORSE_sposv_Tile + * @sa CHAMELEON_zposv + * @sa CHAMELEON_zposv_Tile_Async + * @sa CHAMELEON_cposv_Tile + * @sa CHAMELEON_dposv_Tile + * @sa CHAMELEON_sposv_Tile * */ -int MORSE_zposv_Tile( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B ) +int CHAMELEON_zposv_Tile( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zposv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zposv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zposv_Tile_Async( uplo, A, B, sequence, &request ); + CHAMELEON_zposv_Tile_Async( uplo, A, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zposv_Tile_Async - Solves a symmetric positive definite or Hermitian + * CHAMELEON_zposv_Tile_Async - Solves a symmetric positive definite or Hermitian * positive definite system of linear equations using the Cholesky factorization. - * Non-blocking equivalent of MORSE_zposv_Tile(). + * Non-blocking equivalent of CHAMELEON_zposv_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -267,68 +267,68 @@ int MORSE_zposv_Tile( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B ) * ******************************************************************************* * - * @sa MORSE_zposv - * @sa MORSE_zposv_Tile - * @sa MORSE_cposv_Tile_Async - * @sa MORSE_dposv_Tile_Async - * @sa MORSE_sposv_Tile_Async + * @sa CHAMELEON_zposv + * @sa CHAMELEON_zposv_Tile + * @sa CHAMELEON_cposv_Tile_Async + * @sa CHAMELEON_dposv_Tile_Async + * @sa CHAMELEON_sposv_Tile_Async * */ -int MORSE_zposv_Tile_Async( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zposv_Tile_Async( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zposv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zposv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zposv_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zposv_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zposv_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zposv_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zposv_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zposv_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zposv_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zposv_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zposv_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zposv_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zposv_Tile", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zposv_Tile", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } /* Quick return - currently NOT equivalent to LAPACK's * LAPACK does not have such check for DPOSV */ /* if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pzpotrf( uplo, A, sequence, request ); + chameleon_pzpotrf( uplo, A, sequence, request ); - morse_pztrsm( MorseLeft, uplo, uplo == MorseUpper ? MorseConjTrans : MorseNoTrans, MorseNonUnit, 1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, uplo, uplo == ChamUpper ? ChamConjTrans : ChamNoTrans, ChamNonUnit, 1.0, A, B, sequence, request ); - morse_pztrsm( MorseLeft, uplo, uplo == MorseUpper ? MorseNoTrans : MorseConjTrans, MorseNonUnit, 1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, uplo, uplo == ChamUpper ? ChamNoTrans : ChamConjTrans, ChamNonUnit, 1.0, A, B, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zpotrf.c b/compute/zpotrf.c index 13dc5ca87e7cb548fd74b06701b45bbc865d3082..7ce17be82fee5d44d9e8a2495fe4b86d23f3f095 100644 --- a/compute/zpotrf.c +++ b/compute/zpotrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,28 +27,28 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zpotrf - Computes the Cholesky factorization of a symmetric positive definite + * CHAMELEON_zpotrf - Computes the Cholesky factorization of a symmetric positive definite * (or Hermitian positive definite in the complex case) matrix A. * The factorization has the form * - * \f[ A = \{_{L\times L^H, if uplo = MorseLower}^{U^H\times U, if uplo = MorseUpper} \f] + * \f[ A = \{_{L\times L^H, if uplo = ChamLower}^{U^H\times U, if uplo = ChamUpper} \f] * * where U is an upper triangular matrix and L is a lower triangular matrix. * ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The order of the matrix A. N >= 0. * * @param[in,out] A * On entry, the symmetric positive definite (or Hermitian) matrix A. - * If uplo = MorseUpper, the leading N-by-N upper triangular part of A + * If uplo = ChamUpper, the leading N-by-N upper triangular part of A * contains the upper triangular part of the matrix A, and the strictly lower triangular * part of A is not referenced. * If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower @@ -63,83 +63,83 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if i, the leading minor of order i of A is not positive definite, so the * factorization could not be completed, and the solution has not been computed. * ******************************************************************************* * - * @sa MORSE_zpotrf_Tile - * @sa MORSE_zpotrf_Tile_Async - * @sa MORSE_cpotrf - * @sa MORSE_dpotrf - * @sa MORSE_spotrf - * @sa MORSE_zpotrs + * @sa CHAMELEON_zpotrf_Tile + * @sa CHAMELEON_zpotrf_Tile_Async + * @sa CHAMELEON_cpotrf + * @sa CHAMELEON_dpotrf + * @sa CHAMELEON_spotrf + * @sa CHAMELEON_zpotrs * */ -int MORSE_zpotrf( MORSE_enum uplo, int N, - MORSE_Complex64_t *A, int LDA ) +int CHAMELEON_zpotrf( cham_uplo_t uplo, int N, + CHAMELEON_Complex64_t *A, int LDA ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zpotrf", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zpotrf", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zpotrf", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zpotrf", "illegal value of uplo"); return -1; } if (N < 0) { - morse_error("MORSE_zpotrf", "illegal value of N"); + chameleon_error("CHAMELEON_zpotrf", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zpotrf", "illegal value of LDA"); + chameleon_error("CHAMELEON_zpotrf", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_max(N, 0) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZPOSV, N, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zpotrf", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZPOSV, N, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zpotrf", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zpotrf_Tile_Async( uplo, &descAt, sequence, &request ); + CHAMELEON_zpotrf_Tile_Async( uplo, &descAt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } @@ -147,11 +147,11 @@ int MORSE_zpotrf( MORSE_enum uplo, int N, /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zpotrf_Tile - Computes the Cholesky factorization of a symmetric positive definite + * CHAMELEON_zpotrf_Tile - Computes the Cholesky factorization of a symmetric positive definite * or Hermitian positive definite matrix. - * Tile equivalent of MORSE_zpotrf(). + * Tile equivalent of CHAMELEON_zpotrf(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -159,12 +159,12 @@ int MORSE_zpotrf( MORSE_enum uplo, int N, ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] A * On entry, the symmetric positive definite (or Hermitian) matrix A. - * If uplo = MorseUpper, the leading N-by-N upper triangular part of A + * If uplo = ChamUpper, the leading N-by-N upper triangular part of A * contains the upper triangular part of the matrix A, and the strictly lower triangular * part of A is not referenced. * If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower @@ -176,52 +176,52 @@ int MORSE_zpotrf( MORSE_enum uplo, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval >0 if i, the leading minor of order i of A is not positive definite, so the * factorization could not be completed, and the solution has not been computed. * ******************************************************************************* * - * @sa MORSE_zpotrf - * @sa MORSE_zpotrf_Tile_Async - * @sa MORSE_cpotrf_Tile - * @sa MORSE_dpotrf_Tile - * @sa MORSE_spotrf_Tile - * @sa MORSE_zpotrs_Tile + * @sa CHAMELEON_zpotrf + * @sa CHAMELEON_zpotrf_Tile_Async + * @sa CHAMELEON_cpotrf_Tile + * @sa CHAMELEON_dpotrf_Tile + * @sa CHAMELEON_spotrf_Tile + * @sa CHAMELEON_zpotrs_Tile * */ -int MORSE_zpotrf_Tile( MORSE_enum uplo, MORSE_desc_t *A ) +int CHAMELEON_zpotrf_Tile( cham_uplo_t uplo, CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zpotrf_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zpotrf_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zpotrf_Tile_Async( uplo, A, sequence, &request ); + CHAMELEON_zpotrf_Tile_Async( uplo, A, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zpotrf_Tile_Async - Computes the Cholesky factorization of a symmetric + * CHAMELEON_zpotrf_Tile_Async - Computes the Cholesky factorization of a symmetric * positive definite or Hermitian positive definite matrix. - * Non-blocking equivalent of MORSE_zpotrf_Tile(). + * Non-blocking equivalent of CHAMELEON_zpotrf_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -236,60 +236,60 @@ int MORSE_zpotrf_Tile( MORSE_enum uplo, MORSE_desc_t *A ) * ******************************************************************************* * - * @sa MORSE_zpotrf - * @sa MORSE_zpotrf_Tile - * @sa MORSE_cpotrf_Tile_Async - * @sa MORSE_dpotrf_Tile_Async - * @sa MORSE_spotrf_Tile_Async - * @sa MORSE_zpotrs_Tile_Async + * @sa CHAMELEON_zpotrf + * @sa CHAMELEON_zpotrf_Tile + * @sa CHAMELEON_cpotrf_Tile_Async + * @sa CHAMELEON_dpotrf_Tile_Async + * @sa CHAMELEON_spotrf_Tile_Async + * @sa CHAMELEON_zpotrs_Tile_Async * */ -int MORSE_zpotrf_Tile_Async( MORSE_enum uplo, MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zpotrf_Tile_Async( cham_uplo_t uplo, CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zpotrf_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zpotrf_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zpotrf_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zpotrf_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zpotrf_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zpotrf_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zpotrf_Tile_Async", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zpotrf_Tile_Async", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zpotrf_Tile_Async", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zpotrf_Tile_Async", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zpotrf_Tile_Async", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zpotrf_Tile_Async", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } /* Quick return */ /* if (chameleon_max(N, 0) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pzpotrf( uplo, A, sequence, request ); + chameleon_pzpotrf( uplo, A, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zpotri.c b/compute/zpotri.c index c4e4f3be8e84a443ebf8b658a1988509c6af7963..11c02ea4ee9a5d4c482f0b8c702c37ffe698dcce 100644 --- a/compute/zpotri.c +++ b/compute/zpotri.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,17 +26,17 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zpotri - Computes the inverse of a complex Hermitian positive definite + * CHAMELEON_zpotri - Computes the inverse of a complex Hermitian positive definite * matrix A using the Cholesky factorization A = U**H*U or A = L*L**H - * computed by MORSE_zpotrf. + * computed by CHAMELEON_zpotrf. * ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The order of the matrix A. N >= 0. @@ -44,7 +44,7 @@ * @param[in,out] A * On entry, the triangular factor U or L from the Cholesky * factorization A = U**H*U or A = L*L**H, as computed by - * MORSE_zpotrf. + * CHAMELEON_zpotrf. * On exit, the upper or lower triangle of the (Hermitian) * inverse of A, overwriting the input factor U or L. * @@ -54,95 +54,95 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if i, the (i,i) element of the factor U or L is * zero, and the inverse could not be computed. * ******************************************************************************* * - * @sa MORSE_zpotri_Tile - * @sa MORSE_zpotri_Tile_Async - * @sa MORSE_cpotri - * @sa MORSE_dpotri - * @sa MORSE_spotri - * @sa MORSE_zpotrf + * @sa CHAMELEON_zpotri_Tile + * @sa CHAMELEON_zpotri_Tile_Async + * @sa CHAMELEON_cpotri + * @sa CHAMELEON_dpotri + * @sa CHAMELEON_spotri + * @sa CHAMELEON_zpotrf * */ -int MORSE_zpotri( MORSE_enum uplo, int N, - MORSE_Complex64_t *A, int LDA ) +int CHAMELEON_zpotri( cham_uplo_t uplo, int N, + CHAMELEON_Complex64_t *A, int LDA ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zpotri", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zpotri", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zpotri", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zpotri", "illegal value of uplo"); return -1; } if (N < 0) { - morse_error("MORSE_zpotri", "illegal value of N"); + chameleon_error("CHAMELEON_zpotri", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zpotri", "illegal value of LDA"); + chameleon_error("CHAMELEON_zpotri", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_max(N, 0) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZPOSV, N, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zpotri", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZPOSV, N, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zpotri", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zpotri_Tile_Async( uplo, &descAt, sequence, &request ); + CHAMELEON_zpotri_Tile_Async( uplo, &descAt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zpotri_Tile - Computes the inverse of a complex Hermitian + * CHAMELEON_zpotri_Tile - Computes the inverse of a complex Hermitian * positive definite matrix A using the Cholesky factorization - * A = U**H*U or A = L*L**H computed by MORSE_zpotrf. - * Tile equivalent of MORSE_zpotri(). + * A = U**H*U or A = L*L**H computed by CHAMELEON_zpotrf. + * Tile equivalent of CHAMELEON_zpotri(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -150,67 +150,67 @@ int MORSE_zpotri( MORSE_enum uplo, int N, ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] A * On entry, the triangular factor U or L from the Cholesky * factorization A = U**H*U or A = L*L**H, as computed by - * MORSE_zpotrf. + * CHAMELEON_zpotrf. * On exit, the upper or lower triangle of the (Hermitian) * inverse of A, overwriting the input factor U or L. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval >0 if i, the leading minor of order i of A is not * positive definite, so the factorization could not be * completed, and the solution has not been computed. * ******************************************************************************* * - * @sa MORSE_zpotri - * @sa MORSE_zpotri_Tile_Async - * @sa MORSE_cpotri_Tile - * @sa MORSE_dpotri_Tile - * @sa MORSE_spotri_Tile - * @sa MORSE_zpotrf_Tile + * @sa CHAMELEON_zpotri + * @sa CHAMELEON_zpotri_Tile_Async + * @sa CHAMELEON_cpotri_Tile + * @sa CHAMELEON_dpotri_Tile + * @sa CHAMELEON_spotri_Tile + * @sa CHAMELEON_zpotrf_Tile * */ -int MORSE_zpotri_Tile( MORSE_enum uplo, MORSE_desc_t *A ) +int CHAMELEON_zpotri_Tile( cham_uplo_t uplo, CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zpotri_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zpotri_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zpotri_Tile_Async( uplo, A, sequence, &request ); + CHAMELEON_zpotri_Tile_Async( uplo, A, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zpotri_Tile_Async - Computes the inverse of a complex Hermitian + * CHAMELEON_zpotri_Tile_Async - Computes the inverse of a complex Hermitian * positive definite matrix A using the Cholesky factorization A = U**H*U - * or A = L*L**H computed by MORSE_zpotrf. - * Non-blocking equivalent of MORSE_zpotri_Tile(). + * or A = L*L**H computed by CHAMELEON_zpotrf. + * Non-blocking equivalent of CHAMELEON_zpotri_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -225,62 +225,62 @@ int MORSE_zpotri_Tile( MORSE_enum uplo, MORSE_desc_t *A ) * ******************************************************************************* * - * @sa MORSE_zpotri - * @sa MORSE_zpotri_Tile - * @sa MORSE_cpotri_Tile_Async - * @sa MORSE_dpotri_Tile_Async - * @sa MORSE_spotri_Tile_Async - * @sa MORSE_zpotrf_Tile_Async + * @sa CHAMELEON_zpotri + * @sa CHAMELEON_zpotri_Tile + * @sa CHAMELEON_cpotri_Tile_Async + * @sa CHAMELEON_dpotri_Tile_Async + * @sa CHAMELEON_spotri_Tile_Async + * @sa CHAMELEON_zpotrf_Tile_Async * */ -int MORSE_zpotri_Tile_Async( MORSE_enum uplo, MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zpotri_Tile_Async( cham_uplo_t uplo, CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zpotri_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zpotri_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zpotri_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zpotri_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zpotri_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zpotri_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zpotri_Tile_Async", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zpotri_Tile_Async", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zpotri_Tile_Async", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zpotri_Tile_Async", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zpotri_Tile_Async", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zpotri_Tile_Async", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } /* Quick return */ /* if (chameleon_max(N, 0) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pztrtri( uplo, MorseNonUnit, A, sequence, request ); + chameleon_pztrtri( uplo, ChamNonUnit, A, sequence, request ); - morse_pzlauum( uplo, A, sequence, request ); + chameleon_pzlauum( uplo, A, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zpotrimm.c b/compute/zpotrimm.c index 4d393828dec9226fbcd25b5a6c73ff6db004c06b..db73bdf2dc1994462996578097c39a44cc102c4e 100644 --- a/compute/zpotrimm.c +++ b/compute/zpotrimm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,17 +26,17 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zpotrimm - Computes the inverse of a complex Hermitian positive definite + * CHAMELEON_zpotrimm - Computes the inverse of a complex Hermitian positive definite * matrix A using the Cholesky factorization A = U**H*U or A = L*L**H - * computed by MORSE_zpotrf. + * computed by CHAMELEON_zpotrf. * ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The order of the matrix A. N >= 0. @@ -44,7 +44,7 @@ * @param[in,out] A * On entry, the triangular factor U or L from the Cholesky * factorization A = U**H*U or A = L*L**H, as computed by - * MORSE_zpotrf. + * CHAMELEON_zpotrf. * On exit, the upper or lower triangle of the (Hermitian) * inverse of A, overwriting the input factor U or L. * @@ -54,117 +54,117 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if i, the (i,i) element of the factor U or L is * zero, and the inverse could not be computed. * ******************************************************************************* * - * @sa MORSE_zpotrimm_Tile - * @sa MORSE_zpotrimm_Tile_Async - * @sa MORSE_cpotri - * @sa MORSE_dpotri - * @sa MORSE_spotri - * @sa MORSE_zpotrf + * @sa CHAMELEON_zpotrimm_Tile + * @sa CHAMELEON_zpotrimm_Tile_Async + * @sa CHAMELEON_cpotri + * @sa CHAMELEON_dpotri + * @sa CHAMELEON_spotri + * @sa CHAMELEON_zpotrf * */ -int MORSE_zpotrimm( MORSE_enum uplo, int N, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t *C, int LDC ) +int CHAMELEON_zpotrimm( cham_uplo_t uplo, int N, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t *C, int LDC ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; - MORSE_desc_t descCl, descCt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; + CHAM_desc_t descCl, descCt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zpotrimm", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zpotrimm", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zpotrimm", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zpotrimm", "illegal value of uplo"); return -1; } if (N < 0) { - morse_error("MORSE_zpotrimm", "illegal value of N"); + chameleon_error("CHAMELEON_zpotrimm", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zpotrimm", "illegal value of LDA"); + chameleon_error("CHAMELEON_zpotrimm", "illegal value of LDA"); return -4; } if (LDB < chameleon_max(1, N)) { - morse_error("MORSE_zpotrimm", "illegal value of LDB"); + chameleon_error("CHAMELEON_zpotrimm", "illegal value of LDB"); return -6; } if (LDC < chameleon_max(1, N)) { - morse_error("MORSE_zpotrimm", "illegal value of LDC"); + chameleon_error("CHAMELEON_zpotrimm", "illegal value of LDC"); return -8; } /* Quick return */ if (chameleon_max(N, 0) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZPOSV, N, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zpotrimm", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZPOSV, N, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zpotrimm", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInput, ChamUpperLower, B, NB, NB, LDB, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descCl, &descCt, ChamDescInout, ChamUpperLower, C, NB, NB, LDC, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zpotrimm_Tile_Async( uplo, &descAt, &descBt, &descCt, sequence, &request ); + CHAMELEON_zpotrimm_Tile_Async( uplo, &descAt, &descBt, &descCt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, uplo, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descCl, &descCt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descCl, &descCt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); - morse_ztile2lap_cleanup( morse, &descCl, &descCt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descCl, &descCt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zpotrimm_Tile - Computes the inverse of a complex Hermitian + * CHAMELEON_zpotrimm_Tile - Computes the inverse of a complex Hermitian * positive definite matrix A using the Cholesky factorization - * A = U**H*U or A = L*L**H computed by MORSE_zpotrf. - * Tile equivalent of MORSE_zpotrimm(). + * A = U**H*U or A = L*L**H computed by CHAMELEON_zpotrf. + * Tile equivalent of CHAMELEON_zpotrimm(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -172,69 +172,69 @@ int MORSE_zpotrimm( MORSE_enum uplo, int N, ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] A * On entry, the triangular factor U or L from the Cholesky * factorization A = U**H*U or A = L*L**H, as computed by - * MORSE_zpotrf. + * CHAMELEON_zpotrf. * On exit, the upper or lower triangle of the (Hermitian) * inverse of A, overwriting the input factor U or L. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval >0 if i, the leading minor of order i of A is not * positive definite, so the factorization could not be * completed, and the solution has not been computed. * ******************************************************************************* * - * @sa MORSE_zpotrimm - * @sa MORSE_zpotrimm_Tile_Async - * @sa MORSE_cpotri_Tile - * @sa MORSE_dpotri_Tile - * @sa MORSE_spotri_Tile - * @sa MORSE_zpotrf_Tile + * @sa CHAMELEON_zpotrimm + * @sa CHAMELEON_zpotrimm_Tile_Async + * @sa CHAMELEON_cpotri_Tile + * @sa CHAMELEON_dpotri_Tile + * @sa CHAMELEON_spotri_Tile + * @sa CHAMELEON_zpotrf_Tile * */ -int MORSE_zpotrimm_Tile( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *C ) +int CHAMELEON_zpotrimm_Tile( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *C ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zpotrimm_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zpotrimm_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zpotrimm_Tile_Async( uplo, A, B, C, sequence, &request ); + CHAMELEON_zpotrimm_Tile_Async( uplo, A, B, C, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zpotrimm_Tile_Async - Computes the inverse of a complex Hermitian + * CHAMELEON_zpotrimm_Tile_Async - Computes the inverse of a complex Hermitian * positive definite matrix A using the Cholesky factorization A = U**H*U - * or A = L*L**H computed by MORSE_zpotrf. - * Non-blocking equivalent of MORSE_zpotrimm_Tile(). + * or A = L*L**H computed by CHAMELEON_zpotrf. + * Non-blocking equivalent of CHAMELEON_zpotrimm_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -249,80 +249,80 @@ int MORSE_zpotrimm_Tile( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORS * ******************************************************************************* * - * @sa MORSE_zpotrimm - * @sa MORSE_zpotrimm_Tile - * @sa MORSE_cpotri_Tile_Async - * @sa MORSE_dpotri_Tile_Async - * @sa MORSE_spotri_Tile_Async - * @sa MORSE_zpotrf_Tile_Async + * @sa CHAMELEON_zpotrimm + * @sa CHAMELEON_zpotrimm_Tile + * @sa CHAMELEON_cpotri_Tile_Async + * @sa CHAMELEON_dpotri_Tile_Async + * @sa CHAMELEON_spotri_Tile_Async + * @sa CHAMELEON_zpotrf_Tile_Async * */ -int MORSE_zpotrimm_Tile_Async( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zpotrimm_Tile_Async( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zpotrimm_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zpotrimm_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zpotrimm_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zpotrimm_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zpotrimm_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zpotrimm_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zpotrimm_Tile_Async", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zpotrimm_Tile_Async", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zpotrimm_Tile_Async", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zpotrimm_Tile_Async", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(C) != MORSE_SUCCESS) { - morse_error("MORSE_zpotrimm_Tile_Async", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(C) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zpotrimm_Tile_Async", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zpotrimm_Tile_Async", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zpotrimm_Tile_Async", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (B->nb != B->mb) { - morse_error("MORSE_zpotrimm_Tile_Async", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zpotrimm_Tile_Async", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (C->nb != C->mb) { - morse_error("MORSE_zpotrimm_Tile_Async", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zpotrimm_Tile_Async", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zpotrimm_Tile_Async", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zpotrimm_Tile_Async", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } /* Quick return */ /* if (chameleon_max(N, 0) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pzpotrimm( uplo, A, B, C, sequence, request ); + chameleon_pzpotrimm( uplo, A, B, C, sequence, request ); /* - morse_pztrtri( uplo, MorseNonUnit, A, sequence, request ); - morse_pzlauum( uplo, A, sequence, request ); + chameleon_pztrtri( uplo, ChamNonUnit, A, sequence, request ); + chameleon_pzlauum( uplo, A, sequence, request ); */ - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zpotrs.c b/compute/zpotrs.c index 8b3a1ef7c7d0cc61e7ed8944685257626add47c3..0db1d651eff56c38bf1bc0436abd70df9806d89e 100644 --- a/compute/zpotrs.c +++ b/compute/zpotrs.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,17 +27,17 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zpotrs - Solves a system of linear equations A * X = B with a symmetric positive + * CHAMELEON_zpotrs - Solves a system of linear equations A * X = B with a symmetric positive * definite (or Hermitian positive definite in the complex case) matrix A using the Cholesky - * factorization A = U**H*U or A = L*L**H computed by MORSE_zpotrf. + * factorization A = U**H*U or A = L*L**H computed by CHAMELEON_zpotrf. * ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The order of the matrix A. N >= 0. @@ -47,7 +47,7 @@ * * @param[in] A * The triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H, - * computed by MORSE_zpotrf. + * computed by CHAMELEON_zpotrf. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,N). @@ -62,107 +62,107 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zpotrs_Tile - * @sa MORSE_zpotrs_Tile_Async - * @sa MORSE_cpotrs - * @sa MORSE_dpotrs - * @sa MORSE_spotrs - * @sa MORSE_zpotrf + * @sa CHAMELEON_zpotrs_Tile + * @sa CHAMELEON_zpotrs_Tile_Async + * @sa CHAMELEON_cpotrs + * @sa CHAMELEON_dpotrs + * @sa CHAMELEON_spotrs + * @sa CHAMELEON_zpotrf * */ -int MORSE_zpotrs( MORSE_enum uplo, int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zpotrs( cham_uplo_t uplo, int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zpotrs", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zpotrs", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zpotrs", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zpotrs", "illegal value of uplo"); return -1; } if (N < 0) { - morse_error("MORSE_zpotrs", "illegal value of N"); + chameleon_error("CHAMELEON_zpotrs", "illegal value of N"); return -2; } if (NRHS < 0) { - morse_error("MORSE_zpotrs", "illegal value of NRHS"); + chameleon_error("CHAMELEON_zpotrs", "illegal value of NRHS"); return -3; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zpotrs", "illegal value of LDA"); + chameleon_error("CHAMELEON_zpotrs", "illegal value of LDA"); return -5; } if (LDB < chameleon_max(1, N)) { - morse_error("MORSE_zpotrs", "illegal value of LDB"); + chameleon_error("CHAMELEON_zpotrs", "illegal value of LDB"); return -7; } /* Quick return */ if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZPOSV, N, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zpotrs", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZPOSV, N, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zpotrs", "chameleon_tune() failed"); return status; } /* Set NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_zpotrs_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); + CHAMELEON_zpotrs_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, uplo, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zpotrs_Tile - Solves a system of linear equations using previously + * CHAMELEON_zpotrs_Tile - Solves a system of linear equations using previously * computed Cholesky factorization. - * Tile equivalent of MORSE_zpotrs(). + * Tile equivalent of CHAMELEON_zpotrs(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -170,12 +170,12 @@ int MORSE_zpotrs( MORSE_enum uplo, int N, int NRHS, ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] A * The triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H, - * computed by MORSE_zpotrf. + * computed by CHAMELEON_zpotrf. * * @param[in,out] B * On entry, the N-by-NRHS right hand side matrix B. @@ -184,51 +184,51 @@ int MORSE_zpotrs( MORSE_enum uplo, int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zpotrs - * @sa MORSE_zpotrs_Tile_Async - * @sa MORSE_cpotrs_Tile - * @sa MORSE_dpotrs_Tile - * @sa MORSE_spotrs_Tile - * @sa MORSE_zpotrf_Tile + * @sa CHAMELEON_zpotrs + * @sa CHAMELEON_zpotrs_Tile_Async + * @sa CHAMELEON_cpotrs_Tile + * @sa CHAMELEON_dpotrs_Tile + * @sa CHAMELEON_spotrs_Tile + * @sa CHAMELEON_zpotrf_Tile * */ -int MORSE_zpotrs_Tile( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B ) +int CHAMELEON_zpotrs_Tile( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zpotrs_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zpotrs_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zpotrs_Tile_Async( uplo, A, B, sequence, &request ); + CHAMELEON_zpotrs_Tile_Async( uplo, A, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zpotrs_Tile_Async - Solves a system of linear equations using previously + * CHAMELEON_zpotrs_Tile_Async - Solves a system of linear equations using previously * computed Cholesky factorization. - * Non-blocking equivalent of MORSE_zpotrs_Tile(). + * Non-blocking equivalent of CHAMELEON_zpotrs_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -243,66 +243,66 @@ int MORSE_zpotrs_Tile( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B ) * ******************************************************************************* * - * @sa MORSE_zpotrs - * @sa MORSE_zpotrs_Tile - * @sa MORSE_cpotrs_Tile_Async - * @sa MORSE_dpotrs_Tile_Async - * @sa MORSE_spotrs_Tile_Async - * @sa MORSE_zpotrf_Tile_Async + * @sa CHAMELEON_zpotrs + * @sa CHAMELEON_zpotrs_Tile + * @sa CHAMELEON_cpotrs_Tile_Async + * @sa CHAMELEON_dpotrs_Tile_Async + * @sa CHAMELEON_spotrs_Tile_Async + * @sa CHAMELEON_zpotrf_Tile_Async * */ -int MORSE_zpotrs_Tile_Async( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zpotrs_Tile_Async( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zpotrs_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zpotrs_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zpotrs_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zpotrs_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zpotrs_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zpotrs_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zpotrs_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zpotrs_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zpotrs_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zpotrs_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zpotrs_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zpotrs_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zpotrs_Tile", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zpotrs_Tile", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } /* Quick return */ /* if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pztrsm( MorseLeft, uplo, uplo == MorseUpper ? MorseConjTrans : MorseNoTrans, MorseNonUnit, 1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, uplo, uplo == ChamUpper ? ChamConjTrans : ChamNoTrans, ChamNonUnit, 1.0, A, B, sequence, request ); - morse_pztrsm( MorseLeft, uplo, uplo == MorseUpper ? MorseNoTrans : MorseConjTrans, MorseNonUnit, 1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, uplo, uplo == ChamUpper ? ChamNoTrans : ChamConjTrans, ChamNonUnit, 1.0, A, B, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zsymm.c b/compute/zsymm.c index dd1794d0ac0e0ee14530f41890c6bacc84f5dbe0..6a694d61afde0cd169682b9023567f7431f2a3f0 100644 --- a/compute/zsymm.c +++ b/compute/zsymm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,9 +26,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zsymm - Performs one of the matrix-matrix operations + * CHAMELEON_zsymm - Performs one of the matrix-matrix operations * * \f[ C = \alpha \times A \times B + \beta \times C \f] * @@ -44,15 +44,15 @@ * @param[in] side * Specifies whether the symmetric matrix A appears on the * left or right in the operation as follows: - * = MorseLeft: \f[ C = \alpha \times A \times B + \beta \times C \f] - * = MorseRight: \f[ C = \alpha \times B \times A + \beta \times C \f] + * = ChamLeft: \f[ C = \alpha \times A \times B + \beta \times C \f] + * = ChamRight: \f[ C = \alpha \times B \times A + \beta \times C \f] * * @param[in] uplo * Specifies whether the upper or lower triangular part of * the symmetric matrix A is to be referenced as follows: - * = MorseLower: Only the lower triangular part of the + * = ChamLower: Only the lower triangular part of the * symmetric matrix A is to be referenced. - * = MorseUpper: Only the upper triangular part of the + * = ChamUpper: Only the upper triangular part of the * symmetric matrix A is to be referenced. * * @param[in] M @@ -65,7 +65,7 @@ * Specifies the scalar alpha. * * @param[in] A - * A is a LDA-by-ka matrix, where ka is M when side = MorseLeft, + * A is a LDA-by-ka matrix, where ka is M when side = ChamLeft, * and is N otherwise. Only the uplo triangular part is referenced. * * @param[in] LDA @@ -91,123 +91,123 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zsymm_Tile - * @sa MORSE_csymm - * @sa MORSE_dsymm - * @sa MORSE_ssymm + * @sa CHAMELEON_zsymm_Tile + * @sa CHAMELEON_csymm + * @sa CHAMELEON_dsymm + * @sa CHAMELEON_ssymm * */ -int MORSE_zsymm( MORSE_enum side, MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC ) +int CHAMELEON_zsymm( cham_side_t side, cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC ) { int NB; int Am; int status; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; - MORSE_desc_t descCl, descCt; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; + CHAM_desc_t descCl, descCt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsymm", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsymm", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ( (side != MorseLeft) && (side != MorseRight) ){ - morse_error("MORSE_zsymm", "illegal value of side"); + if ( (side != ChamLeft) && (side != ChamRight) ){ + chameleon_error("CHAMELEON_zsymm", "illegal value of side"); return -1; } - if ((uplo != MorseLower) && (uplo != MorseUpper)) { - morse_error("MORSE_zsymm", "illegal value of uplo"); + if ((uplo != ChamLower) && (uplo != ChamUpper)) { + chameleon_error("CHAMELEON_zsymm", "illegal value of uplo"); return -2; } - Am = ( side == MorseLeft ) ? M : N; + Am = ( side == ChamLeft ) ? M : N; if (M < 0) { - morse_error("MORSE_zsymm", "illegal value of M"); + chameleon_error("CHAMELEON_zsymm", "illegal value of M"); return -3; } if (N < 0) { - morse_error("MORSE_zsymm", "illegal value of N"); + chameleon_error("CHAMELEON_zsymm", "illegal value of N"); return -4; } if (LDA < chameleon_max(1, Am)) { - morse_error("MORSE_zsymm", "illegal value of LDA"); + chameleon_error("CHAMELEON_zsymm", "illegal value of LDA"); return -7; } if (LDB < chameleon_max(1, M)) { - morse_error("MORSE_zsymm", "illegal value of LDB"); + chameleon_error("CHAMELEON_zsymm", "illegal value of LDB"); return -9; } if (LDC < chameleon_max(1, M)) { - morse_error("MORSE_zsymm", "illegal value of LDC"); + chameleon_error("CHAMELEON_zsymm", "illegal value of LDC"); return -12; } /* Quick return */ if (M == 0 || N == 0 || - ((alpha == (MORSE_Complex64_t)0.0) && beta == (MORSE_Complex64_t)1.0)) - return MORSE_SUCCESS; + ((alpha == (CHAMELEON_Complex64_t)0.0) && beta == (CHAMELEON_Complex64_t)1.0)) + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZSYMM, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zsymm", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZSYMM, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsymm", "chameleon_tune() failed"); return status; } /* Set MT & NT & KT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, uplo, A, NB, NB, LDA, Am, Am, Am, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInput, ChamUpperLower, B, NB, NB, LDB, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descCl, &descCt, ChamDescInout, ChamUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zsymm_Tile_Async( side, uplo, alpha, &descAt, &descBt, beta, &descCt, sequence, &request ); + CHAMELEON_zsymm_Tile_Async( side, uplo, alpha, &descAt, &descBt, beta, &descCt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, uplo, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descCl, &descCt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descCl, &descCt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); - morse_ztile2lap_cleanup( morse, &descCl, &descCt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descCl, &descCt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zsymm_Tile - Performs symmetric matrix multiplication. - * Tile equivalent of MORSE_zsymm(). + * CHAMELEON_zsymm_Tile - Performs symmetric matrix multiplication. + * Tile equivalent of CHAMELEON_zsymm(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -217,22 +217,22 @@ int MORSE_zsymm( MORSE_enum side, MORSE_enum uplo, int M, int N, * @param[in] side * Specifies whether the symmetric matrix A appears on the * left or right in the operation as follows: - * = MorseLeft: \f[ C = \alpha \times A \times B + \beta \times C \f] - * = MorseRight: \f[ C = \alpha \times B \times A + \beta \times C \f] + * = ChamLeft: \f[ C = \alpha \times A \times B + \beta \times C \f] + * = ChamRight: \f[ C = \alpha \times B \times A + \beta \times C \f] * * @param[in] uplo * Specifies whether the upper or lower triangular part of * the symmetric matrix A is to be referenced as follows: - * = MorseLower: Only the lower triangular part of the + * = ChamLower: Only the lower triangular part of the * symmetric matrix A is to be referenced. - * = MorseUpper: Only the upper triangular part of the + * = ChamUpper: Only the upper triangular part of the * symmetric matrix A is to be referenced. * * @param[in] alpha * Specifies the scalar alpha. * * @param[in] A - * A is a LDA-by-ka matrix, where ka is M when side = MorseLeft, + * A is a LDA-by-ka matrix, where ka is M when side = ChamLeft, * and is N otherwise. Only the uplo triangular part is referenced. * * @param[in] B @@ -249,52 +249,52 @@ int MORSE_zsymm( MORSE_enum side, MORSE_enum uplo, int M, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zsymm - * @sa MORSE_zsymm_Tile_Async - * @sa MORSE_csymm_Tile - * @sa MORSE_dsymm_Tile - * @sa MORSE_ssymm_Tile + * @sa CHAMELEON_zsymm + * @sa CHAMELEON_zsymm_Tile_Async + * @sa CHAMELEON_csymm_Tile + * @sa CHAMELEON_dsymm_Tile + * @sa CHAMELEON_ssymm_Tile * */ -int MORSE_zsymm_Tile( MORSE_enum side, MORSE_enum uplo, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_Complex64_t beta, MORSE_desc_t *C ) +int CHAMELEON_zsymm_Tile( cham_side_t side, cham_uplo_t uplo, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsymm_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsymm_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zsymm_Tile_Async(side, uplo, alpha, A, B, beta, C, sequence, &request ); + CHAMELEON_zsymm_Tile_Async(side, uplo, alpha, A, B, beta, C, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zsymm_Tile_Async - Performs symmetric matrix multiplication. - * Non-blocking equivalent of MORSE_zsymm_Tile(). + * CHAMELEON_zsymm_Tile_Async - Performs symmetric matrix multiplication. + * Non-blocking equivalent of CHAMELEON_zsymm_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -309,114 +309,114 @@ int MORSE_zsymm_Tile( MORSE_enum side, MORSE_enum uplo, * ******************************************************************************* * - * @sa MORSE_zsymm - * @sa MORSE_zsymm_Tile - * @sa MORSE_csymm_Tile_Async - * @sa MORSE_dsymm_Tile_Async - * @sa MORSE_ssymm_Tile_Async + * @sa CHAMELEON_zsymm + * @sa CHAMELEON_zsymm_Tile + * @sa CHAMELEON_csymm_Tile_Async + * @sa CHAMELEON_dsymm_Tile_Async + * @sa CHAMELEON_ssymm_Tile_Async * */ -int MORSE_zsymm_Tile_Async( MORSE_enum side, MORSE_enum uplo, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_Complex64_t beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zsymm_Tile_Async( cham_side_t side, cham_uplo_t uplo, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsymm_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsymm_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zsymm_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zsymm_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zsymm_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zsymm_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zsymm_Tile_Async", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsymm_Tile_Async", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zsymm_Tile_Async", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsymm_Tile_Async", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(C) != MORSE_SUCCESS) { - morse_error("MORSE_zsymm_Tile_Async", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(C) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsymm_Tile_Async", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ - if ( (side != MorseLeft) && (side != MorseRight) ){ - morse_error("MORSE_zsymm_Tile_Async", "illegal value of side"); - return morse_request_fail(sequence, request, -1); + if ( (side != ChamLeft) && (side != ChamRight) ){ + chameleon_error("CHAMELEON_zsymm_Tile_Async", "illegal value of side"); + return chameleon_request_fail(sequence, request, -1); } - if ((uplo != MorseLower) && (uplo != MorseUpper)) { - morse_error("MORSE_zsymm_Tile_Async", "illegal value of uplo"); - return morse_request_fail(sequence, request, -2); + if ((uplo != ChamLower) && (uplo != ChamUpper)) { + chameleon_error("CHAMELEON_zsymm_Tile_Async", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -2); } /* Check matrices sizes */ if ( (B->m != C->m) || (B->n != C->n) ) { - morse_error("MORSE_zsymm_Tile_Async", "B and C must have the same size"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsymm_Tile_Async", "B and C must have the same size"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (A->m != A->n) || - ( (side == MorseLeft) && (A->m != B->m ) ) || - ( (side == MorseRight) && (A->m != B->n ) ) ) { - morse_error("MORSE_zsymm_Tile_Async", "Matrix A must be square of size M or N regarding side."); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + ( (side == ChamLeft) && (A->m != B->m ) ) || + ( (side == ChamRight) && (A->m != B->n ) ) ) { + chameleon_error("CHAMELEON_zsymm_Tile_Async", "Matrix A must be square of size M or N regarding side."); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check tiles sizes */ if ( (B->mb != C->mb) || (B->nb != C->nb) ) { - morse_error("MORSE_zsymm_Tile_Async", "B and C must have the same tile sizes"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsymm_Tile_Async", "B and C must have the same tile sizes"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (A->mb != A->nb) || - ( (side == MorseLeft) && (A->mb != B->mb ) ) || - ( (side == MorseRight) && (A->mb != B->nb ) ) ) { - morse_error("MORSE_zsymm_Tile_Async", "Matrix A must be square with square tiles wich fits the reagding tile size of B and C"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + ( (side == ChamLeft) && (A->mb != B->mb ) ) || + ( (side == ChamRight) && (A->mb != B->nb ) ) ) { + chameleon_error("CHAMELEON_zsymm_Tile_Async", "Matrix A must be square with square tiles wich fits the reagding tile size of B and C"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check submatrix starting point */ /* if ( (B->i != C->i) || (B->j != C->j) ) { */ - /* morse_error("MORSE_zsymm_Tile_Async", "B and C submatrices doesn't match"); */ - /* return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); */ + /* chameleon_error("CHAMELEON_zsymm_Tile_Async", "B and C submatrices doesn't match"); */ + /* return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); */ /* } */ /* if ( (A->i != A->j) || */ - /* ( (side == MorseLeft) && (A->i != B->i ) ) || */ - /* ( (side == MorseRight) && (A->i != B->j ) ) ) { */ - /* morse_error("MORSE_zsymm_Tile_Async", "Submatrix A must start on diagnonal and match submatrices B and C."); */ - /* return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); */ + /* ( (side == ChamLeft) && (A->i != B->i ) ) || */ + /* ( (side == ChamRight) && (A->i != B->j ) ) ) { */ + /* chameleon_error("CHAMELEON_zsymm_Tile_Async", "Submatrix A must start on diagnonal and match submatrices B and C."); */ + /* return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); */ /* } */ if( (A->i != 0) || (A->j != 0) || (B->i != 0) || (B->j != 0) || (C->i != 0) || (C->j != 0) ) { - morse_error("MORSE_zhemm_Tile_Async", "Submatrices are not supported for now"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zhemm_Tile_Async", "Submatrices are not supported for now"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ if ( (C->m == 0) || (C->n == 0) || - ( (alpha == (MORSE_Complex64_t)0.0) && (beta == (MORSE_Complex64_t)1.0) ) ) + ( (alpha == (CHAMELEON_Complex64_t)0.0) && (beta == (CHAMELEON_Complex64_t)1.0) ) ) { - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } - morse_pzsymm( side, uplo, alpha, A, B, beta, C, sequence, request ); + chameleon_pzsymm( side, uplo, alpha, A, B, beta, C, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zsyr2k.c b/compute/zsyr2k.c index a841aa60ae1b41899a859ebd9602cb70c6378ae7..7b1daed5e4aa944a27a01eac51e08823c37d8996 100644 --- a/compute/zsyr2k.c +++ b/compute/zsyr2k.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,9 +26,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zsyr2k - Performs one of the symmetric rank 2k operations + * CHAMELEON_zsyr2k - Performs one of the symmetric rank 2k operations * * \f[ C = \alpha [ op( A ) \times conjg( op( B )' )] + \alpha [ op( B ) \times conjg( op( A )' )] + \beta C \f], * or @@ -45,26 +45,26 @@ ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of C is stored; - * = MorseLower: Lower triangle of C is stored. + * = ChamUpper: Upper triangle of C is stored; + * = ChamLower: Lower triangle of C is stored. * * @param[in] trans * Specifies whether the matrix A is transposed or conjugate transposed: - * = MorseNoTrans: \f[ C = \alpha [ op( A ) \times conjg( op( B )' )] + \alpha [ op( B ) \times conjg( op( A )' )] + \beta C \f] - * = MorseTrans: \f[ C = \alpha [ conjg( op( A )' ) \times op( B ) ] + \alpha [ conjg( op( B )' ) \times op( A ) ] + \beta C \f] + * = ChamNoTrans: \f[ C = \alpha [ op( A ) \times conjg( op( B )' )] + \alpha [ op( B ) \times conjg( op( A )' )] + \beta C \f] + * = ChamTrans: \f[ C = \alpha [ conjg( op( A )' ) \times op( B ) ] + \alpha [ conjg( op( B )' ) \times op( A ) ] + \beta C \f] * * @param[in] N * N specifies the order of the matrix C. N must be at least zero. * * @param[in] K - * K specifies the number of columns of the A and B matrices with trans = MorseNoTrans. - * K specifies the number of rows of the A and B matrices with trans = MorseTrans. + * K specifies the number of columns of the A and B matrices with trans = ChamNoTrans. + * K specifies the number of rows of the A and B matrices with trans = ChamTrans. * * @param[in] alpha * alpha specifies the scalar alpha. * * @param[in] A - * A is a LDA-by-ka matrix, where ka is K when trans = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is K when trans = ChamNoTrans, * and is N otherwise. * * @param[in] LDA @@ -72,7 +72,7 @@ * max( 1, N ), otherwise LDA must be at least max( 1, K ). * * @param[in] B - * B is a LDB-by-kb matrix, where kb is K when trans = MorseNoTrans, + * B is a LDB-by-kb matrix, where kb is K when trans = ChamNoTrans, * and is N otherwise. * * @param[in] LDB @@ -93,126 +93,126 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zsyr2k_Tile - * @sa MORSE_csyr2k - * @sa MORSE_dsyr2k - * @sa MORSE_ssyr2k + * @sa CHAMELEON_zsyr2k_Tile + * @sa CHAMELEON_csyr2k + * @sa CHAMELEON_dsyr2k + * @sa CHAMELEON_ssyr2k * */ -int MORSE_zsyr2k( MORSE_enum uplo, MORSE_enum trans, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC ) +int CHAMELEON_zsyr2k( cham_uplo_t uplo, cham_trans_t trans, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC ) { int NB; int Am, An; int status; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; - MORSE_desc_t descCl, descCt; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; + CHAM_desc_t descCl, descCt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsyr2k", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsyr2k", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zsyr2k", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zsyr2k", "illegal value of uplo"); return -1; } - if ((trans != MorseNoTrans) && (trans != MorseTrans)) { - morse_error("MORSE_zsyr2k", "illegal value of trans"); + if ((trans != ChamNoTrans) && (trans != ChamTrans)) { + chameleon_error("CHAMELEON_zsyr2k", "illegal value of trans"); return -2; } - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { Am = N; An = K; } else { Am = K; An = N; } if (N < 0) { - morse_error("MORSE_zsyr2k", "illegal value of N"); + chameleon_error("CHAMELEON_zsyr2k", "illegal value of N"); return -3; } if (K < 0) { - morse_error("MORSE_zsyr2k", "illegal value of K"); + chameleon_error("CHAMELEON_zsyr2k", "illegal value of K"); return -4; } if (LDA < chameleon_max(1, Am)) { - morse_error("MORSE_zsyr2k", "illegal value of LDA"); + chameleon_error("CHAMELEON_zsyr2k", "illegal value of LDA"); return -7; } if (LDB < chameleon_max(1, Am)) { - morse_error("MORSE_zsyr2k", "illegal value of LDB"); + chameleon_error("CHAMELEON_zsyr2k", "illegal value of LDB"); return -9; } if (LDC < chameleon_max(1, N)) { - morse_error("MORSE_zsyr2k", "illegal value of LDC"); + chameleon_error("CHAMELEON_zsyr2k", "illegal value of LDC"); return -12; } /* Quick return */ if (N == 0 || - ((alpha == (MORSE_Complex64_t)0.0 || K == 0.0) && beta == (MORSE_Complex64_t)1.0)) - return MORSE_SUCCESS; + ((alpha == (CHAMELEON_Complex64_t)0.0 || K == 0.0) && beta == (CHAMELEON_Complex64_t)1.0)) + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZSYRK, N, K, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zsyr2k", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZSYRK, N, K, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsyr2k", "chameleon_tune() failed"); return status; } /* Set MT & NT & KT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInput, ChamUpperLower, B, NB, NB, LDB, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descCl, &descCt, ChamDescInout, uplo, C, NB, NB, LDC, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zsyr2k_Tile_Async( uplo, trans, alpha, &descAt, &descBt, beta, &descCt, sequence, &request ); + CHAMELEON_zsyr2k_Tile_Async( uplo, trans, 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, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descCl, &descCt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); - morse_ztile2lap_cleanup( morse, &descCl, &descCt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descCl, &descCt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zsyr2k_Tile - Performs symmetric rank k update. - * Tile equivalent of MORSE_zsyr2k(). + * CHAMELEON_zsyr2k_Tile - Performs symmetric rank k update. + * Tile equivalent of CHAMELEON_zsyr2k(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -220,23 +220,23 @@ int MORSE_zsyr2k( MORSE_enum uplo, MORSE_enum trans, int N, int K, ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of C is stored; - * = MorseLower: Lower triangle of C is stored. + * = ChamUpper: Upper triangle of C is stored; + * = ChamLower: Lower triangle of C is stored. * * @param[in] trans * Specifies whether the matrix A is transposed or conjugate transposed: - * = MorseNoTrans: A is not transposed; - * = MorseTrans: A is conjugate transposed. + * = ChamNoTrans: A is not transposed; + * = ChamTrans: A is conjugate transposed. * * @param[in] alpha * alpha specifies the scalar alpha. * * @param[in] A - * A is a LDA-by-ka matrix, where ka is K when trans = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is K when trans = ChamNoTrans, * and is N otherwise. * * @param[in] B - * B is a LDB-by-kb matrix, where kb is K when trans = MorseNoTrans, + * B is a LDB-by-kb matrix, where kb is K when trans = ChamNoTrans, * and is N otherwise. * * @param[in] beta @@ -250,51 +250,51 @@ int MORSE_zsyr2k( MORSE_enum uplo, MORSE_enum trans, int N, int K, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zsyr2k_Tile - * @sa MORSE_csyr2k - * @sa MORSE_dsyr2k - * @sa MORSE_ssyr2k + * @sa CHAMELEON_zsyr2k_Tile + * @sa CHAMELEON_csyr2k + * @sa CHAMELEON_dsyr2k + * @sa CHAMELEON_ssyr2k * */ -int MORSE_zsyr2k_Tile( MORSE_enum uplo, MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_Complex64_t beta, MORSE_desc_t *C ) +int CHAMELEON_zsyr2k_Tile( cham_uplo_t uplo, cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsyr2k_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsyr2k_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zsyr2k_Tile_Async( uplo, trans, alpha, A, B, beta, C, sequence, &request ); + CHAMELEON_zsyr2k_Tile_Async( uplo, trans, alpha, A, B, beta, C, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zsyr2k_Tile_Async - Performs symmetric rank-k update. - * Non-blocking equivalent of MORSE_zsyr2k_Tile(). + * CHAMELEON_zsyr2k_Tile_Async - Performs symmetric rank-k update. + * Non-blocking equivalent of CHAMELEON_zsyr2k_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -309,67 +309,67 @@ int MORSE_zsyr2k_Tile( MORSE_enum uplo, MORSE_enum trans, * ******************************************************************************* * - * @sa MORSE_zsyr2k - * @sa MORSE_zsyr2k_Tile - * @sa MORSE_csyr2k_Tile_Async - * @sa MORSE_dsyr2k_Tile_Async - * @sa MORSE_ssyr2k_Tile_Async + * @sa CHAMELEON_zsyr2k + * @sa CHAMELEON_zsyr2k_Tile + * @sa CHAMELEON_csyr2k_Tile_Async + * @sa CHAMELEON_dsyr2k_Tile_Async + * @sa CHAMELEON_ssyr2k_Tile_Async * */ -int MORSE_zsyr2k_Tile_Async( MORSE_enum uplo, MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_Complex64_t beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zsyr2k_Tile_Async( cham_uplo_t uplo, cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; int N, K; int Am, An, Amb; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsyr2k_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsyr2k_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zsyr2k_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zsyr2k_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zsyr2k_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zsyr2k_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zsyr2k_Tile_Async", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsyr2k_Tile_Async", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zsyr2k_Tile_Async", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsyr2k_Tile_Async", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(C) != MORSE_SUCCESS) { - morse_error("MORSE_zsyr2k_Tile_Async", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(C) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsyr2k_Tile_Async", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zsyr2k", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zsyr2k", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } - if ((trans != MorseNoTrans) && (trans != MorseTrans)) { - morse_error("MORSE_zsyr2k", "illegal value of trans"); - return morse_request_fail(sequence, request, -2); + if ((trans != ChamNoTrans) && (trans != ChamTrans)) { + chameleon_error("CHAMELEON_zsyr2k", "illegal value of trans"); + return chameleon_request_fail(sequence, request, -2); } - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { Am = A->m; An = A->n; Amb = A->mb; @@ -380,20 +380,20 @@ int MORSE_zsyr2k_Tile_Async( MORSE_enum uplo, MORSE_enum trans, } if (C->mb != C->nb) { - morse_error("MORSE_zsyr2k_Tile_Async", "only square tiles for C are supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsyr2k_Tile_Async", "only square tiles for C are supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (B->mb != A->mb) || (B->nb != A->nb) || (Amb != C->mb) ){ - morse_error("MORSE_zsyr2k_Tile_Async", "tile sizes have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsyr2k_Tile_Async", "tile sizes have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (C->m != C->n) { - morse_error("MORSE_zsyr2k_Tile_Async", "only square matrix C is supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsyr2k_Tile_Async", "only square matrix C is supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (B->m != A->m) || (B->n != A->n) || (Am != C->m) ){ - morse_error("MORSE_zsyr2k_Tile_Async", "sizes of matrices have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsyr2k_Tile_Async", "sizes of matrices have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } N = C->m; @@ -401,10 +401,10 @@ int MORSE_zsyr2k_Tile_Async( MORSE_enum uplo, MORSE_enum trans, /* Quick return */ if ( N == 0 || - ((alpha == (MORSE_Complex64_t)0.0 || K == 0) && beta == (MORSE_Complex64_t)1.0)) - return MORSE_SUCCESS; + ((alpha == (CHAMELEON_Complex64_t)0.0 || K == 0) && beta == (CHAMELEON_Complex64_t)1.0)) + return CHAMELEON_SUCCESS; - morse_pzsyr2k( uplo, trans, alpha, A, B, beta, C, sequence, request ); + chameleon_pzsyr2k( uplo, trans, alpha, A, B, beta, C, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zsyrk.c b/compute/zsyrk.c index 1e62c5aef92e3a2a6dc8f86a0491660cd1ccf2e8..403f8acd7471a06d83217af71458f7af205ae275 100644 --- a/compute/zsyrk.c +++ b/compute/zsyrk.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,9 +26,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zsyrk - Performs one of the hermitian rank k operations + * CHAMELEON_zsyrk - Performs one of the hermitian rank k operations * * \f[ C = \alpha [ op( A ) \times conjg( op( A )' )] + \beta C \f], * @@ -43,13 +43,13 @@ ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of C is stored; - * = MorseLower: Lower triangle of C is stored. + * = ChamUpper: Upper triangle of C is stored; + * = ChamLower: Lower triangle of C is stored. * * @param[in] trans * Specifies whether the matrix A is transposed or conjugate transposed: - * = MorseNoTrans: A is not transposed; - * = MorseTrans : A is transposed. + * = ChamNoTrans: A is not transposed; + * = ChamTrans : A is transposed. * * @param[in] N * N specifies the order of the matrix C. N must be at least zero. @@ -61,12 +61,12 @@ * alpha specifies the scalar alpha. * * @param[in] A - * A is a LDA-by-ka matrix, where ka is K when trans = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is K when trans = ChamNoTrans, * and is N otherwise. * * @param[in] LDA * The leading dimension of the array A. LDA must be at least - * max( 1, N ) if trans == MorseNoTrans, otherwise LDA must + * max( 1, N ) if trans == ChamNoTrans, otherwise LDA must * be at least max( 1, K ). * * @param[in] beta @@ -83,116 +83,116 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zsyrk_Tile - * @sa MORSE_csyrk - * @sa MORSE_dsyrk - * @sa MORSE_ssyrk + * @sa CHAMELEON_zsyrk_Tile + * @sa CHAMELEON_csyrk + * @sa CHAMELEON_dsyrk + * @sa CHAMELEON_ssyrk * */ -int MORSE_zsyrk( MORSE_enum uplo, MORSE_enum trans, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC ) +int CHAMELEON_zsyrk( cham_uplo_t uplo, cham_trans_t trans, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC ) { int NB; int Am, An; int status; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descCl, descCt; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descCl, descCt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsyrk", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsyrk", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zsyrk", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zsyrk", "illegal value of uplo"); return -1; } - if ((trans != MorseNoTrans) && (trans != MorseTrans)) { - morse_error("MORSE_zsyrk", "illegal value of trans"); + if ((trans != ChamNoTrans) && (trans != ChamTrans)) { + chameleon_error("CHAMELEON_zsyrk", "illegal value of trans"); return -2; } - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { Am = N; An = K; } else { Am = K; An = N; } if (N < 0) { - morse_error("MORSE_zsyrk", "illegal value of N"); + chameleon_error("CHAMELEON_zsyrk", "illegal value of N"); return -3; } if (K < 0) { - morse_error("MORSE_zsyrk", "illegal value of K"); + chameleon_error("CHAMELEON_zsyrk", "illegal value of K"); return -4; } if (LDA < chameleon_max(1, Am)) { - morse_error("MORSE_zsyrk", "illegal value of LDA"); + chameleon_error("CHAMELEON_zsyrk", "illegal value of LDA"); return -7; } if (LDC < chameleon_max(1, N)) { - morse_error("MORSE_zsyrk", "illegal value of LDC"); + chameleon_error("CHAMELEON_zsyrk", "illegal value of LDC"); return -10; } /* Quick return */ if (N == 0 || - ((alpha == (MORSE_Complex64_t)0.0 || K == 0.0) && beta == (MORSE_Complex64_t)1.0)) - return MORSE_SUCCESS; + ((alpha == (CHAMELEON_Complex64_t)0.0 || K == 0.0) && beta == (CHAMELEON_Complex64_t)1.0)) + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZSYRK, N, K, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zsyrk", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZSYRK, N, K, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsyrk", "chameleon_tune() failed"); return status; } /* Set MT & NT & KT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpperLower, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descCl, &descCt, ChamDescInout, uplo, C, NB, NB, LDC, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zsyrk_Tile_Async( uplo, trans, alpha, &descAt, beta, &descCt, sequence, &request ); + CHAMELEON_zsyrk_Tile_Async( uplo, trans, alpha, &descAt, beta, &descCt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descCl, &descCt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descCl, &descCt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descCl, &descCt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descCl, &descCt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zsyrk_Tile - Performs rank k update. - * Tile equivalent of MORSE_zsyrk(). + * CHAMELEON_zsyrk_Tile - Performs rank k update. + * Tile equivalent of CHAMELEON_zsyrk(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -200,19 +200,19 @@ int MORSE_zsyrk( MORSE_enum uplo, MORSE_enum trans, int N, int K, ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of C is stored; - * = MorseLower: Lower triangle of C is stored. + * = ChamUpper: Upper triangle of C is stored; + * = ChamLower: Lower triangle of C is stored. * * @param[in] trans * Specifies whether the matrix A is transposed or conjugate transposed: - * = MorseNoTrans: A is not transposed; - * = MorseTrans: A is transposed. + * = ChamNoTrans: A is not transposed; + * = ChamTrans: A is transposed. * * @param[in] alpha * alpha specifies the scalar alpha. * * @param[in] A - * A is a LDA-by-ka matrix, where ka is K when trans = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is K when trans = ChamNoTrans, * and is N otherwise. * * @param[in] beta @@ -226,50 +226,50 @@ int MORSE_zsyrk( MORSE_enum uplo, MORSE_enum trans, int N, int K, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zsyrk_Tile - * @sa MORSE_csyrk - * @sa MORSE_dsyrk - * @sa MORSE_ssyrk + * @sa CHAMELEON_zsyrk_Tile + * @sa CHAMELEON_csyrk + * @sa CHAMELEON_dsyrk + * @sa CHAMELEON_ssyrk * */ -int MORSE_zsyrk_Tile( MORSE_enum uplo, MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, - MORSE_Complex64_t beta, MORSE_desc_t *C ) +int CHAMELEON_zsyrk_Tile( cham_uplo_t uplo, cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsyrk_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsyrk_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zsyrk_Tile_Async( uplo, trans, alpha, A, beta, C, sequence, &request ); + CHAMELEON_zsyrk_Tile_Async( uplo, trans, alpha, A, beta, C, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zsyrk_Tile_Async - Performs rank-k update. - * Non-blocking equivalent of MORSE_zsyrk_Tile(). + * CHAMELEON_zsyrk_Tile_Async - Performs rank-k update. + * Non-blocking equivalent of CHAMELEON_zsyrk_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -284,63 +284,63 @@ int MORSE_zsyrk_Tile( MORSE_enum uplo, MORSE_enum trans, * ******************************************************************************* * - * @sa MORSE_zsyrk - * @sa MORSE_zsyrk_Tile - * @sa MORSE_csyrk_Tile_Async - * @sa MORSE_dsyrk_Tile_Async - * @sa MORSE_ssyrk_Tile_Async + * @sa CHAMELEON_zsyrk + * @sa CHAMELEON_zsyrk_Tile + * @sa CHAMELEON_csyrk_Tile_Async + * @sa CHAMELEON_dsyrk_Tile_Async + * @sa CHAMELEON_ssyrk_Tile_Async * */ -int MORSE_zsyrk_Tile_Async( MORSE_enum uplo, MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, - MORSE_Complex64_t beta, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zsyrk_Tile_Async( cham_uplo_t uplo, cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, + CHAMELEON_Complex64_t beta, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; int N, K; int Am, An, Amb; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsyrk_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsyrk_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zsyrk_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zsyrk_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zsyrk_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zsyrk_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zsyrk_Tile_Async", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsyrk_Tile_Async", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(C) != MORSE_SUCCESS) { - morse_error("MORSE_zsyrk_Tile_Async", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(C) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsyrk_Tile_Async", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zsyrk", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zsyrk", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } - if ((trans != MorseNoTrans) && (trans != MorseTrans)) { - morse_error("MORSE_zsyrk", "illegal value of transA"); - return morse_request_fail(sequence, request, -2); + if ((trans != ChamNoTrans) && (trans != ChamTrans)) { + chameleon_error("CHAMELEON_zsyrk", "illegal value of transA"); + return chameleon_request_fail(sequence, request, -2); } - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { Am = A->m; An = A->n; Amb = A->mb; @@ -351,20 +351,20 @@ int MORSE_zsyrk_Tile_Async( MORSE_enum uplo, MORSE_enum trans, } if (C->mb != C->nb) { - morse_error("MORSE_zsyrk_Tile_Async", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsyrk_Tile_Async", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (Amb != C->mb) { - morse_error("MORSE_zsyrk_Tile_Async", "tile sizes have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsyrk_Tile_Async", "tile sizes have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (C->m != C->n) { - morse_error("MORSE_zsyrk_Tile_Async", "only square matrix C is supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsyrk_Tile_Async", "only square matrix C is supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if (Am != C->m) { - morse_error("MORSE_zsyrk_Tile_Async", "sizes of matrices have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsyrk_Tile_Async", "sizes of matrices have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } N = C->m; @@ -372,10 +372,10 @@ int MORSE_zsyrk_Tile_Async( MORSE_enum uplo, MORSE_enum trans, /* Quick return */ if ( N == 0 || - ((alpha == (MORSE_Complex64_t)0.0 || K == 0) && beta == (MORSE_Complex64_t)1.0)) - return MORSE_SUCCESS; + ((alpha == (CHAMELEON_Complex64_t)0.0 || K == 0) && beta == (CHAMELEON_Complex64_t)1.0)) + return CHAMELEON_SUCCESS; - morse_pzsyrk( uplo, trans, alpha, A, beta, C, sequence, request ); + chameleon_pzsyrk( uplo, trans, alpha, A, beta, C, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zsysv.c b/compute/zsysv.c index cbfbfb153c84ed0b0004c41bf6dc93047a6c6577..f82d714e3c67a20c9a7ab75c9cdaf7592f0fdf8a 100644 --- a/compute/zsysv.c +++ b/compute/zsysv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -29,13 +29,13 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zsysv - Computes the solution to a system of linear equations A * X = B, + * CHAMELEON_zsysv - Computes the solution to a system of linear equations A * X = B, * where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. * The Cholesky decomposition is used to factor A as * - * \f[ A = \{_{L\times L^T, if uplo = MorseLower}^{U^T\times U, if uplo = MorseUpper} \f] + * \f[ A = \{_{L\times L^T, if uplo = ChamLower}^{U^T\times U, if uplo = ChamUpper} \f] * * where U is an upper triangular matrix and L is a lower triangular matrix. * The factored form of A is then used to solve the system of equations A * X = B. @@ -44,8 +44,8 @@ * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The number of linear equations, i.e., the order of the matrix A. N >= 0. @@ -55,7 +55,7 @@ * * @param[in,out] A * On entry, the symmetric positive definite (or Hermitian) matrix A. - * If uplo = MorseUpper, the leading N-by-N upper triangular part of A + * If uplo = ChamUpper, the leading N-by-N upper triangular part of A * contains the upper triangular part of the matrix A, and the strictly lower triangular * part of A is not referenced. * If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower @@ -77,104 +77,104 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zsysv_Tile - * @sa MORSE_zsysv_Tile_Async - * @sa MORSE_csysv + * @sa CHAMELEON_zsysv_Tile + * @sa CHAMELEON_zsysv_Tile_Async + * @sa CHAMELEON_csysv * */ -int MORSE_zsysv( MORSE_enum uplo, int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zsysv( cham_uplo_t uplo, int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsysv", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsysv", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zsysv", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zsysv", "illegal value of uplo"); return -1; } if (N < 0) { - morse_error("MORSE_zsysv", "illegal value of N"); + chameleon_error("CHAMELEON_zsysv", "illegal value of N"); return -2; } if (NRHS < 0) { - morse_error("MORSE_zsysv", "illegal value of NRHS"); + chameleon_error("CHAMELEON_zsysv", "illegal value of NRHS"); return -3; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zsysv", "illegal value of LDA"); + chameleon_error("CHAMELEON_zsysv", "illegal value of LDA"); return -5; } if (LDB < chameleon_max(1, N)) { - morse_error("MORSE_zsysv", "illegal value of LDB"); + chameleon_error("CHAMELEON_zsysv", "illegal value of LDB"); return -7; } /* Quick return - currently NOT equivalent to LAPACK's * LAPACK does not have such check for Dsysv */ if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZSYSV, N, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zsysv", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZSYSV, N, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsysv", "chameleon_tune() failed"); return status; } /* Set NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_zsysv_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); + CHAMELEON_zsysv_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, uplo, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zsysv_Tile - Solves a symmetric + * CHAMELEON_zsysv_Tile - Solves a symmetric * system of linear equations using the Cholesky factorization. - * Tile equivalent of MORSE_zsysv(). + * Tile equivalent of CHAMELEON_zsysv(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -183,12 +183,12 @@ int MORSE_zsysv( MORSE_enum uplo, int N, int NRHS, * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in,out] A * On entry, the symmetric positive definite (or Hermitian) matrix A. - * If uplo = MorseUpper, the leading N-by-N upper triangular part of A + * If uplo = ChamUpper, the leading N-by-N upper triangular part of A * contains the upper triangular part of the matrix A, and the strictly lower triangular * part of A is not referenced. * If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower @@ -204,48 +204,48 @@ int MORSE_zsysv( MORSE_enum uplo, int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zsysv - * @sa MORSE_zsysv_Tile_Async - * @sa MORSE_csysv_Tile + * @sa CHAMELEON_zsysv + * @sa CHAMELEON_zsysv_Tile_Async + * @sa CHAMELEON_csysv_Tile * */ -int MORSE_zsysv_Tile( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B ) +int CHAMELEON_zsysv_Tile( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsysv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsysv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zsysv_Tile_Async( uplo, A, B, sequence, &request ); + CHAMELEON_zsysv_Tile_Async( uplo, A, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zsysv_Tile_Async - Solves a symmetric system of linear equations using + * CHAMELEON_zsysv_Tile_Async - Solves a symmetric system of linear equations using * the Cholesky factorization. - * Non-blocking equivalent of MORSE_zsysv_Tile(). + * Non-blocking equivalent of CHAMELEON_zsysv_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -260,66 +260,66 @@ int MORSE_zsysv_Tile( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B ) * ******************************************************************************* * - * @sa MORSE_zsysv - * @sa MORSE_zsysv_Tile - * @sa MORSE_csysv_Tile_Async + * @sa CHAMELEON_zsysv + * @sa CHAMELEON_zsysv_Tile + * @sa CHAMELEON_csysv_Tile_Async * */ -int MORSE_zsysv_Tile_Async( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zsysv_Tile_Async( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsysv_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsysv_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zsysv_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zsysv_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zsysv_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zsysv_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zsysv_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsysv_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zsysv_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsysv_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zsysv_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsysv_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zsysv_Tile", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zsysv_Tile", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } /* Quick return - currently NOT equivalent to LAPACK's * LAPACK does not have such check for Dsysv */ /* if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pzsytrf( uplo, A, sequence, request ); + chameleon_pzsytrf( uplo, A, sequence, request ); - morse_pztrsm( MorseLeft, uplo, uplo == MorseUpper ? MorseTrans : MorseNoTrans, MorseNonUnit, 1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, uplo, uplo == ChamUpper ? ChamTrans : ChamNoTrans, ChamNonUnit, 1.0, A, B, sequence, request ); - morse_pztrsm( MorseLeft, uplo, uplo == MorseUpper ? MorseNoTrans : MorseTrans, MorseNonUnit, 1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, uplo, uplo == ChamUpper ? ChamNoTrans : ChamTrans, ChamNonUnit, 1.0, A, B, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zsytrf.c b/compute/zsytrf.c index 023eb796491ab2f43ed739f3f33517a8a51c39b5..95fb044b2e6aa44364b67538bcaaa5d96f11252e 100644 --- a/compute/zsytrf.c +++ b/compute/zsytrf.c @@ -23,27 +23,27 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zsytrf - Computes the Cholesky factorization of a symmetric matrix A. + * CHAMELEON_zsytrf - Computes the Cholesky factorization of a symmetric matrix A. * The factorization has the form * - * \f[ A = \{_{L\times L^T, if uplo = MorseLower}^{U^T\times U, if uplo = MorseUpper} \f] + * \f[ A = \{_{L\times L^T, if uplo = ChamLower}^{U^T\times U, if uplo = ChamUpper} \f] * * where U is an upper triangular matrix and L is a lower triangular matrix. * ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The order of the matrix A. N >= 0. * * @param[in,out] A * On entry, the symmetric matrix A. - * If uplo = MorseUpper, the leading N-by-N upper triangular part of A + * If uplo = ChamUpper, the leading N-by-N upper triangular part of A * contains the upper triangular part of the matrix A, and the strictly lower triangular * part of A is not referenced. * If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower @@ -58,83 +58,83 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if i, the leading minor of order i of A is not positive definite, so the * factorization could not be completed, and the solution has not been computed. * ******************************************************************************* * - * @sa MORSE_zsytrf_Tile - * @sa MORSE_zsytrf_Tile_Async - * @sa MORSE_csytrf - * @sa MORSE_dsytrf - * @sa MORSE_ssytrf - * @sa MORSE_zpotrs + * @sa CHAMELEON_zsytrf_Tile + * @sa CHAMELEON_zsytrf_Tile_Async + * @sa CHAMELEON_csytrf + * @sa CHAMELEON_dsytrf + * @sa CHAMELEON_ssytrf + * @sa CHAMELEON_zpotrs * */ -int MORSE_zsytrf( MORSE_enum uplo, int N, - MORSE_Complex64_t *A, int LDA ) +int CHAMELEON_zsytrf( cham_uplo_t uplo, int N, + CHAMELEON_Complex64_t *A, int LDA ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsytrf", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsytrf", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zsytrf", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zsytrf", "illegal value of uplo"); return -1; } if (N < 0) { - morse_error("MORSE_zsytrf", "illegal value of N"); + chameleon_error("CHAMELEON_zsytrf", "illegal value of N"); return -2; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zsytrf", "illegal value of LDA"); + chameleon_error("CHAMELEON_zsytrf", "illegal value of LDA"); return -4; } /* Quick return */ if (chameleon_max(N, 0) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZSYSV, N, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zsytrf", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZSYSV, N, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsytrf", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_zsytrf_Tile_Async( uplo, &descAt, sequence, &request ); + CHAMELEON_zsytrf_Tile_Async( uplo, &descAt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } @@ -142,10 +142,10 @@ int MORSE_zsytrf( MORSE_enum uplo, int N, /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zsytrf_Tile - Computes the Cholesky factorization of a symmetric matrix. - * Tile equivalent of MORSE_zsytrf(). + * CHAMELEON_zsytrf_Tile - Computes the Cholesky factorization of a symmetric matrix. + * Tile equivalent of CHAMELEON_zsytrf(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -153,12 +153,12 @@ int MORSE_zsytrf( MORSE_enum uplo, int N, ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] A * On entry, the symmetric matrix A. - * If uplo = MorseUpper, the leading N-by-N upper triangular part of A + * If uplo = ChamUpper, the leading N-by-N upper triangular part of A * contains the upper triangular part of the matrix A, and the strictly lower triangular * part of A is not referenced. * If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower @@ -170,47 +170,47 @@ int MORSE_zsytrf( MORSE_enum uplo, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zsytrf - * @sa MORSE_zsytrf_Tile_Async - * @sa MORSE_csytrf_Tile + * @sa CHAMELEON_zsytrf + * @sa CHAMELEON_zsytrf_Tile_Async + * @sa CHAMELEON_csytrf_Tile * */ -int MORSE_zsytrf_Tile( MORSE_enum uplo, MORSE_desc_t *A ) +int CHAMELEON_zsytrf_Tile( cham_uplo_t uplo, CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsytrf_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsytrf_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zsytrf_Tile_Async( uplo, A, sequence, &request ); + CHAMELEON_zsytrf_Tile_Async( uplo, A, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zsytrf_Tile_Async - Computes the Cholesky factorization of a symmetric + * CHAMELEON_zsytrf_Tile_Async - Computes the Cholesky factorization of a symmetric * matrix. - * Non-blocking equivalent of MORSE_zsytrf_Tile(). + * Non-blocking equivalent of CHAMELEON_zsytrf_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -225,57 +225,57 @@ int MORSE_zsytrf_Tile( MORSE_enum uplo, MORSE_desc_t *A ) * ******************************************************************************* * - * @sa MORSE_zsytrf - * @sa MORSE_zsytrf_Tile - * @sa MORSE_csytrf_Tile_Async + * @sa CHAMELEON_zsytrf + * @sa CHAMELEON_zsytrf_Tile + * @sa CHAMELEON_csytrf_Tile_Async * */ -int MORSE_zsytrf_Tile_Async( MORSE_enum uplo, MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zsytrf_Tile_Async( cham_uplo_t uplo, CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsytrf_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsytrf_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zsytrf_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zsytrf_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zsytrf_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zsytrf_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zsytrf_Tile_Async", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsytrf_Tile_Async", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_zsytrf_Tile_Async", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsytrf_Tile_Async", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zsytrf_Tile_Async", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zsytrf_Tile_Async", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } /* Quick return */ /* if (chameleon_max(N, 0) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pzsytrf( uplo, A, sequence, request ); + chameleon_pzsytrf( uplo, A, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zsytrs.c b/compute/zsytrs.c index d5286a22b6656813a86bb0ddc55b72816eb4f589..26ad14b348f3d5bc7f1105598ef08468c70506bd 100644 --- a/compute/zsytrs.c +++ b/compute/zsytrs.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -29,17 +29,17 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zsytrs - Solves a system of linear equations A * X = B with a complex + * CHAMELEON_zsytrs - Solves a system of linear equations A * X = B with a complex * symmetric matrix A using the Cholesky factorization - * A = U**H*U or A = L*L**H computed by MORSE_zsytrf. + * A = U**H*U or A = L*L**H computed by CHAMELEON_zsytrf. * ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The order of the matrix A. N >= 0. @@ -49,7 +49,7 @@ * * @param[in] A * The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T, - * computed by MORSE_zsytrf. + * computed by CHAMELEON_zsytrf. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,N). @@ -64,104 +64,104 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zsytrs_Tile - * @sa MORSE_zsytrs_Tile_Async - * @sa MORSE_csytrs + * @sa CHAMELEON_zsytrs_Tile + * @sa CHAMELEON_zsytrs_Tile_Async + * @sa CHAMELEON_csytrs * */ -int MORSE_zsytrs( MORSE_enum uplo, int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_zsytrs( cham_uplo_t uplo, int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsytrs", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsytrs", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zsytrs", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zsytrs", "illegal value of uplo"); return -1; } if (N < 0) { - morse_error("MORSE_zsytrs", "illegal value of N"); + chameleon_error("CHAMELEON_zsytrs", "illegal value of N"); return -2; } if (NRHS < 0) { - morse_error("MORSE_zsytrs", "illegal value of NRHS"); + chameleon_error("CHAMELEON_zsytrs", "illegal value of NRHS"); return -3; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_zsytrs", "illegal value of LDA"); + chameleon_error("CHAMELEON_zsytrs", "illegal value of LDA"); return -5; } if (LDB < chameleon_max(1, N)) { - morse_error("MORSE_zsytrs", "illegal value of LDB"); + chameleon_error("CHAMELEON_zsytrs", "illegal value of LDB"); return -7; } /* Quick return */ if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZSYSV, N, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zsytrs", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZSYSV, N, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsytrs", "chameleon_tune() failed"); return status; } /* Set NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_zsytrs_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); + CHAMELEON_zsytrs_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, uplo, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zsytrs_Tile - Solves a system of linear equations using previously + * CHAMELEON_zsytrs_Tile - Solves a system of linear equations using previously * computed Cholesky factorization. - * Tile equivalent of MORSE_zsytrs(). + * Tile equivalent of CHAMELEON_zsytrs(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -169,12 +169,12 @@ int MORSE_zsytrs( MORSE_enum uplo, int N, int NRHS, ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] A * The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T, - * computed by MORSE_zsytrf. + * computed by CHAMELEON_zsytrf. * * @param[in,out] B * On entry, the N-by-NRHS right hand side matrix B. @@ -183,48 +183,48 @@ int MORSE_zsytrs( MORSE_enum uplo, int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zsytrs - * @sa MORSE_zsytrs_Tile_Async - * @sa MORSE_csytrs_Tile + * @sa CHAMELEON_zsytrs + * @sa CHAMELEON_zsytrs_Tile_Async + * @sa CHAMELEON_csytrs_Tile * */ -int MORSE_zsytrs_Tile( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B ) +int CHAMELEON_zsytrs_Tile( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsytrs_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsytrs_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zsytrs_Tile_Async( uplo, A, B, sequence, &request ); + CHAMELEON_zsytrs_Tile_Async( uplo, A, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_zsytrs_Tile_Async - Solves a system of linear equations using previously + * CHAMELEON_zsytrs_Tile_Async - Solves a system of linear equations using previously * computed Cholesky factorization. - * Non-blocking equivalent of MORSE_zsytrs_Tile(). + * Non-blocking equivalent of CHAMELEON_zsytrs_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -239,63 +239,63 @@ int MORSE_zsytrs_Tile( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B ) * ******************************************************************************* * - * @sa MORSE_zsytrs - * @sa MORSE_zsytrs_Tile - * @sa MORSE_csytrs_Tile_Async + * @sa CHAMELEON_zsytrs + * @sa CHAMELEON_zsytrs_Tile + * @sa CHAMELEON_csytrs_Tile_Async * */ -int MORSE_zsytrs_Tile_Async( MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zsytrs_Tile_Async( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zsytrs_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zsytrs_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zsytrs_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zsytrs_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zsytrs_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zsytrs_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zsytrs_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsytrs_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_zsytrs_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zsytrs_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_zsytrs_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zsytrs_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_zsytrs_Tile", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_zsytrs_Tile", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } /* Quick return */ /* if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pztrsm( MorseLeft, uplo, uplo == MorseUpper ? MorseTrans : MorseNoTrans, MorseNonUnit, 1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, uplo, uplo == ChamUpper ? ChamTrans : ChamNoTrans, ChamNonUnit, 1.0, A, B, sequence, request ); - morse_pztrsm( MorseLeft, uplo, uplo == MorseUpper ? MorseNoTrans : MorseTrans, MorseNonUnit, 1.0, A, B, sequence, request ); + chameleon_pztrsm( ChamLeft, uplo, uplo == ChamUpper ? ChamNoTrans : ChamTrans, ChamNonUnit, 1.0, A, B, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/ztile.c b/compute/ztile.c index 17a9e8a385293e34fcfcdccd455e413b546db73c..1a09b2bcaa0682547d79f8896dd71ee776f310bb 100644 --- a/compute/ztile.c +++ b/compute/ztile.c @@ -24,9 +24,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zLapack_to_Tile - Conversion from LAPACK layout to tile layout. + * CHAMELEON_zLapack_to_Tile - Conversion from LAPACK layout to tile layout. * ******************************************************************************* * @@ -37,84 +37,84 @@ * The leading dimension of the matrix Af77. * * @param[in,out] A - * Descriptor of the MORSE matrix in tile layout. - * If MORSE_TRANSLATION_MODE is set to MORSE_INPLACE, + * Descriptor of the CHAMELEON matrix in tile layout. + * If CHAMELEON_TRANSLATION_MODE is set to ChamInPlace, * A->mat is not used and set to Af77 when returns, else if - * MORSE_TRANSLATION_MODE is set to MORSE_OUTOFPLACE, + * CHAMELEON_TRANSLATION_MODE is set to ChamOutOfPlace, * A->mat has to be allocated before. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zTile_to_Lapack - * @sa MORSE_cLapack_to_Tile - * @sa MORSE_dLapack_to_Tile - * @sa MORSE_sLapack_to_Tile + * @sa CHAMELEON_zTile_to_Lapack + * @sa CHAMELEON_cLapack_to_Tile + * @sa CHAMELEON_dLapack_to_Tile + * @sa CHAMELEON_sLapack_to_Tile * */ -int MORSE_zLapack_to_Tile( MORSE_Complex64_t *Af77, int LDA, MORSE_desc_t *A ) +int CHAMELEON_zLapack_to_Tile( CHAMELEON_Complex64_t *Af77, int LDA, CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request; - MORSE_desc_t *B; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request; + CHAM_desc_t *B; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zLapack_to_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zLapack_to_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check descriptor for correctness */ - if (morse_desc_check( A ) != MORSE_SUCCESS) { - morse_error("MORSE_zLapack_to_Tile", "invalid descriptor"); - return MORSE_ERR_ILLEGAL_VALUE; + if (chameleon_desc_check( A ) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zLapack_to_Tile", "invalid descriptor"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } /* Create the B descriptor to handle the Lapack format matrix */ - MORSE_Desc_Create_User( &B, Af77, MorseComplexDouble, A->mb, A->nb, A->bsiz, + CHAMELEON_Desc_Create_User( &B, Af77, ChamComplexDouble, A->mb, A->nb, A->bsiz, LDA, A->n, 0, 0, A->m, A->n, 1, 1, - morse_getaddr_cm, morse_getblkldd_cm, NULL ); + chameleon_getaddr_cm, chameleon_getblkldd_cm, NULL ); /* Start the computation */ - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - morse_pzlacpy( MorseUpperLower, B, A, sequence, &request ); + chameleon_pzlacpy( ChamUpperLower, B, A, sequence, &request ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Destroy temporary B descriptor */ - MORSE_Desc_Destroy( &B ); + CHAMELEON_Desc_Destroy( &B ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_Tile_to_Lapack - Conversion from tile layout to LAPACK layout. + * CHAMELEON_Tile_to_Lapack - Conversion from tile layout to LAPACK layout. * ******************************************************************************* * * @param[in] A - * Descriptor of the MORSE matrix in tile layout. + * Descriptor of the CHAMELEON matrix in tile layout. * * @param[in,out] Af77 * LAPACK matrix. - * If MORSE_TRANSLATION_MODE is set to MORSE_INPLACE, + * If CHAMELEON_TRANSLATION_MODE is set to ChamInPlace, * Af77 has to be A->mat, else if - * MORSE_TRANSLATION_MODE is set to MORSE_OUTOFPLACE, + * CHAMELEON_TRANSLATION_MODE is set to ChamOutOfPlace, * Af77 has to be allocated before. * * @param[in] LDA @@ -123,53 +123,53 @@ int MORSE_zLapack_to_Tile( MORSE_Complex64_t *Af77, int LDA, MORSE_desc_t *A ) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zLapack_to_Tile - * @sa MORSE_cTile_to_Lapack - * @sa MORSE_dTile_to_Lapack - * @sa MORSE_sTile_to_Lapack + * @sa CHAMELEON_zLapack_to_Tile + * @sa CHAMELEON_cTile_to_Lapack + * @sa CHAMELEON_dTile_to_Lapack + * @sa CHAMELEON_sTile_to_Lapack * */ -int MORSE_zTile_to_Lapack( MORSE_desc_t *A, MORSE_Complex64_t *Af77, int LDA ) +int CHAMELEON_zTile_to_Lapack( CHAM_desc_t *A, CHAMELEON_Complex64_t *Af77, int LDA ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request; - MORSE_desc_t *B; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request; + CHAM_desc_t *B; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zTile_to_Lapack", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zTile_to_Lapack", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check descriptor for correctness */ - if (morse_desc_check( A ) != MORSE_SUCCESS) { - morse_error("MORSE_zTile_to_Lapack", "invalid descriptor"); - return MORSE_ERR_ILLEGAL_VALUE; + if (chameleon_desc_check( A ) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zTile_to_Lapack", "invalid descriptor"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } /* Create the B descriptor to handle the Lapack format matrix */ - MORSE_Desc_Create_User( &B, Af77, MorseComplexDouble, A->mb, A->nb, A->bsiz, + CHAMELEON_Desc_Create_User( &B, Af77, ChamComplexDouble, A->mb, A->nb, A->bsiz, LDA, A->n, 0, 0, A->m, A->n, 1, 1, - morse_getaddr_cm, morse_getblkldd_cm, NULL ); + chameleon_getaddr_cm, chameleon_getblkldd_cm, NULL ); /* Start the computation */ - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - morse_pzlacpy( MorseUpperLower, A, B, sequence, &request ); + chameleon_pzlacpy( ChamUpperLower, A, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); - MORSE_Desc_Destroy( &B ); + CHAMELEON_Desc_Destroy( &B ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } diff --git a/compute/ztpgqrt.c b/compute/ztpgqrt.c index d311c35ffd756c12f2445578d94524f108a614a2..a89ef3dbbf71cd80e3cee0ea6a76907b6e5bd299 100644 --- a/compute/ztpgqrt.c +++ b/compute/ztpgqrt.c @@ -23,12 +23,12 @@ /** ****************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_ztpgqrt - Generates a partial Q matrix formed with a blocked QR + * CHAMELEON_ztpgqrt - Generates a partial Q matrix formed with a blocked QR * factorization of a "triangular-pentagonal" matrix C, which is composed of an * unused triangular block and a pentagonal block V, using the compact - * representation for Q. See MORSE_ztpqrt() to generate V. + * representation for Q. See CHAMELEON_ztpqrt() to generate V. * ******************************************************************************* * @@ -51,7 +51,7 @@ * @param[in] V1 * The i-th row must contain the vector which defines the * elementary reflector H(i), for i = 1,2,...,k, as returned by - * MORSE_ztpqrt(). + * CHAMELEON_ztpqrt(). * V1 is a matrix of size K-by-K. * * @param[in] LDV1 @@ -59,12 +59,12 @@ * * @param[int] descT1 * The auxiliary factorization data generated by the call to - * MORSE_zgeqrf() on V1. + * CHAMELEON_zgeqrf() on V1. * * @param[in] V2 * The i-th row must contain the vector which defines the * elementary reflector H(i), for i = 1,2,...,k, as returned by - * MORSE_ztpqrt() in the first k rows of its array argument V2. + * CHAMELEON_ztpqrt() in the first k rows of its array argument V2. * V2 is a matrix of size M-by-K. The first M-L rows * are rectangular, and the last L rows are upper trapezoidal. * @@ -73,7 +73,7 @@ * * @param[int] descT2 * The auxiliary factorization data, generated by the call to - * MORSE_ztpqrt() on V1 and V2, and associated to V2. + * CHAMELEON_ztpqrt() on V1 and V2, and associated to V2. * * @param[in,out] Q1 * Q1 is COMPLEX*16 array, dimension (LDQ1,N) @@ -116,202 +116,202 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_ztpgqrt_Tile - * @sa MORSE_ztpgqrt_Tile_Async - * @sa MORSE_ctpgqrt - * @sa MORSE_dtpgqrt - * @sa MORSE_stpgqrt - * @sa MORSE_zgeqrs + * @sa CHAMELEON_ztpgqrt_Tile + * @sa CHAMELEON_ztpgqrt_Tile_Async + * @sa CHAMELEON_ctpgqrt + * @sa CHAMELEON_dtpgqrt + * @sa CHAMELEON_stpgqrt + * @sa CHAMELEON_zgeqrs * */ -int MORSE_ztpgqrt( int M, int N, int K, int L, - MORSE_Complex64_t *V1, int LDV1, MORSE_desc_t *descT1, - MORSE_Complex64_t *V2, int LDV2, MORSE_desc_t *descT2, - MORSE_Complex64_t *Q1, int LDQ1, - MORSE_Complex64_t *Q2, int LDQ2 ) +int CHAMELEON_ztpgqrt( int M, int N, int K, int L, + CHAMELEON_Complex64_t *V1, int LDV1, CHAM_desc_t *descT1, + CHAMELEON_Complex64_t *V2, int LDV2, CHAM_desc_t *descT2, + CHAMELEON_Complex64_t *Q1, int LDQ1, + CHAMELEON_Complex64_t *Q2, int LDQ2 ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descQ1l, descQ1t; - MORSE_desc_t descQ2l, descQ2t; - MORSE_desc_t descV1l, descV1t; - MORSE_desc_t descV2l, descV2t; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descQ1l, descQ1t; + CHAM_desc_t descQ2l, descQ2t; + CHAM_desc_t descV1l, descV1t; + CHAM_desc_t descV2l, descV2t; int minMK = chameleon_min( M, K ); - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztpgqrt", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztpgqrt", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_ztpgqrt", "illegal value of M"); + chameleon_error("CHAMELEON_ztpgqrt", "illegal value of M"); return -1; } if (N < 0) { - morse_error("MORSE_ztpgqrt", "illegal value of N"); + chameleon_error("CHAMELEON_ztpgqrt", "illegal value of N"); return -2; } if (K < 0) { - morse_error("MORSE_ztpgqrt", "illegal value of K"); + chameleon_error("CHAMELEON_ztpgqrt", "illegal value of K"); return -3; } if ((L < 0) || ((L > minMK) && (minMK > 0))) { - morse_error("MORSE_ztpgqrt", "illegal value of N"); + chameleon_error("CHAMELEON_ztpgqrt", "illegal value of N"); return -4; } if (K != N) { - morse_error("MORSE_ztpgqrt", "illegal value of K and N. K must be equal to N"); + chameleon_error("CHAMELEON_ztpgqrt", "illegal value of K and N. K must be equal to N"); return -3; } if (LDV1 < chameleon_max(1, K)) { - morse_error("MORSE_ztpgqrt", "illegal value of LDV1"); + chameleon_error("CHAMELEON_ztpgqrt", "illegal value of LDV1"); return -6; } if (LDV2 < chameleon_max(1, M)) { - morse_error("MORSE_ztpgqrt", "illegal value of LDV2"); + chameleon_error("CHAMELEON_ztpgqrt", "illegal value of LDV2"); return -9; } if (LDQ1 < chameleon_max(1, K)) { - morse_error("MORSE_ztpgqrt", "illegal value of LDQ1"); + chameleon_error("CHAMELEON_ztpgqrt", "illegal value of LDQ1"); return -11; } if (LDQ2 < chameleon_max(1, M)) { - morse_error("MORSE_ztpgqrt", "illegal value of LDQ2"); + chameleon_error("CHAMELEON_ztpgqrt", "illegal value of LDQ2"); return -13; } /* Quick return */ if (minMK == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGELS, M, K, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_ztpgqrt", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, K, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztpgqrt", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descV1l, &descV1t, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descV1l, &descV1t, ChamDescInput, ChamUpperLower, V1, NB, NB, LDV1, K, M, K, sequence, &request ); - morse_zlap2tile( morse, &descV2l, &descV2t, MorseDescInput, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descV2l, &descV2t, ChamDescInput, ChamUpperLower, V2, NB, NB, LDV2, K, M, K, sequence, &request ); - morse_zlap2tile( morse, &descQ1l, &descQ1t, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descQ1l, &descQ1t, ChamDescInout, ChamUpperLower, Q1, NB, NB, LDQ1, N, K, N, sequence, &request ); - morse_zlap2tile( morse, &descQ2l, &descQ2t, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descQ2l, &descQ2t, ChamDescInout, ChamUpperLower, Q2, NB, NB, LDQ2, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_ztpgqrt_Tile_Async( L, &descV1t, descT1, &descV2t, descT2, &descQ1t, &descQ2t, sequence, &request ); + CHAMELEON_ztpgqrt_Tile_Async( L, &descV1t, descT1, &descV2t, descT2, &descQ1t, &descQ2t, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descV1l, &descV1t, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descV2l, &descV2t, - MorseDescInput, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descQ1l, &descQ1t, - MorseDescInout, MorseUpperLower, sequence, &request ); - morse_ztile2lap( morse, &descQ2l, &descQ2t, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descT1, sequence ); - MORSE_Desc_Flush( descT2, sequence ); + chameleon_ztile2lap( chamctxt, &descV1l, &descV1t, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descV2l, &descV2t, + ChamDescInput, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descQ1l, &descQ1t, + ChamDescInout, ChamUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descQ2l, &descQ2t, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descT1, sequence ); + CHAMELEON_Desc_Flush( descT2, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descV1l, &descV1t ); - morse_ztile2lap_cleanup( morse, &descV2l, &descV2t ); - morse_ztile2lap_cleanup( morse, &descQ1l, &descQ1t ); - morse_ztile2lap_cleanup( morse, &descQ2l, &descQ2t ); + chameleon_ztile2lap_cleanup( chamctxt, &descV1l, &descV1t ); + chameleon_ztile2lap_cleanup( chamctxt, &descV2l, &descV2t ); + chameleon_ztile2lap_cleanup( chamctxt, &descQ1l, &descQ1t ); + chameleon_ztile2lap_cleanup( chamctxt, &descQ2l, &descQ2t ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_ztpgqrt_Tile - Generates a partial Q matrix formed with a blocked QR + * CHAMELEON_ztpgqrt_Tile - Generates a partial Q matrix formed with a blocked QR * factorization of a "triangular-pentagonal" matrix C, which is composed of an * unused triangular block and a pentagonal block V, using the compact - * representation for Q. See MORSE_ztpqrt() to generate V. + * representation for Q. See CHAMELEON_ztpqrt() to generate V. * ******************************************************************************* * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_ztpgqrt - * @sa MORSE_ztpgqrt_Tile_Async - * @sa MORSE_ctpgqrt_Tile - * @sa MORSE_dtpgqrt_Tile - * @sa MORSE_stpgqrt_Tile - * @sa MORSE_zgeqrs_Tile + * @sa CHAMELEON_ztpgqrt + * @sa CHAMELEON_ztpgqrt_Tile_Async + * @sa CHAMELEON_ctpgqrt_Tile + * @sa CHAMELEON_dtpgqrt_Tile + * @sa CHAMELEON_stpgqrt_Tile + * @sa CHAMELEON_zgeqrs_Tile * */ -int MORSE_ztpgqrt_Tile( int L, - MORSE_desc_t *V1, MORSE_desc_t *T1, - MORSE_desc_t *V2, MORSE_desc_t *T2, - MORSE_desc_t *Q1, MORSE_desc_t *Q2 ) +int CHAMELEON_ztpgqrt_Tile( int L, + CHAM_desc_t *V1, CHAM_desc_t *T1, + CHAM_desc_t *V2, CHAM_desc_t *T2, + CHAM_desc_t *Q1, CHAM_desc_t *Q2 ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztpgqrt_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztpgqrt_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_ztpgqrt_Tile_Async( L, V1, T1, V2, T2, Q1, Q2, sequence, &request ); + CHAMELEON_ztpgqrt_Tile_Async( L, V1, T1, V2, T2, Q1, Q2, sequence, &request ); - MORSE_Desc_Flush( V1, sequence ); - MORSE_Desc_Flush( T1, sequence ); - MORSE_Desc_Flush( V2, sequence ); - MORSE_Desc_Flush( T2, sequence ); - MORSE_Desc_Flush( Q1, sequence ); - MORSE_Desc_Flush( Q2, sequence ); + CHAMELEON_Desc_Flush( V1, sequence ); + CHAMELEON_Desc_Flush( T1, sequence ); + CHAMELEON_Desc_Flush( V2, sequence ); + CHAMELEON_Desc_Flush( T2, sequence ); + CHAMELEON_Desc_Flush( Q1, sequence ); + CHAMELEON_Desc_Flush( Q2, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_ztpgqrt_Tile_Async - Generates a partial Q matrix formed with a blocked QR + * CHAMELEON_ztpgqrt_Tile_Async - Generates a partial Q matrix formed with a blocked QR * factorization of a "triangular-pentagonal" matrix C, which is composed of an * unused triangular block and a pentagonal block V, using the compact - * representation for Q. See MORSE_ztpqrt() to generate V. + * representation for Q. See CHAMELEON_ztpqrt() to generate V. * ******************************************************************************* * @@ -324,77 +324,77 @@ int MORSE_ztpgqrt_Tile( int L, * ******************************************************************************* * - * @sa MORSE_ztpgqrt - * @sa MORSE_ztpgqrt_Tile - * @sa MORSE_ctpgqrt_Tile_Async - * @sa MORSE_dtpgqrt_Tile_Async - * @sa MORSE_stpgqrt_Tile_Async - * @sa MORSE_zgeqrs_Tile_Async + * @sa CHAMELEON_ztpgqrt + * @sa CHAMELEON_ztpgqrt_Tile + * @sa CHAMELEON_ctpgqrt_Tile_Async + * @sa CHAMELEON_dtpgqrt_Tile_Async + * @sa CHAMELEON_stpgqrt_Tile_Async + * @sa CHAMELEON_zgeqrs_Tile_Async * */ -int MORSE_ztpgqrt_Tile_Async( int L, - MORSE_desc_t *V1, MORSE_desc_t *T1, - MORSE_desc_t *V2, MORSE_desc_t *T2, - MORSE_desc_t *Q1, MORSE_desc_t *Q2, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_ztpgqrt_Tile_Async( int L, + CHAM_desc_t *V1, CHAM_desc_t *T1, + CHAM_desc_t *V2, CHAM_desc_t *T2, + CHAM_desc_t *Q1, CHAM_desc_t *Q2, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_ztpgqrt_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_ztpgqrt_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_ztpgqrt_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztpgqrt_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_ztpgqrt_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztpgqrt_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(V1) != MORSE_SUCCESS) { - morse_error("MORSE_ztpgqrt_Tile", "invalid V1 descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(V1) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztpgqrt_Tile", "invalid V1 descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(T1) != MORSE_SUCCESS) { - morse_error("MORSE_ztpgqrt_Tile", "invalid T1 descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T1) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztpgqrt_Tile", "invalid T1 descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(V2) != MORSE_SUCCESS) { - morse_error("MORSE_ztpgqrt_Tile", "invalid V2 descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(V2) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztpgqrt_Tile", "invalid V2 descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(T2) != MORSE_SUCCESS) { - morse_error("MORSE_ztpgqrt_Tile", "invalid T2 descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T2) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztpgqrt_Tile", "invalid T2 descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(Q1) != MORSE_SUCCESS) { - morse_error("MORSE_ztpgqrt_Tile", "invalid Q1 descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(Q1) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztpgqrt_Tile", "invalid Q1 descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(Q2) != MORSE_SUCCESS) { - morse_error("MORSE_ztpgqrt_Tile", "invalid Q2 descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(Q2) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztpgqrt_Tile", "invalid Q2 descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (Q1->nb != Q1->mb) { - morse_error("MORSE_ztpgqrt_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_ztpgqrt_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (L != 0) && (((Q2->m - L) % Q2->mb) != 0) ) { - morse_error("MORSE_ztpgqrt_Tile", "Triangular part must be aligned with tiles"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_ztpgqrt_Tile", "Triangular part must be aligned with tiles"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } #if defined(CHAMELEON_COPY_DIAG) { @@ -404,30 +404,31 @@ int MORSE_ztpgqrt_Tile_Async( int L, } else { minMT = V1->mt; } - morse_zdesc_alloc_diag(D, V1->mb, V1->nb, minMT*V1->mb, V1->nb, 0, 0, minMT*V1->mb, V1->nb, V1->p, V1->q); + chameleon_zdesc_alloc_diag(D, V1->mb, V1->nb, minMT*V1->mb, V1->nb, 0, 0, minMT*V1->mb, V1->nb, V1->p, V1->q); Dptr = &D; } #endif - /* if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { */ - morse_pzlaset( MorseUpperLower, 0., 1., Q1, sequence, request ); - morse_pzlaset( MorseUpperLower, 0., 0., Q2, sequence, request ); - morse_pztpgqrt( L, V1, T1, V2, T2, Q1, Q2, Dptr, sequence, request ); + /* if (chamctxt->householder == ChamFlatHouseholder) { */ + chameleon_pzlaset( ChamUpperLower, 0., 1., Q1, sequence, request ); + chameleon_pzlaset( ChamUpperLower, 0., 0., Q2, sequence, request ); + chameleon_pztpgqrt( L, V1, T1, V2, T2, Q1, Q2, Dptr, sequence, request ); /* } */ /* else { */ - /* morse_pztpgqrtrh( Q1, T, MORSE_RHBLK, sequence, request ); */ + /* chameleon_pztpgqrtrh( Q1, T, CHAMELEON_RHBLK, sequence, request ); */ /* } */ if (Dptr != NULL) { - MORSE_Desc_Flush( V1, sequence ); - MORSE_Desc_Flush( T1, sequence ); - MORSE_Desc_Flush( V2, sequence ); - MORSE_Desc_Flush( T2, sequence ); - MORSE_Desc_Flush( Q1, sequence ); - MORSE_Desc_Flush( Q2, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( V1, sequence ); + CHAMELEON_Desc_Flush( T1, sequence ); + CHAMELEON_Desc_Flush( V2, sequence ); + CHAMELEON_Desc_Flush( T2, sequence ); + CHAMELEON_Desc_Flush( Q1, sequence ); + CHAMELEON_Desc_Flush( Q2, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/ztpqrt.c b/compute/ztpqrt.c index 35426439d2104d0883e6fee2b41b5769eaf7d073..fd4fb0a1782f42e190278a5c07213f473c8255e4 100644 --- a/compute/ztpqrt.c +++ b/compute/ztpqrt.c @@ -23,9 +23,9 @@ /** ****************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_ztpqrt - Computes a blocked QR factorization of a + * CHAMELEON_ztpqrt - Computes a blocked QR factorization of a * "triangular-pentagonal" matrix C, which is composed of a triangular block A * and a pentagonal block B, using the compact representation for Q. * @@ -59,7 +59,7 @@ * The leading dimension of the array B. LDB >= max(1,M). * * @param[out] descT - * On exit, auxiliary factorization data, required by MORSE_zgeqrs to + * On exit, auxiliary factorization data, required by CHAMELEON_zgeqrs to * solve the system of equations, or by any function to apply the Q. * * @par Further Details: @@ -111,111 +111,111 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_ztpqrt_Tile - * @sa MORSE_ztpqrt_Tile_Async - * @sa MORSE_ctpqrt - * @sa MORSE_dtpqrt - * @sa MORSE_stpqrt - * @sa MORSE_zgeqrs + * @sa CHAMELEON_ztpqrt_Tile + * @sa CHAMELEON_ztpqrt_Tile_Async + * @sa CHAMELEON_ctpqrt + * @sa CHAMELEON_dtpqrt + * @sa CHAMELEON_stpqrt + * @sa CHAMELEON_zgeqrs * */ -int MORSE_ztpqrt( int M, int N, int L, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_desc_t *descT ) +int CHAMELEON_ztpqrt( int M, int N, int L, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAM_desc_t *descT ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; int minMN = chameleon_min( M, N ); - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztpqrt", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztpqrt", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_ztpqrt", "illegal value of M"); + chameleon_error("CHAMELEON_ztpqrt", "illegal value of M"); return -1; } if (N < 0) { - morse_error("MORSE_ztpqrt", "illegal value of N"); + chameleon_error("CHAMELEON_ztpqrt", "illegal value of N"); return -2; } if ((L < 0) || ((L > minMN) && (minMN > 0))) { - morse_error("MORSE_ztpqrt", "illegal value of N"); + chameleon_error("CHAMELEON_ztpqrt", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_ztpqrt", "illegal value of LDA"); + chameleon_error("CHAMELEON_ztpqrt", "illegal value of LDA"); return -5; } if (LDB < chameleon_max(1, M)) { - morse_error("MORSE_ztpqrt", "illegal value of LDB"); + chameleon_error("CHAMELEON_ztpqrt", "illegal value of LDB"); return -7; } /* Quick return */ if (minMN == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_ztpqrt", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztpqrt", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpper, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, ChamUpper, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_ztpqrt_Tile_Async( L, &descAt, &descBt, descT, sequence, &request ); + CHAMELEON_ztpqrt_Tile_Async( L, &descAt, &descBt, descT, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, MorseUpper, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, ChamUpper, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_ztpqrt_Tile - Computes the tile QR factorization of a matrix. - * Tile equivalent of MORSE_ztpqrt(). + * CHAMELEON_ztpqrt_Tile - Computes the tile QR factorization of a matrix. + * Tile equivalent of CHAMELEON_ztpqrt(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -230,57 +230,57 @@ int MORSE_ztpqrt( int M, int N, int L, * by tiles. * * @param[out] T - * On exit, auxiliary factorization data, required by MORSE_zgeqrs to solve the system + * On exit, auxiliary factorization data, required by CHAMELEON_zgeqrs to solve the system * of equations. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_ztpqrt - * @sa MORSE_ztpqrt_Tile_Async - * @sa MORSE_ctpqrt_Tile - * @sa MORSE_dtpqrt_Tile - * @sa MORSE_stpqrt_Tile - * @sa MORSE_zgeqrs_Tile + * @sa CHAMELEON_ztpqrt + * @sa CHAMELEON_ztpqrt_Tile_Async + * @sa CHAMELEON_ctpqrt_Tile + * @sa CHAMELEON_dtpqrt_Tile + * @sa CHAMELEON_stpqrt_Tile + * @sa CHAMELEON_zgeqrs_Tile * */ -int MORSE_ztpqrt_Tile( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T ) +int CHAMELEON_ztpqrt_Tile( int L, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztpqrt_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztpqrt_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_ztpqrt_Tile_Async( L, A, B, T, sequence, &request ); + CHAMELEON_ztpqrt_Tile_Async( L, A, B, T, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); - MORSE_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_ztpqrt_Tile_Async - Computes the tile QR factorization of a matrix. - * Non-blocking equivalent of MORSE_ztpqrt_Tile(). + * CHAMELEON_ztpqrt_Tile_Async - Computes the tile QR factorization of a matrix. + * Non-blocking equivalent of CHAMELEON_ztpqrt_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -295,69 +295,69 @@ int MORSE_ztpqrt_Tile( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T * ******************************************************************************* * - * @sa MORSE_ztpqrt - * @sa MORSE_ztpqrt_Tile - * @sa MORSE_ctpqrt_Tile_Async - * @sa MORSE_dtpqrt_Tile_Async - * @sa MORSE_stpqrt_Tile_Async - * @sa MORSE_zgeqrs_Tile_Async + * @sa CHAMELEON_ztpqrt + * @sa CHAMELEON_ztpqrt_Tile + * @sa CHAMELEON_ctpqrt_Tile_Async + * @sa CHAMELEON_dtpqrt_Tile_Async + * @sa CHAMELEON_stpqrt_Tile_Async + * @sa CHAMELEON_zgeqrs_Tile_Async * */ -int MORSE_ztpqrt_Tile_Async( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_ztpqrt_Tile_Async( int L, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_ztpqrt_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_ztpqrt_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_ztpqrt_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztpqrt_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_ztpqrt_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztpqrt_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_ztpqrt_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztpqrt_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_ztpqrt_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztpqrt_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_ztpqrt_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztpqrt_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_ztpqrt_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_ztpqrt_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (L != 0) && (((B->m - L) % B->mb) != 0) ) { - morse_error("MORSE_ztpqrt_Tile", "Triangular part must be aligned with tiles"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_ztpqrt_Tile", "Triangular part must be aligned with tiles"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - /* if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { */ - morse_pztpqrt( L, A, B, T, sequence, request ); + /* if (chamctxt->householder == ChamFlatHouseholder) { */ + chameleon_pztpqrt( L, A, B, T, sequence, request ); /* } */ /* else { */ - /* morse_pztpqrtrh( A, T, MORSE_RHBLK, sequence, request ); */ + /* chameleon_pztpqrtrh( A, T, CHAMELEON_RHBLK, sequence, request ); */ /* } */ - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/ztradd.c b/compute/ztradd.c index cf43736462fbfcd1fdf42cbc9be4edb0a32c44fb..a08ef1e3df91069f98f0e0338307d8939d98166a 100644 --- a/compute/ztradd.c +++ b/compute/ztradd.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2011-11-03 * @precisions normal z -> s d c @@ -24,9 +24,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_ztradd - Performs a matrix addition similarly to the pztradd() + * CHAMELEON_ztradd - Performs a matrix addition similarly to the pztradd() * function from the PBLAS library: * * \f[ C = \alpha op( A ) + \beta B \f], @@ -42,16 +42,16 @@ * * @param[in] uplo * Specifies the shape of A and B matrices: - * = MorseUpperLower: A and B are general matrices. - * = MorseUpper: op(A) and B are upper trapezoidal matrices. - * = MorseLower: op(A) and B are lower trapezoidal matrices. + * = ChamUpperLower: A and B are general matrices. + * = ChamUpper: op(A) and B are upper trapezoidal matrices. + * = ChamLower: op(A) and B are lower trapezoidal matrices. * * @param[in] trans * Specifies whether the matrix A is transposed, not transposed or * conjugate transposed: - * = MorseNoTrans: A is not transposed; - * = MorseTrans: A is transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is not transposed; + * = ChamTrans: A is transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] M * M specifies the number of rows of the matrix op( A ) and of the matrix B. M >= 0. @@ -63,12 +63,12 @@ * alpha specifies the scalar alpha * * @param[in] A - * A is a LDA-by-ka matrix, where ka is N when trans = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is N when trans = ChamNoTrans, * and is M otherwise. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,K), where K is M - * when trans = MorseNoTrans, and is N when otherwise. + * when trans = ChamNoTrans, and is N when otherwise. * * @param[in] beta * beta specifies the scalar beta @@ -82,117 +82,117 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_ztradd_Tile - * @sa MORSE_ctradd - * @sa MORSE_dtradd - * @sa MORSE_stradd + * @sa CHAMELEON_ztradd_Tile + * @sa CHAMELEON_ctradd + * @sa CHAMELEON_dtradd + * @sa CHAMELEON_stradd * */ -int MORSE_ztradd( MORSE_enum uplo, MORSE_enum trans, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_ztradd( cham_uplo_t uplo, cham_trans_t trans, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *B, int LDB ) { int NB; int Am, An; int status; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztradd", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztradd", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpperLower) && (uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_ztradd", "illegal value of uplo"); + if ((uplo != ChamUpperLower) && (uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_ztradd", "illegal value of uplo"); return -1; } - if ((trans < MorseNoTrans) || (trans > MorseConjTrans)) { - morse_error("MORSE_ztradd", "illegal value of trans"); + if ((trans < ChamNoTrans) || (trans > ChamConjTrans)) { + chameleon_error("CHAMELEON_ztradd", "illegal value of trans"); return -2; } - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { Am = M; An = N; } else { Am = N; An = M; } if (M < 0) { - morse_error("MORSE_ztradd", "illegal value of M"); + chameleon_error("CHAMELEON_ztradd", "illegal value of M"); return -3; } if (N < 0) { - morse_error("MORSE_ztradd", "illegal value of N"); + chameleon_error("CHAMELEON_ztradd", "illegal value of N"); return -4; } if (LDA < chameleon_max(1, Am)) { - morse_error("MORSE_ztradd", "illegal value of LDA"); + chameleon_error("CHAMELEON_ztradd", "illegal value of LDA"); return -7; } if (LDB < chameleon_max(1, M)) { - morse_error("MORSE_ztradd", "illegal value of LDB"); + chameleon_error("CHAMELEON_ztradd", "illegal value of LDB"); return -10; } /* Quick return */ if (M == 0 || N == 0 || - ((alpha == (MORSE_Complex64_t)0.0) && beta == (MORSE_Complex64_t)1.0)) - return MORSE_SUCCESS; + ((alpha == (CHAMELEON_Complex64_t)0.0) && beta == (CHAMELEON_Complex64_t)1.0)) + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNBSIZE */ - status = morse_tune(MORSE_FUNC_ZGEMM, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_ztradd", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGEMM, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztradd", "chameleon_tune() failed"); return status; } /* Set MT & NT & KT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, uplo, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, uplo, B, NB, NB, LDB, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_ztradd_Tile_Async( uplo, trans, alpha, &descAt, beta, &descBt, sequence, &request ); + CHAMELEON_ztradd_Tile_Async( uplo, trans, alpha, &descAt, beta, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, uplo, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_ztradd_Tile - Performs a matrix addition similarly to the pztradd() + * CHAMELEON_ztradd_Tile - Performs a matrix addition similarly to the pztradd() * function from the PBLAS library. - * Tile equivalent of MORSE_ztradd(). + * Tile equivalent of CHAMELEON_ztradd(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -201,22 +201,22 @@ int MORSE_ztradd( MORSE_enum uplo, MORSE_enum trans, int M, int N, * * @param[in] uplo * Specifies the shape of A and B matrices: - * = MorseUpperLower: A and B are general matrices. - * = MorseUpper: op(A) and B are upper trapezoidal matrices. - * = MorseLower: op(A) and B are lower trapezoidal matrices. + * = ChamUpperLower: A and B are general matrices. + * = ChamUpper: op(A) and B are upper trapezoidal matrices. + * = ChamLower: op(A) and B are lower trapezoidal matrices. * * @param[in] trans * Specifies whether the matrix A is transposed, not transposed or * conjugate transposed: - * = MorseNoTrans: A is not transposed; - * = MorseTrans: A is transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is not transposed; + * = ChamTrans: A is transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] alpha * alpha specifies the scalar alpha * * @param[in] A - * A is a LDA-by-ka matrix, where ka is N when trans = MorseNoTrans, + * A is a LDA-by-ka matrix, where ka is N when trans = ChamNoTrans, * and is M otherwise. * * @param[in] beta @@ -228,52 +228,52 @@ int MORSE_ztradd( MORSE_enum uplo, MORSE_enum trans, int M, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_ztradd - * @sa MORSE_ztradd_Tile_Async - * @sa MORSE_ctradd_Tile - * @sa MORSE_dtradd_Tile - * @sa MORSE_stradd_Tile + * @sa CHAMELEON_ztradd + * @sa CHAMELEON_ztradd_Tile_Async + * @sa CHAMELEON_ctradd_Tile + * @sa CHAMELEON_dtradd_Tile + * @sa CHAMELEON_stradd_Tile * */ -int MORSE_ztradd_Tile( MORSE_enum uplo, MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, - MORSE_Complex64_t beta, MORSE_desc_t *B ) +int CHAMELEON_ztradd_Tile( cham_uplo_t uplo, cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, + CHAMELEON_Complex64_t beta, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztradd_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztradd_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_ztradd_Tile_Async( uplo, trans, alpha, A, beta, B, sequence, &request ); + CHAMELEON_ztradd_Tile_Async( uplo, trans, alpha, A, beta, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_ztradd_Tile_Async - Performs a matrix addition similarly to the + * CHAMELEON_ztradd_Tile_Async - Performs a matrix addition similarly to the * pztradd() function from the PBLAS library. - * Non-blocking equivalent of MORSE_ztradd_Tile(). + * Non-blocking equivalent of CHAMELEON_ztradd_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -288,59 +288,59 @@ int MORSE_ztradd_Tile( MORSE_enum uplo, MORSE_enum trans, * ******************************************************************************* * - * @sa MORSE_ztradd - * @sa MORSE_ztradd_Tile - * @sa MORSE_ctradd_Tile_Async - * @sa MORSE_dtradd_Tile_Async - * @sa MORSE_stradd_Tile_Async + * @sa CHAMELEON_ztradd + * @sa CHAMELEON_ztradd_Tile + * @sa CHAMELEON_ctradd_Tile_Async + * @sa CHAMELEON_dtradd_Tile_Async + * @sa CHAMELEON_stradd_Tile_Async * */ -int MORSE_ztradd_Tile_Async( MORSE_enum uplo, MORSE_enum trans, - MORSE_Complex64_t alpha, MORSE_desc_t *A, - MORSE_Complex64_t beta, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_ztradd_Tile_Async( cham_uplo_t uplo, cham_trans_t trans, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, + CHAMELEON_Complex64_t beta, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; int M, N; int Am, An, Ai, Aj, Amb, Anb; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztradd_Tile_Async", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztradd_Tile_Async", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_ztradd_Tile_Async", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztradd_Tile_Async", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_ztradd_Tile_Async", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztradd_Tile_Async", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_ztradd_Tile_Async", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztradd_Tile_Async", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_ztradd_Tile_Async", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztradd_Tile_Async", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ - if ((trans < MorseNoTrans) || (trans > MorseConjTrans)) { - morse_error("MORSE_ztradd_Tile_Async", "illegal value of trans"); - return morse_request_fail(sequence, request, -1); + if ((trans < ChamNoTrans) || (trans > ChamConjTrans)) { + chameleon_error("CHAMELEON_ztradd_Tile_Async", "illegal value of trans"); + return chameleon_request_fail(sequence, request, -1); } - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { Am = A->m; An = A->n; Amb = A->mb; @@ -357,16 +357,16 @@ int MORSE_ztradd_Tile_Async( MORSE_enum uplo, MORSE_enum trans, } if ( (Amb != B->mb) || (Anb != B->nb) ) { - morse_error("MORSE_ztradd_Tile_Async", "tile sizes have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_ztradd_Tile_Async", "tile sizes have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (Am != B->m) || (An != B->n) ) { - morse_error("MORSE_ztradd_Tile_Async", "sizes of matrices have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_ztradd_Tile_Async", "sizes of matrices have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } if ( (Ai != B->i) || (Aj != B->j) ) { - morse_error("MORSE_ztradd_Tile_Async", "start indexes have to match"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_ztradd_Tile_Async", "start indexes have to match"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } M = B->m; @@ -374,10 +374,10 @@ int MORSE_ztradd_Tile_Async( MORSE_enum uplo, MORSE_enum trans, /* Quick return */ if (M == 0 || N == 0 || - ((alpha == (MORSE_Complex64_t)0.0) && beta == (MORSE_Complex64_t)1.0)) - return MORSE_SUCCESS; + ((alpha == (CHAMELEON_Complex64_t)0.0) && beta == (CHAMELEON_Complex64_t)1.0)) + return CHAMELEON_SUCCESS; - morse_pztradd( uplo, trans, alpha, A, beta, B, sequence, request ); + chameleon_pztradd( uplo, trans, alpha, A, beta, B, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/ztrmm.c b/compute/ztrmm.c index d1073ff69ee2dc29f91f6adce247ac46846ff278..0c800da6a93cb86683f4a7ff879cff2509f44671 100644 --- a/compute/ztrmm.c +++ b/compute/ztrmm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,32 +26,32 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_ztrmm - Computes B = alpha*op( A )*B or B = alpha*B*op( A ). + * CHAMELEON_ztrmm - Computes B = alpha*op( A )*B or B = alpha*B*op( A ). * ******************************************************************************* * * @param[in] side * Specifies whether A appears on the left or on the right of X: - * = MorseLeft: A*X = B - * = MorseRight: X*A = B + * = ChamLeft: A*X = B + * = ChamRight: X*A = B * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] transA * Specifies whether the matrix A is transposed, not transposed or conjugate transposed: - * = MorseNoTrans: A is transposed; - * = MorseTrans: A is not transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is transposed; + * = ChamTrans: A is not transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] diag * Specifies whether or not A is unit triangular: - * = MorseNonUnit: A is non unit; - * = MorseUnit: A us unit. + * = ChamNonUnit: A is non unit; + * = ChamUnit: A us unit. * * @param[in] N * The order of the matrix A. N >= 0. @@ -63,11 +63,11 @@ * alpha specifies the scalar alpha. * * @param[in] A - * The triangular matrix A. If uplo = MorseUpper, the leading N-by-N upper triangular + * The triangular matrix A. If uplo = ChamUpper, the leading N-by-N upper triangular * part of the array A contains the upper triangular matrix, and the strictly lower - * triangular part of A is not referenced. If uplo = MorseLower, the leading N-by-N + * triangular part of A is not referenced. If uplo = ChamLower, the leading N-by-N * lower triangular part of the array A contains the lower triangular matrix, and the - * strictly upper triangular part of A is not referenced. If diag = MorseUnit, the + * strictly upper triangular part of A is not referenced. If diag = ChamUnit, the * diagonal elements of A are also not referenced and are assumed to be 1. * * @param[in] LDA @@ -83,128 +83,128 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_ztrmm_Tile - * @sa MORSE_ztrmm_Tile_Async - * @sa MORSE_ctrmm - * @sa MORSE_dtrmm - * @sa MORSE_strmm + * @sa CHAMELEON_ztrmm_Tile + * @sa CHAMELEON_ztrmm_Tile_Async + * @sa CHAMELEON_ctrmm + * @sa CHAMELEON_dtrmm + * @sa CHAMELEON_strmm * */ -int MORSE_ztrmm( MORSE_enum side, MORSE_enum uplo, - MORSE_enum transA, MORSE_enum diag, - int N, int NRHS, MORSE_Complex64_t alpha, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_ztrmm( cham_side_t side, cham_uplo_t uplo, + cham_trans_t transA, cham_diag_t diag, + int N, int NRHS, CHAMELEON_Complex64_t alpha, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB ) { int NB, NA; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztrmm", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztrmm", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - if (side == MorseLeft) { + if (side == ChamLeft) { NA = N; } else { NA = NRHS; } /* Check input arguments */ - if (side != MorseLeft && side != MorseRight) { - morse_error("MORSE_ztrmm", "illegal value of side"); + if (side != ChamLeft && side != ChamRight) { + chameleon_error("CHAMELEON_ztrmm", "illegal value of side"); return -1; } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_ztrmm", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_ztrmm", "illegal value of uplo"); return -2; } - if (transA != MorseConjTrans && - transA != MorseNoTrans && - transA != MorseTrans ) + if (transA != ChamConjTrans && + transA != ChamNoTrans && + transA != ChamTrans ) { - morse_error("MORSE_ztrmm", "illegal value of transA"); + chameleon_error("CHAMELEON_ztrmm", "illegal value of transA"); return -3; } - if ((diag != MorseUnit) && (diag != MorseNonUnit)) { - morse_error("MORSE_ztrmm", "illegal value of diag"); + if ((diag != ChamUnit) && (diag != ChamNonUnit)) { + chameleon_error("CHAMELEON_ztrmm", "illegal value of diag"); return -4; } if (N < 0) { - morse_error("MORSE_ztrmm", "illegal value of N"); + chameleon_error("CHAMELEON_ztrmm", "illegal value of N"); return -5; } if (NRHS < 0) { - morse_error("MORSE_ztrmm", "illegal value of NRHS"); + chameleon_error("CHAMELEON_ztrmm", "illegal value of NRHS"); return -6; } if (LDA < chameleon_max(1, NA)) { - morse_error("MORSE_ztrmm", "illegal value of LDA"); + chameleon_error("CHAMELEON_ztrmm", "illegal value of LDA"); return -8; } if (LDB < chameleon_max(1, N)) { - morse_error("MORSE_ztrmm", "illegal value of LDB"); + chameleon_error("CHAMELEON_ztrmm", "illegal value of LDB"); return -10; } /* Quick return */ if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZPOSV, N, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_ztrmm", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZPOSV, N, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztrmm", "chameleon_tune() failed"); return status; } /* Set NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, uplo, A, NB, NB, LDA, NA, NA, NA, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_ztrmm_Tile_Async( side, uplo, transA, diag, alpha, &descAt, &descBt, sequence, &request ); + CHAMELEON_ztrmm_Tile_Async( side, uplo, transA, diag, alpha, &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, uplo, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_ztrmm_Tile - Computes triangular solve. - * Tile equivalent of MORSE_ztrmm(). + * CHAMELEON_ztrmm_Tile - Computes triangular solve. + * Tile equivalent of CHAMELEON_ztrmm(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -213,34 +213,34 @@ int MORSE_ztrmm( MORSE_enum side, MORSE_enum uplo, * * @param[in] side * Specifies whether A appears on the left or on the right of X: - * = MorseLeft: A*X = B - * = MorseRight: X*A = B + * = ChamLeft: A*X = B + * = ChamRight: X*A = B * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] transA * Specifies whether the matrix A is transposed, not transposed or conjugate transposed: - * = MorseNoTrans: A is transposed; - * = MorseTrans: A is not transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is transposed; + * = ChamTrans: A is not transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] diag * Specifies whether or not A is unit triangular: - * = MorseNonUnit: A is non unit; - * = MorseUnit: A us unit. + * = ChamNonUnit: A is non unit; + * = ChamUnit: A us unit. * * @param[in] alpha * alpha specifies the scalar alpha. * * @param[in] A - * The triangular matrix A. If uplo = MorseUpper, the leading N-by-N upper triangular + * The triangular matrix A. If uplo = ChamUpper, the leading N-by-N upper triangular * part of the array A contains the upper triangular matrix, and the strictly lower - * triangular part of A is not referenced. If uplo = MorseLower, the leading N-by-N + * triangular part of A is not referenced. If uplo = ChamLower, the leading N-by-N * lower triangular part of the array A contains the lower triangular matrix, and the - * strictly upper triangular part of A is not referenced. If diag = MorseUnit, the + * strictly upper triangular part of A is not referenced. If diag = ChamUnit, the * diagonal elements of A are also not referenced and are assumed to be 1. * * @param[in,out] B @@ -250,51 +250,51 @@ int MORSE_ztrmm( MORSE_enum side, MORSE_enum uplo, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_ztrmm - * @sa MORSE_ztrmm_Tile_Async - * @sa MORSE_ctrmm_Tile - * @sa MORSE_dtrmm_Tile - * @sa MORSE_strmm_Tile + * @sa CHAMELEON_ztrmm + * @sa CHAMELEON_ztrmm_Tile_Async + * @sa CHAMELEON_ctrmm_Tile + * @sa CHAMELEON_dtrmm_Tile + * @sa CHAMELEON_strmm_Tile * */ -int MORSE_ztrmm_Tile( MORSE_enum side, MORSE_enum uplo, - MORSE_enum transA, MORSE_enum diag, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B ) +int CHAMELEON_ztrmm_Tile( cham_side_t side, cham_uplo_t uplo, + cham_trans_t transA, cham_diag_t diag, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztrmm_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztrmm_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_ztrmm_Tile_Async(side, uplo, transA, diag, alpha, A, B, sequence, &request ); + CHAMELEON_ztrmm_Tile_Async(side, uplo, transA, diag, alpha, A, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_ztrmm_Tile_Async - Performs triangular matrix multiplication. - * Non-blocking equivalent of MORSE_ztrmm_Tile(). + * CHAMELEON_ztrmm_Tile_Async - Performs triangular matrix multiplication. + * Non-blocking equivalent of CHAMELEON_ztrmm_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -309,74 +309,74 @@ int MORSE_ztrmm_Tile( MORSE_enum side, MORSE_enum uplo, * ******************************************************************************* * - * @sa MORSE_ztrmm - * @sa MORSE_ztrmm_Tile - * @sa MORSE_ctrmm_Tile_Async - * @sa MORSE_dtrmm_Tile_Async - * @sa MORSE_strmm_Tile_Async + * @sa CHAMELEON_ztrmm + * @sa CHAMELEON_ztrmm_Tile + * @sa CHAMELEON_ctrmm_Tile_Async + * @sa CHAMELEON_dtrmm_Tile_Async + * @sa CHAMELEON_strmm_Tile_Async * */ -int MORSE_ztrmm_Tile_Async( MORSE_enum side, MORSE_enum uplo, - MORSE_enum transA, MORSE_enum diag, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_ztrmm_Tile_Async( cham_side_t side, cham_uplo_t uplo, + cham_trans_t transA, cham_diag_t diag, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztrmm_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztrmm_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_ztrmm_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztrmm_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_ztrmm_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztrmm_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_ztrmm_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztrmm_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_ztrmm_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztrmm_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_ztrmm_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_ztrmm_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (side != MorseLeft && side != MorseRight) { - morse_error("MORSE_ztrmm_Tile", "illegal value of side"); - return morse_request_fail(sequence, request, -1); + if (side != ChamLeft && side != ChamRight) { + chameleon_error("CHAMELEON_ztrmm_Tile", "illegal value of side"); + return chameleon_request_fail(sequence, request, -1); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_ztrmm_Tile", "illegal value of uplo"); - return morse_request_fail(sequence, request, -2); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_ztrmm_Tile", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -2); } - if ((transA < MorseNoTrans) || (transA > MorseConjTrans)) { - morse_error("MORSE_ztrmm_Tile", "illegal value of transA"); - return morse_request_fail(sequence, request, -3); + if ((transA < ChamNoTrans) || (transA > ChamConjTrans)) { + chameleon_error("CHAMELEON_ztrmm_Tile", "illegal value of transA"); + return chameleon_request_fail(sequence, request, -3); } - if ((diag != MorseUnit) && (diag != MorseNonUnit)) { - morse_error("MORSE_ztrmm_Tile", "illegal value of diag"); - return morse_request_fail(sequence, request, -4); + if ((diag != ChamUnit) && (diag != ChamNonUnit)) { + chameleon_error("CHAMELEON_ztrmm_Tile", "illegal value of diag"); + return chameleon_request_fail(sequence, request, -4); } /* Quick return */ - morse_pztrmm( side, uplo, transA, diag, alpha, A, B, sequence, request ); + chameleon_pztrmm( side, uplo, transA, diag, alpha, A, B, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/ztrsm.c b/compute/ztrsm.c index b403ab24baff8c05ec7b615e03023c12a345c4aa..770713b01fac00b923891c07b76cb0931be98012 100644 --- a/compute/ztrsm.c +++ b/compute/ztrsm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,32 +27,32 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_ztrsm - Computes triangular solve A*X = B or X*A = B. + * CHAMELEON_ztrsm - Computes triangular solve A*X = B or X*A = B. * ******************************************************************************* * * @param[in] side * Specifies whether A appears on the left or on the right of X: - * = MorseLeft: A*X = B - * = MorseRight: X*A = B + * = ChamLeft: A*X = B + * = ChamRight: X*A = B * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] transA * Specifies whether the matrix A is transposed, not transposed or conjugate transposed: - * = MorseNoTrans: A is transposed; - * = MorseTrans: A is not transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is transposed; + * = ChamTrans: A is not transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] diag * Specifies whether or not A is unit triangular: - * = MorseNonUnit: A is non unit; - * = MorseUnit: A us unit. + * = ChamNonUnit: A is non unit; + * = ChamUnit: A us unit. * * @param[in] N * The order of the matrix A. N >= 0. @@ -64,11 +64,11 @@ * alpha specifies the scalar alpha. * * @param[in] A - * The triangular matrix A. If uplo = MorseUpper, the leading N-by-N upper triangular + * The triangular matrix A. If uplo = ChamUpper, the leading N-by-N upper triangular * part of the array A contains the upper triangular matrix, and the strictly lower - * triangular part of A is not referenced. If uplo = MorseLower, the leading N-by-N + * triangular part of A is not referenced. If uplo = ChamLower, the leading N-by-N * lower triangular part of the array A contains the lower triangular matrix, and the - * strictly upper triangular part of A is not referenced. If diag = MorseUnit, the + * strictly upper triangular part of A is not referenced. If diag = ChamUnit, the * diagonal elements of A are also not referenced and are assumed to be 1. * * @param[in] LDA @@ -84,125 +84,125 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_ztrsm_Tile - * @sa MORSE_ztrsm_Tile_Async - * @sa MORSE_ctrsm - * @sa MORSE_dtrsm - * @sa MORSE_strsm + * @sa CHAMELEON_ztrsm_Tile + * @sa CHAMELEON_ztrsm_Tile_Async + * @sa CHAMELEON_ctrsm + * @sa CHAMELEON_dtrsm + * @sa CHAMELEON_strsm * */ -int MORSE_ztrsm( MORSE_enum side, MORSE_enum uplo, - MORSE_enum transA, MORSE_enum diag, - int N, int NRHS, MORSE_Complex64_t alpha, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_ztrsm( cham_side_t side, cham_uplo_t uplo, + cham_trans_t transA, cham_diag_t diag, + int N, int NRHS, CHAMELEON_Complex64_t alpha, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB ) { int NB, NA; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztrsm", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztrsm", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - if (side == MorseLeft) { + if (side == ChamLeft) { NA = N; } else { NA = NRHS; } /* Check input arguments */ - if (side != MorseLeft && side != MorseRight) { - morse_error("MORSE_ztrsm", "illegal value of side"); + if (side != ChamLeft && side != ChamRight) { + chameleon_error("CHAMELEON_ztrsm", "illegal value of side"); return -1; } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_ztrsm", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_ztrsm", "illegal value of uplo"); return -2; } - if (((transA < MorseNoTrans) || (transA > MorseConjTrans)) ) { - morse_error("MORSE_ztrsm", "illegal value of transA"); + if (((transA < ChamNoTrans) || (transA > ChamConjTrans)) ) { + chameleon_error("CHAMELEON_ztrsm", "illegal value of transA"); return -3; } - if ((diag != MorseUnit) && (diag != MorseNonUnit)) { - morse_error("MORSE_ztrsm", "illegal value of diag"); + if ((diag != ChamUnit) && (diag != ChamNonUnit)) { + chameleon_error("CHAMELEON_ztrsm", "illegal value of diag"); return -4; } if (N < 0) { - morse_error("MORSE_ztrsm", "illegal value of N"); + chameleon_error("CHAMELEON_ztrsm", "illegal value of N"); return -5; } if (NRHS < 0) { - morse_error("MORSE_ztrsm", "illegal value of NRHS"); + chameleon_error("CHAMELEON_ztrsm", "illegal value of NRHS"); return -6; } if (LDA < chameleon_max(1, NA)) { - morse_error("MORSE_ztrsm", "illegal value of LDA"); + chameleon_error("CHAMELEON_ztrsm", "illegal value of LDA"); return -8; } if (LDB < chameleon_max(1, N)) { - morse_error("MORSE_ztrsm", "illegal value of LDB"); + chameleon_error("CHAMELEON_ztrsm", "illegal value of LDB"); return -10; } /* Quick return */ if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZPOSV, N, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_ztrsm", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZPOSV, N, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztrsm", "chameleon_tune() failed"); return status; } /* Set NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, uplo, A, NB, NB, LDA, NA, NA, NA, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_ztrsm_Tile_Async( side, uplo, transA, diag, alpha, &descAt, &descBt, sequence, &request ); + CHAMELEON_ztrsm_Tile_Async( side, uplo, transA, diag, alpha, &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, uplo, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_ztrsm_Tile - Computes triangular solve. - * Tile equivalent of MORSE_ztrsm(). + * CHAMELEON_ztrsm_Tile - Computes triangular solve. + * Tile equivalent of CHAMELEON_ztrsm(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -211,34 +211,34 @@ int MORSE_ztrsm( MORSE_enum side, MORSE_enum uplo, * * @param[in] side * Specifies whether A appears on the left or on the right of X: - * = MorseLeft: A*X = B - * = MorseRight: X*A = B + * = ChamLeft: A*X = B + * = ChamRight: X*A = B * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] transA * Specifies whether the matrix A is transposed, not transposed or conjugate transposed: - * = MorseNoTrans: A is transposed; - * = MorseTrans: A is not transposed; - * = MorseConjTrans: A is conjugate transposed. + * = ChamNoTrans: A is transposed; + * = ChamTrans: A is not transposed; + * = ChamConjTrans: A is conjugate transposed. * * @param[in] diag * Specifies whether or not A is unit triangular: - * = MorseNonUnit: A is non unit; - * = MorseUnit: A us unit. + * = ChamNonUnit: A is non unit; + * = ChamUnit: A us unit. * * @param[in] alpha * alpha specifies the scalar alpha. * * @param[in] A - * The triangular matrix A. If uplo = MorseUpper, the leading N-by-N upper triangular + * The triangular matrix A. If uplo = ChamUpper, the leading N-by-N upper triangular * part of the array A contains the upper triangular matrix, and the strictly lower - * triangular part of A is not referenced. If uplo = MorseLower, the leading N-by-N + * triangular part of A is not referenced. If uplo = ChamLower, the leading N-by-N * lower triangular part of the array A contains the lower triangular matrix, and the - * strictly upper triangular part of A is not referenced. If diag = MorseUnit, the + * strictly upper triangular part of A is not referenced. If diag = ChamUnit, the * diagonal elements of A are also not referenced and are assumed to be 1. * * @param[in,out] B @@ -248,51 +248,51 @@ int MORSE_ztrsm( MORSE_enum side, MORSE_enum uplo, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_ztrsm - * @sa MORSE_ztrsm_Tile_Async - * @sa MORSE_ctrsm_Tile - * @sa MORSE_dtrsm_Tile - * @sa MORSE_strsm_Tile + * @sa CHAMELEON_ztrsm + * @sa CHAMELEON_ztrsm_Tile_Async + * @sa CHAMELEON_ctrsm_Tile + * @sa CHAMELEON_dtrsm_Tile + * @sa CHAMELEON_strsm_Tile * */ -int MORSE_ztrsm_Tile( MORSE_enum side, MORSE_enum uplo, - MORSE_enum transA, MORSE_enum diag, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B ) +int CHAMELEON_ztrsm_Tile( cham_side_t side, cham_uplo_t uplo, + cham_trans_t transA, cham_diag_t diag, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztrsm_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztrsm_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_ztrsm_Tile_Async(side, uplo, transA, diag, alpha, A, B, sequence, &request ); + CHAMELEON_ztrsm_Tile_Async(side, uplo, transA, diag, alpha, A, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_ztrsm_Tile_Async - Computes triangular solve. - * Non-blocking equivalent of MORSE_ztrsm_Tile(). + * CHAMELEON_ztrsm_Tile_Async - Computes triangular solve. + * Non-blocking equivalent of CHAMELEON_ztrsm_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -307,74 +307,74 @@ int MORSE_ztrsm_Tile( MORSE_enum side, MORSE_enum uplo, * ******************************************************************************* * - * @sa MORSE_ztrsm - * @sa MORSE_ztrsm_Tile - * @sa MORSE_ctrsm_Tile_Async - * @sa MORSE_dtrsm_Tile_Async - * @sa MORSE_strsm_Tile_Async + * @sa CHAMELEON_ztrsm + * @sa CHAMELEON_ztrsm_Tile + * @sa CHAMELEON_ctrsm_Tile_Async + * @sa CHAMELEON_dtrsm_Tile_Async + * @sa CHAMELEON_strsm_Tile_Async * */ -int MORSE_ztrsm_Tile_Async( MORSE_enum side, MORSE_enum uplo, - MORSE_enum transA, MORSE_enum diag, - MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_ztrsm_Tile_Async( cham_side_t side, cham_uplo_t uplo, + cham_trans_t transA, cham_diag_t diag, + CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztrsm_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztrsm_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_ztrsm_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztrsm_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_ztrsm_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztrsm_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_ztrsm_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztrsm_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_ztrsm_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztrsm_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_ztrsm_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_ztrsm_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (side != MorseLeft && side != MorseRight) { - morse_error("MORSE_ztrsm_Tile", "illegal value of side"); - return morse_request_fail(sequence, request, -1); + if (side != ChamLeft && side != ChamRight) { + chameleon_error("CHAMELEON_ztrsm_Tile", "illegal value of side"); + return chameleon_request_fail(sequence, request, -1); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_ztrsm_Tile", "illegal value of uplo"); - return morse_request_fail(sequence, request, -2); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_ztrsm_Tile", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -2); } - if ((transA < MorseNoTrans) || (transA > MorseConjTrans)) { - morse_error("MORSE_ztrsm_Tile", "illegal value of transA"); - return morse_request_fail(sequence, request, -3); + if ((transA < ChamNoTrans) || (transA > ChamConjTrans)) { + chameleon_error("CHAMELEON_ztrsm_Tile", "illegal value of transA"); + return chameleon_request_fail(sequence, request, -3); } - if ((diag != MorseUnit) && (diag != MorseNonUnit)) { - morse_error("MORSE_ztrsm_Tile", "illegal value of diag"); - return morse_request_fail(sequence, request, -4); + if ((diag != ChamUnit) && (diag != ChamNonUnit)) { + chameleon_error("CHAMELEON_ztrsm_Tile", "illegal value of diag"); + return chameleon_request_fail(sequence, request, -4); } /* Quick return */ - morse_pztrsm( side, uplo, transA, diag, alpha, A, B, sequence, request ); + chameleon_pztrsm( side, uplo, transA, diag, alpha, A, B, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/ztrsmpl.c b/compute/ztrsmpl.c index b29f94acdd1d696d8351e6d06d074b1b86e9db1a..50d2c556dec2c6294befcf913fb35016cbcc010c 100644 --- a/compute/ztrsmpl.c +++ b/compute/ztrsmpl.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,9 +27,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_ztrsmpl - Performs the forward substitution step of solving a system of linear equations + * CHAMELEON_ztrsmpl - Performs the forward substitution step of solving a system of linear equations * after the tile LU factorization of the matrix. * ******************************************************************************* @@ -41,16 +41,16 @@ * The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. * * @param[in] A - * The tile factor L from the factorization, computed by MORSE_zgetrf_incpiv. + * The tile factor L from the factorization, computed by CHAMELEON_zgetrf_incpiv. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,N). * * @param[in] descL - * Auxiliary factorization data, related to the tile L factor, computed by MORSE_zgetrf_incpiv. + * Auxiliary factorization data, related to the tile L factor, computed by CHAMELEON_zgetrf_incpiv. * * @param[in] IPIV - * The pivot indices from MORSE_zgetrf_incpiv (not equivalent to LAPACK). + * The pivot indices from CHAMELEON_zgetrf_incpiv (not equivalent to LAPACK). * * @param[in,out] B * On entry, the N-by-NRHS right hand side matrix B. @@ -62,116 +62,116 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_ztrsmpl_Tile - * @sa MORSE_ztrsmpl_Tile_Async - * @sa MORSE_ctrsmpl - * @sa MORSE_dtrsmpl - * @sa MORSE_strsmpl - * @sa MORSE_zgetrf_incpiv + * @sa CHAMELEON_ztrsmpl_Tile + * @sa CHAMELEON_ztrsmpl_Tile_Async + * @sa CHAMELEON_ctrsmpl + * @sa CHAMELEON_dtrsmpl + * @sa CHAMELEON_strsmpl + * @sa CHAMELEON_zgetrf_incpiv * */ -int MORSE_ztrsmpl( int N, int NRHS, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descL, int *IPIV, - MORSE_Complex64_t *B, int LDB ) +int CHAMELEON_ztrsmpl( int N, int NRHS, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descL, int *IPIV, + CHAMELEON_Complex64_t *B, int LDB ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descBl, descBt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descBl, descBt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztrsmpl", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztrsmpl", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (N < 0) { - morse_error("MORSE_ztrsmpl", "illegal value of N"); + chameleon_error("CHAMELEON_ztrsmpl", "illegal value of N"); return -1; } if (NRHS < 0) { - morse_error("MORSE_ztrsmpl", "illegal value of NRHS"); + chameleon_error("CHAMELEON_ztrsmpl", "illegal value of NRHS"); return -2; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_ztrsmpl", "illegal value of LDA"); + chameleon_error("CHAMELEON_ztrsmpl", "illegal value of LDA"); return -4; } if (LDB < chameleon_max(1, N)) { - morse_error("MORSE_ztrsmpl", "illegal value of LDB"); + chameleon_error("CHAMELEON_ztrsmpl", "illegal value of LDB"); return -8; } /* Quick return */ if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGESV, N, N, NRHS); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_ztrsmpl", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGESV, N, N, NRHS); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztrsmpl", "chameleon_tune() failed"); return status; } /* Set Mt, NT & NTRHS */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamLower, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descBl, &descBt, ChamDescInout, ChamUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ - MORSE_ztrsmpl_Tile_Async( &descAt, descL, IPIV, &descBt, sequence, &request ); + CHAMELEON_ztrsmpl_Tile_Async( &descAt, descL, IPIV, &descBt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseLower, sequence, &request ); - morse_ztile2lap( morse, &descBl, &descBt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descL, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descBl, &descBt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descL, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descBl, &descBt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_ztrsmpl_Tile - Performs the forward substitution step of solving a system of linear equations + * CHAMELEON_ztrsmpl_Tile - Performs the forward substitution step of solving a system of linear equations * after the tile LU factorization of the matrix. * All matrices are passed through descriptors. All dimensions are taken from the descriptors. * ******************************************************************************* * * @param[in] A - * The tile factor L from the factorization, computed by MORSE_zgetrf_incpiv. + * The tile factor L from the factorization, computed by CHAMELEON_zgetrf_incpiv. * * @param[in] L - * Auxiliary factorization data, related to the tile L factor, computed by MORSE_zgetrf_incpiv. + * Auxiliary factorization data, related to the tile L factor, computed by CHAMELEON_zgetrf_incpiv. * * @param[in] IPIV - * The pivot indices from MORSE_zgetrf_incpiv (not equivalent to LAPACK). + * The pivot indices from CHAMELEON_zgetrf_incpiv (not equivalent to LAPACK). * * @param[in,out] B * On entry, the N-by-NRHS right hand side matrix B. @@ -180,52 +180,52 @@ int MORSE_ztrsmpl( int N, int NRHS, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_ztrsmpl - * @sa MORSE_ztrsmpl_Tile_Async - * @sa MORSE_ctrsmpl_Tile - * @sa MORSE_dtrsmpl_Tile - * @sa MORSE_strsmpl_Tile - * @sa MORSE_zgetrf_incpiv_Tile + * @sa CHAMELEON_ztrsmpl + * @sa CHAMELEON_ztrsmpl_Tile_Async + * @sa CHAMELEON_ctrsmpl_Tile + * @sa CHAMELEON_dtrsmpl_Tile + * @sa CHAMELEON_strsmpl_Tile + * @sa CHAMELEON_zgetrf_incpiv_Tile * */ -int MORSE_ztrsmpl_Tile( MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B ) +int CHAMELEON_ztrsmpl_Tile( CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztrsmpl_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztrsmpl_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_ztrsmpl_Tile_Async( A, L, IPIV, B, sequence, &request ); + CHAMELEON_ztrsmpl_Tile_Async( A, L, IPIV, B, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( L, sequence ); - MORSE_Desc_Flush( B, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( L, sequence ); + CHAMELEON_Desc_Flush( B, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_ztrsmpl_Tile - Performs the forward substitution step of solving + * CHAMELEON_ztrsmpl_Tile - Performs the forward substitution step of solving * a system of linear equations after the tile LU factorization of the matrix. - * Non-blocking equivalent of MORSE_ztrsmpl_Tile(). + * Non-blocking equivalent of CHAMELEON_ztrsmpl_Tile(). * Returns control to the user thread before worker threads finish the computation * to allow for pipelined execution of diferent routines. * @@ -240,64 +240,64 @@ int MORSE_ztrsmpl_Tile( MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_ * ******************************************************************************* * - * @sa MORSE_ztrsmpl - * @sa MORSE_ztrsmpl_Tile - * @sa MORSE_ctrsmpl_Tile_Async - * @sa MORSE_dtrsmpl_Tile_Async - * @sa MORSE_strsmpl_Tile_Async - * @sa MORSE_zgetrf_incpiv_Tile_Async + * @sa CHAMELEON_ztrsmpl + * @sa CHAMELEON_ztrsmpl_Tile + * @sa CHAMELEON_ctrsmpl_Tile_Async + * @sa CHAMELEON_dtrsmpl_Tile_Async + * @sa CHAMELEON_strsmpl_Tile_Async + * @sa CHAMELEON_zgetrf_incpiv_Tile_Async * */ -int MORSE_ztrsmpl_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_ztrsmpl_Tile_Async( CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztrsmpl_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztrsmpl_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_ztrsmpl_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztrsmpl_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_ztrsmpl_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztrsmpl_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_ztrsmpl_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztrsmpl_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(L) != MORSE_SUCCESS) { - morse_error("MORSE_ztrsmpl_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(L) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztrsmpl_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(B) != MORSE_SUCCESS) { - morse_error("MORSE_ztrsmpl_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(B) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztrsmpl_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || B->nb != B->mb) { - morse_error("MORSE_ztrsmpl_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_ztrsmpl_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (chameleon_min(N, NRHS) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pztrsmpl( A, B, L, IPIV, sequence, request ); + chameleon_pztrsmpl( A, B, L, IPIV, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/ztrtri.c b/compute/ztrtri.c index 0deff2a58259882f715b538fab6e154dd3fecbc5..9cc1dff61b851fef00101eb18ce1e1eb1cff1afe 100644 --- a/compute/ztrtri.c +++ b/compute/ztrtri.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,20 +26,20 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_ztrtri - Computes the inverse of a complex upper or lower + * CHAMELEON_ztrtri - Computes the inverse of a complex upper or lower * triangular matrix A. * ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] diag - * = MorseNonUnit: A is non-unit triangular; - * = MorseUnit: A is unit triangular. + * = ChamNonUnit: A is non-unit triangular; + * = ChamUnit: A is unit triangular. * * @param[in] N * The order of the matrix A. N >= 0. @@ -62,98 +62,98 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * \retval >0 if i, A(i,i) is exactly zero. The triangular * matrix is singular and its inverse can not be computed. * ******************************************************************************* * - * @sa MORSE_ztrtri_Tile - * @sa MORSE_ztrtri_Tile_Async - * @sa MORSE_ctrtri - * @sa MORSE_dtrtri - * @sa MORSE_strtri - * @sa MORSE_zpotri + * @sa CHAMELEON_ztrtri_Tile + * @sa CHAMELEON_ztrtri_Tile_Async + * @sa CHAMELEON_ctrtri + * @sa CHAMELEON_dtrtri + * @sa CHAMELEON_strtri + * @sa CHAMELEON_zpotri * */ -int MORSE_ztrtri( MORSE_enum uplo, MORSE_enum diag, int N, - MORSE_Complex64_t *A, int LDA ) +int CHAMELEON_ztrtri( cham_uplo_t uplo, cham_diag_t diag, int N, + CHAMELEON_Complex64_t *A, int LDA ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztrtri", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztrtri", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_ztrtri", "illegal value of uplo"); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_ztrtri", "illegal value of uplo"); return -1; } - if ((diag != MorseUnit) && (diag != MorseNonUnit)) { - morse_error("MORSE_ztrtri", "illegal value of diag"); + if ((diag != ChamUnit) && (diag != ChamNonUnit)) { + chameleon_error("CHAMELEON_ztrtri", "illegal value of diag"); return -2; } if (N < 0) { - morse_error("MORSE_ztrtri", "illegal value of N"); + chameleon_error("CHAMELEON_ztrtri", "illegal value of N"); return -3; } if (LDA < chameleon_max(1, N)) { - morse_error("MORSE_ztrtri", "illegal value of LDA"); + chameleon_error("CHAMELEON_ztrtri", "illegal value of LDA"); return -5; } /* Quick return */ if (chameleon_max(N, 0) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZPOSV, N, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_ztrtri", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZPOSV, N, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztrtri", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ - MORSE_ztrtri_Tile_Async( uplo, diag, &descAt, sequence, &request ); + CHAMELEON_ztrtri_Tile_Async( uplo, diag, &descAt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInout, uplo, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInout, uplo, sequence, &request ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_ztrtri_Tile - Computes the inverse of a complex upper or + * CHAMELEON_ztrtri_Tile - Computes the inverse of a complex upper or * lower triangular matrix A. - * Tile equivalent of MORSE_ztrtri(). + * Tile equivalent of CHAMELEON_ztrtri(). * Operates on matrices stored by tiles. * All matrices are passed through descriptors. * All dimensions are taken from the descriptors. @@ -161,12 +161,12 @@ int MORSE_ztrtri( MORSE_enum uplo, MORSE_enum diag, int N, ******************************************************************************* * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] diag - * = MorseNonUnit: A is non-unit triangular; - * = MorseUnit: A us unit triangular. + * = ChamNonUnit: A is non-unit triangular; + * = ChamUnit: A us unit triangular. * * @param[in] A * On entry, the triangular matrix A. If UPLO = 'U', the @@ -183,52 +183,52 @@ int MORSE_ztrtri( MORSE_enum uplo, MORSE_enum diag, int N, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval >0 if i, A(i,i) is exactly zero. The triangular * matrix is singular and its inverse can not be computed. * ******************************************************************************* * - * @sa MORSE_ztrtri - * @sa MORSE_ztrtri_Tile_Async - * @sa MORSE_ctrtri_Tile - * @sa MORSE_dtrtri_Tile - * @sa MORSE_strtri_Tile - * @sa MORSE_zpotri_Tile + * @sa CHAMELEON_ztrtri + * @sa CHAMELEON_ztrtri_Tile_Async + * @sa CHAMELEON_ctrtri_Tile + * @sa CHAMELEON_dtrtri_Tile + * @sa CHAMELEON_strtri_Tile + * @sa CHAMELEON_zpotri_Tile * */ -int MORSE_ztrtri_Tile( MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A ) +int CHAMELEON_ztrtri_Tile( cham_uplo_t uplo, cham_diag_t diag, CHAM_desc_t *A ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztrtri_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztrtri_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_ztrtri_Tile_Async( uplo, diag, A, sequence, &request ); + CHAMELEON_ztrtri_Tile_Async( uplo, diag, A, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * MORSE_ztrtri_Tile_Async - Computes the inverse of a complex upper or lower + * CHAMELEON_ztrtri_Tile_Async - Computes the inverse of a complex upper or lower * triangular matrix A. - * Non-blocking equivalent of MORSE_ztrtri_Tile(). + * Non-blocking equivalent of CHAMELEON_ztrtri_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -243,64 +243,64 @@ int MORSE_ztrtri_Tile( MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A ) * ******************************************************************************* * - * @sa MORSE_ztrtri - * @sa MORSE_ztrtri_Tile - * @sa MORSE_ctrtri_Tile_Async - * @sa MORSE_dtrtri_Tile_Async - * @sa MORSE_strtri_Tile_Async - * @sa MORSE_zpotri_Tile_Async + * @sa CHAMELEON_ztrtri + * @sa CHAMELEON_ztrtri_Tile + * @sa CHAMELEON_ctrtri_Tile_Async + * @sa CHAMELEON_dtrtri_Tile_Async + * @sa CHAMELEON_strtri_Tile_Async + * @sa CHAMELEON_zpotri_Tile_Async * */ -int MORSE_ztrtri_Tile_Async( MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_ztrtri_Tile_Async( cham_uplo_t uplo, cham_diag_t diag, CHAM_desc_t *A, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_ztrtri_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_ztrtri_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_ztrtri_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztrtri_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_ztrtri_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_ztrtri_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_ztrtri_Tile", "invalid descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_ztrtri_Tile", "invalid descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb) { - morse_error("MORSE_ztrtri_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_ztrtri_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((uplo != MorseUpper) && (uplo != MorseLower)) { - morse_error("MORSE_ztrtri_Tile", "illegal value of uplo"); - return morse_request_fail(sequence, request, -1); + if ((uplo != ChamUpper) && (uplo != ChamLower)) { + chameleon_error("CHAMELEON_ztrtri_Tile", "illegal value of uplo"); + return chameleon_request_fail(sequence, request, -1); } - if ((diag != MorseUnit) && (diag != MorseNonUnit)) { - morse_error("MORSE_ztrtri_Tile", "illegal value of diag"); - return morse_request_fail(sequence, request, -2); + if ((diag != ChamUnit) && (diag != ChamNonUnit)) { + chameleon_error("CHAMELEON_ztrtri_Tile", "illegal value of diag"); + return chameleon_request_fail(sequence, request, -2); } /* Quick return */ /* if (chameleon_max(N, 0) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ - morse_pztrtri( uplo, diag, A, sequence, request ); + chameleon_pztrtri( uplo, diag, A, sequence, request ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zunglq.c b/compute/zunglq.c index a684465c2f2f2366e46e508605e0263ef9c68adb..63ff7233b1203da8bd629e37dc676e3d459344c0 100644 --- a/compute/zunglq.c +++ b/compute/zunglq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,10 +28,10 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zunglq - Generates an M-by-N matrix Q with orthonormal rows, which is defined as the - * first M rows of a product of the elementary reflectors returned by MORSE_zgelqf. + * CHAMELEON_zunglq - Generates an M-by-N matrix Q with orthonormal rows, which is defined as the + * first M rows of a product of the elementary reflectors returned by CHAMELEON_zgelqf. * ******************************************************************************* * @@ -46,13 +46,13 @@ * M >= K >= 0. * * @param[in] A - * Details of the LQ factorization of the original matrix A as returned by MORSE_zgelqf. + * Details of the LQ factorization of the original matrix A as returned by CHAMELEON_zgelqf. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,M). * * @param[in] descT - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[out] Q * On exit, the M-by-N matrix Q. @@ -63,118 +63,118 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit - * \retval MORSE_SUCCESS <0 if -i, the i-th argument had an illegal value + * \retval CHAMELEON_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zunglq_Tile - * @sa MORSE_zunglq_Tile_Async - * @sa MORSE_cunglq - * @sa MORSE_dorglq - * @sa MORSE_sorglq - * @sa MORSE_zgelqf + * @sa CHAMELEON_zunglq_Tile + * @sa CHAMELEON_zunglq_Tile_Async + * @sa CHAMELEON_cunglq + * @sa CHAMELEON_dorglq + * @sa CHAMELEON_sorglq + * @sa CHAMELEON_zgelqf * */ -int MORSE_zunglq( int M, int N, int K, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descT, - MORSE_Complex64_t *Q, int LDQ ) +int CHAMELEON_zunglq( int M, int N, int K, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descT, + CHAMELEON_Complex64_t *Q, int LDQ ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descQl, descQt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descQl, descQt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunglq", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunglq", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zunglq", "illegal value of M"); + chameleon_error("CHAMELEON_zunglq", "illegal value of M"); return -1; } if (N < M) { - morse_error("MORSE_zunglq", "illegal value of N"); + chameleon_error("CHAMELEON_zunglq", "illegal value of N"); return -2; } if (K < 0 || K > M) { - morse_error("MORSE_zunglq", "illegal value of K"); + chameleon_error("CHAMELEON_zunglq", "illegal value of K"); return -3; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zunglq", "illegal value of LDA"); + chameleon_error("CHAMELEON_zunglq", "illegal value of LDA"); return -5; } if (LDQ < chameleon_max(1, M)) { - morse_error("MORSE_zunglq", "illegal value of LDQ"); + chameleon_error("CHAMELEON_zunglq", "illegal value of LDQ"); return -8; } /* Quick return - currently NOT equivalent to LAPACK's: * CALL DLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, B, LDQ ) */ if (chameleon_min(M, chameleon_min(N, K)) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zunglq", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunglq", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpper, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpper, A, NB, NB, LDA, N, K, N, sequence, &request ); - morse_zlap2tile( morse, &descQl, &descQt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descQl, &descQt, ChamDescInout, ChamUpperLower, Q, NB, NB, LDQ, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zunglq_Tile_Async( &descAt, descT, &descQt, sequence, &request ); + CHAMELEON_zunglq_Tile_Async( &descAt, descT, &descQt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpper, sequence, &request ); - morse_ztile2lap( morse, &descQl, &descQt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpper, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descQl, &descQt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descQl, &descQt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descQl, &descQt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zunglq_Tile - Generates an M-by-N matrix Q with orthonormal rows, which is defined as the - * first M rows of a product of the elementary reflectors returned by MORSE_zgelqf. + * CHAMELEON_zunglq_Tile - Generates an M-by-N matrix Q with orthonormal rows, which is defined as the + * first M rows of a product of the elementary reflectors returned by CHAMELEON_zgelqf. * All matrices are passed through descriptors. All dimensions are taken from the descriptors. * ******************************************************************************* * * @param[in] A - * Details of the LQ factorization of the original matrix A as returned by MORSE_zgelqf. + * Details of the LQ factorization of the original matrix A as returned by CHAMELEON_zgelqf. * * @param[in] T - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[out] Q * On exit, the M-by-N matrix Q. @@ -182,50 +182,50 @@ int MORSE_zunglq( int M, int N, int K, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zunglq - * @sa MORSE_zunglq_Tile_Async - * @sa MORSE_cunglq_Tile - * @sa MORSE_dorglq_Tile - * @sa MORSE_sorglq_Tile - * @sa MORSE_zgelqf_Tile + * @sa CHAMELEON_zunglq + * @sa CHAMELEON_zunglq_Tile_Async + * @sa CHAMELEON_cunglq_Tile + * @sa CHAMELEON_dorglq_Tile + * @sa CHAMELEON_sorglq_Tile + * @sa CHAMELEON_zgelqf_Tile * */ -int MORSE_zunglq_Tile( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *Q ) +int CHAMELEON_zunglq_Tile( CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *Q ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunglq_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunglq_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zunglq_Tile_Async( A, T, Q, sequence, &request ); + CHAMELEON_zunglq_Tile_Async( A, T, Q, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( Q, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( Q, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * Non-blocking equivalent of MORSE_zunglq_Tile(). + * Non-blocking equivalent of CHAMELEON_zunglq_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -240,90 +240,91 @@ int MORSE_zunglq_Tile( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *Q ) * ******************************************************************************* * - * @sa MORSE_zunglq - * @sa MORSE_zunglq_Tile - * @sa MORSE_cunglq_Tile_Async - * @sa MORSE_dorglq_Tile_Async - * @sa MORSE_sorglq_Tile_Async - * @sa MORSE_zgelqf_Tile_Async + * @sa CHAMELEON_zunglq + * @sa CHAMELEON_zunglq_Tile + * @sa CHAMELEON_cunglq_Tile_Async + * @sa CHAMELEON_dorglq_Tile_Async + * @sa CHAMELEON_sorglq_Tile_Async + * @sa CHAMELEON_zgelqf_Tile_Async * */ -int MORSE_zunglq_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *Q, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zunglq_Tile_Async( CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *Q, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunglq_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunglq_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zunglq_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zunglq_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zunglq_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zunglq_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zunglq_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunglq_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_zunglq_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunglq_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(Q) != MORSE_SUCCESS) { - morse_error("MORSE_zunglq_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(Q) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunglq_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || Q->nb != Q->mb) { - morse_error("MORSE_zunglq_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zunglq_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return - currently NOT equivalent to LAPACK's: * CALL DLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, Q, LDQ ) */ /* if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int m = chameleon_min(A->mt, A->nt) * A->mb; - morse_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); Dptr = &D; } #endif - morse_pzlaset( MorseUpperLower, 0., 1., Q, sequence, request ); - if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { - morse_pzunglq( A, Q, T, Dptr, sequence, request ); + chameleon_pzlaset( ChamUpperLower, 0., 1., Q, sequence, request ); + if (chamctxt->householder == ChamFlatHouseholder) { + chameleon_pzunglq( A, Q, T, Dptr, sequence, request ); } else { - morse_pzunglqrh( A, Q, T, Dptr, MORSE_RHBLK, sequence, request ); + chameleon_pzunglqrh( A, Q, T, Dptr, CHAMELEON_RHBLK, sequence, request ); } if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( Q, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( Q, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zunglq_param.c b/compute/zunglq_param.c index 328a4e7137dadbb6dc4b6181d2dd3d1a42521174..10855cc2d814d839b3c88549961ddc6893953ee8 100644 --- a/compute/zunglq_param.c +++ b/compute/zunglq_param.c @@ -23,10 +23,10 @@ /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zunglq_param - Generates an M-by-N matrix Q with orthonormal rows, which is defined as the - * first M rows of a product of the elementary reflectors returned by MORSE_zgelqf. + * CHAMELEON_zunglq_param - Generates an M-by-N matrix Q with orthonormal rows, which is defined as the + * first M rows of a product of the elementary reflectors returned by CHAMELEON_zgelqf. * ******************************************************************************* * @@ -44,13 +44,13 @@ * M >= K >= 0. * * @param[in] A - * Details of the LQ factorization of the original matrix A as returned by MORSE_zgelqf. + * Details of the LQ factorization of the original matrix A as returned by CHAMELEON_zgelqf. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,M). * * @param[in] descT - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[out] Q * On exit, the M-by-N matrix Q. @@ -61,119 +61,119 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit - * \retval MORSE_SUCCESS <0 if -i, the i-th argument had an illegal value + * \retval CHAMELEON_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zunglq_param_Tile - * @sa MORSE_zunglq_param_Tile_Async - * @sa MORSE_cunglq - * @sa MORSE_dorglq - * @sa MORSE_sorglq - * @sa MORSE_zgelqf + * @sa CHAMELEON_zunglq_param_Tile + * @sa CHAMELEON_zunglq_param_Tile_Async + * @sa CHAMELEON_cunglq + * @sa CHAMELEON_dorglq + * @sa CHAMELEON_sorglq + * @sa CHAMELEON_zgelqf * */ -int MORSE_zunglq_param( const libhqr_tree_t *qrtree, int M, int N, int K, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descTS, MORSE_desc_t *descTT, - MORSE_Complex64_t *Q, int LDQ ) +int CHAMELEON_zunglq_param( const libhqr_tree_t *qrtree, int M, int N, int K, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descTS, CHAM_desc_t *descTT, + CHAMELEON_Complex64_t *Q, int LDQ ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descQl, descQt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descQl, descQt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunglq_param", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunglq_param", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zunglq_param", "illegal value of M"); + chameleon_error("CHAMELEON_zunglq_param", "illegal value of M"); return -1; } if (N < M) { - morse_error("MORSE_zunglq_param", "illegal value of N"); + chameleon_error("CHAMELEON_zunglq_param", "illegal value of N"); return -2; } if (K < 0 || K > M) { - morse_error("MORSE_zunglq_param", "illegal value of K"); + chameleon_error("CHAMELEON_zunglq_param", "illegal value of K"); return -3; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zunglq_param", "illegal value of LDA"); + chameleon_error("CHAMELEON_zunglq_param", "illegal value of LDA"); return -5; } if (LDQ < chameleon_max(1, M)) { - morse_error("MORSE_zunglq_param", "illegal value of LDQ"); + chameleon_error("CHAMELEON_zunglq_param", "illegal value of LDQ"); return -8; } /* Quick return - currently NOT equivalent to LAPACK's: * CALL DLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, B, LDQ ) */ if (chameleon_min(M, chameleon_min(N, K)) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zunglq_param", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunglq_param", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpper, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpper, A, NB, NB, LDA, N, K, N, sequence, &request ); - morse_zlap2tile( morse, &descQl, &descQt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descQl, &descQt, ChamDescInout, ChamUpperLower, Q, NB, NB, LDQ, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zunglq_param_Tile_Async( qrtree, &descAt, descTS, descTT, &descQt, sequence, &request ); + CHAMELEON_zunglq_param_Tile_Async( qrtree, &descAt, descTS, descTT, &descQt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpper, sequence, &request ); - morse_ztile2lap( morse, &descQl, &descQt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descTS, sequence ); - MORSE_Desc_Flush( descTT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpper, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descQl, &descQt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descTS, sequence ); + CHAMELEON_Desc_Flush( descTT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descQl, &descQt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descQl, &descQt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zunglq_param_Tile - Generates an M-by-N matrix Q with orthonormal rows, which is defined as the - * first M rows of a product of the elementary reflectors returned by MORSE_zgelqf. + * CHAMELEON_zunglq_param_Tile - Generates an M-by-N matrix Q with orthonormal rows, which is defined as the + * first M rows of a product of the elementary reflectors returned by CHAMELEON_zgelqf. * All matrices are passed through descriptors. All dimensions are taken from the descriptors. * ******************************************************************************* * * @param[in] A - * Details of the LQ factorization of the original matrix A as returned by MORSE_zgelqf. + * Details of the LQ factorization of the original matrix A as returned by CHAMELEON_zgelqf. * * @param[in] T - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[out] Q * On exit, the M-by-N matrix Q. @@ -181,51 +181,51 @@ int MORSE_zunglq_param( const libhqr_tree_t *qrtree, int M, int N, int K, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zunglq_param - * @sa MORSE_zunglq_param_Tile_Async - * @sa MORSE_cunglq_Tile - * @sa MORSE_dorglq_Tile - * @sa MORSE_sorglq_Tile - * @sa MORSE_zgelqf_Tile + * @sa CHAMELEON_zunglq_param + * @sa CHAMELEON_zunglq_param_Tile_Async + * @sa CHAMELEON_cunglq_Tile + * @sa CHAMELEON_dorglq_Tile + * @sa CHAMELEON_sorglq_Tile + * @sa CHAMELEON_zgelqf_Tile * */ -int MORSE_zunglq_param_Tile( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *Q ) +int CHAMELEON_zunglq_param_Tile( const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *Q ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunglq_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunglq_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zunglq_param_Tile_Async( qrtree, A, TS, TT, Q, sequence, &request ); + CHAMELEON_zunglq_param_Tile_Async( qrtree, A, TS, TT, Q, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( Q, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( Q, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * Non-blocking equivalent of MORSE_zunglq_param_Tile(). + * Non-blocking equivalent of CHAMELEON_zunglq_param_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -240,89 +240,90 @@ int MORSE_zunglq_param_Tile( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE * ******************************************************************************* * - * @sa MORSE_zunglq_param - * @sa MORSE_zunglq_param_Tile - * @sa MORSE_cunglq_Tile_Async - * @sa MORSE_dorglq_Tile_Async - * @sa MORSE_sorglq_Tile_Async - * @sa MORSE_zgelqf_Tile_Async + * @sa CHAMELEON_zunglq_param + * @sa CHAMELEON_zunglq_param_Tile + * @sa CHAMELEON_cunglq_Tile_Async + * @sa CHAMELEON_dorglq_Tile_Async + * @sa CHAMELEON_sorglq_Tile_Async + * @sa CHAMELEON_zgelqf_Tile_Async * */ -int MORSE_zunglq_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *Q, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zunglq_param_Tile_Async( const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *Q, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunglq_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunglq_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zunglq_param_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zunglq_param_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zunglq_param_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zunglq_param_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zunglq_param_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunglq_param_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TS) != MORSE_SUCCESS) { - morse_error("MORSE_zunglq_param_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TS) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunglq_param_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TT) != MORSE_SUCCESS) { - morse_error("MORSE_zunglq_param_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TT) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunglq_param_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(Q) != MORSE_SUCCESS) { - morse_error("MORSE_zunglq_param_Tile", "invalid fourth descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(Q) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunglq_param_Tile", "invalid fourth descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || Q->nb != Q->mb) { - morse_error("MORSE_zunglq_param_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zunglq_param_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return - currently NOT equivalent to LAPACK's: * CALL DLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, Q, LDQ ) */ /* if (chameleon_min(M, N) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int m = chameleon_min(A->mt, A->nt) * A->mb; - morse_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); Dptr = &D; } #endif - morse_pzlaset( MorseUpperLower, 0., 1., Q, sequence, request ); - morse_pzunglq_param( qrtree, A, Q, TS, TT, Dptr, sequence, request ); + chameleon_pzlaset( ChamUpperLower, 0., 1., Q, sequence, request ); + chameleon_pzunglq_param( qrtree, A, Q, TS, TT, Dptr, sequence, request ); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( Q, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( Q, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zungqr.c b/compute/zungqr.c index 69153b4e954b4c0aaac8918de0dfc95d59b74550..dae14adb3d825be86fb2e7ad9e33051abcfefa9a 100644 --- a/compute/zungqr.c +++ b/compute/zungqr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,10 +28,10 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zungqr - Generates an M-by-N matrix Q with orthonormal columns, which is defined as the - * first N columns of a product of the elementary reflectors returned by MORSE_zgeqrf. + * CHAMELEON_zungqr - Generates an M-by-N matrix Q with orthonormal columns, which is defined as the + * first N columns of a product of the elementary reflectors returned by CHAMELEON_zgeqrf. * ******************************************************************************* * @@ -46,13 +46,13 @@ * M >= K >= 0. * * @param[in] A - * Details of the QR factorization of the original matrix A as returned by MORSE_zgeqrf. + * Details of the QR factorization of the original matrix A as returned by CHAMELEON_zgeqrf. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,M). * * @param[in] descT - * Auxiliary factorization data, computed by MORSE_zgeqrf. + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. * * @param[out] Q * On exit, the M-by-N matrix Q. @@ -63,117 +63,117 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zungqr_Tile - * @sa MORSE_zungqr_Tile_Async - * @sa MORSE_cungqr - * @sa MORSE_dorgqr - * @sa MORSE_sorgqr - * @sa MORSE_zgeqrf + * @sa CHAMELEON_zungqr_Tile + * @sa CHAMELEON_zungqr_Tile_Async + * @sa CHAMELEON_cungqr + * @sa CHAMELEON_dorgqr + * @sa CHAMELEON_sorgqr + * @sa CHAMELEON_zgeqrf * */ -int MORSE_zungqr( int M, int N, int K, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descT, - MORSE_Complex64_t *Q, int LDQ ) +int CHAMELEON_zungqr( int M, int N, int K, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descT, + CHAMELEON_Complex64_t *Q, int LDQ ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descQl, descQt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descQl, descQt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zungqr", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zungqr", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zungqr", "illegal value of M"); + chameleon_error("CHAMELEON_zungqr", "illegal value of M"); return -1; } if (N < 0 || N > M) { - morse_error("MORSE_zungqr", "illegal value of N"); + chameleon_error("CHAMELEON_zungqr", "illegal value of N"); return -2; } if (K < 0 || K > N) { - morse_error("MORSE_zungqr", "illegal value of K"); + chameleon_error("CHAMELEON_zungqr", "illegal value of K"); return -3; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zungqr", "illegal value of LDA"); + chameleon_error("CHAMELEON_zungqr", "illegal value of LDA"); return -5; } if (LDQ < chameleon_max(1, M)) { - morse_error("MORSE_zungqr", "illegal value of LDQ"); + chameleon_error("CHAMELEON_zungqr", "illegal value of LDQ"); return -8; } if (chameleon_min(M, chameleon_min(N, K)) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M & N; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zungqr", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zungqr", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamLower, A, NB, NB, LDA, N, M, K, sequence, &request ); - morse_zlap2tile( morse, &descQl, &descQt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descQl, &descQt, ChamDescInout, ChamUpperLower, Q, NB, NB, LDQ, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zungqr_Tile_Async( &descAt, descT, &descQt, sequence, &request ); + CHAMELEON_zungqr_Tile_Async( &descAt, descT, &descQt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseLower, sequence, &request ); - morse_ztile2lap( morse, &descQl, &descQt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descQl, &descQt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descQl, &descQt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descQl, &descQt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zungqr_Tile - Generates an M-by-N matrix Q with orthonormal columns, which is defined as the - * first N columns of a product of the elementary reflectors returned by MORSE_zgeqrf. + * CHAMELEON_zungqr_Tile - Generates an M-by-N matrix Q with orthonormal columns, which is defined as the + * first N columns of a product of the elementary reflectors returned by CHAMELEON_zgeqrf. * All matrices are passed through descriptors. All dimensions are taken from the descriptors. * ******************************************************************************* * * @param[in] A - * Details of the QR factorization of the original matrix A as returned by MORSE_zgeqrf. + * Details of the QR factorization of the original matrix A as returned by CHAMELEON_zgeqrf. * * @param[in] T - * Auxiliary factorization data, computed by MORSE_zgeqrf. + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. * * @param[out] Q * On exit, the M-by-N matrix Q. @@ -181,50 +181,50 @@ int MORSE_zungqr( int M, int N, int K, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zungqr - * @sa MORSE_zungqr_Tile_Async - * @sa MORSE_cungqr_Tile - * @sa MORSE_dorgqr_Tile - * @sa MORSE_sorgqr_Tile - * @sa MORSE_zgeqrf_Tile + * @sa CHAMELEON_zungqr + * @sa CHAMELEON_zungqr_Tile_Async + * @sa CHAMELEON_cungqr_Tile + * @sa CHAMELEON_dorgqr_Tile + * @sa CHAMELEON_sorgqr_Tile + * @sa CHAMELEON_zgeqrf_Tile * */ -int MORSE_zungqr_Tile( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *Q ) +int CHAMELEON_zungqr_Tile( CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *Q ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zungqr_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zungqr_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zungqr_Tile_Async( A, T, Q, sequence, &request ); + CHAMELEON_zungqr_Tile_Async( A, T, Q, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( Q, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( Q, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * Non-blocking equivalent of MORSE_zungqr_Tile(). + * Non-blocking equivalent of CHAMELEON_zungqr_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -239,88 +239,89 @@ int MORSE_zungqr_Tile( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *Q ) * ******************************************************************************* * - * @sa MORSE_zungqr - * @sa MORSE_zungqr_Tile - * @sa MORSE_cungqr_Tile_Async - * @sa MORSE_dorgqr_Tile_Async - * @sa MORSE_sorgqr_Tile_Async - * @sa MORSE_zgeqrf_Tile_Async + * @sa CHAMELEON_zungqr + * @sa CHAMELEON_zungqr_Tile + * @sa CHAMELEON_cungqr_Tile_Async + * @sa CHAMELEON_dorgqr_Tile_Async + * @sa CHAMELEON_sorgqr_Tile_Async + * @sa CHAMELEON_zgeqrf_Tile_Async * */ -int MORSE_zungqr_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *Q, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zungqr_Tile_Async( CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *Q, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zungqr_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zungqr_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zungqr_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zungqr_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zungqr_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zungqr_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zungqr_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zungqr_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_zungqr_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zungqr_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(Q) != MORSE_SUCCESS) { - morse_error("MORSE_zungqr_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(Q) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zungqr_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || Q->nb != Q->mb) { - morse_error("MORSE_zungqr_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zungqr_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (N <= 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - morse_pzlaset( MorseUpperLower, 0., 1., Q, sequence, request ); - if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { - morse_pzungqr( A, Q, T, Dptr, sequence, request ); + chameleon_pzlaset( ChamUpperLower, 0., 1., Q, sequence, request ); + if (chamctxt->householder == ChamFlatHouseholder) { + chameleon_pzungqr( A, Q, T, Dptr, sequence, request ); } else { - morse_pzungqrrh( A, Q, T, Dptr, MORSE_RHBLK, sequence, request ); + chameleon_pzungqrrh( A, Q, T, Dptr, CHAMELEON_RHBLK, sequence, request ); } if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( Q, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( Q, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zungqr_param.c b/compute/zungqr_param.c index 111d85cc4ba079f56ecc924c2fc5a1530f0cda18..52f3b857fcd50cb8734a1e3d7f93c08d83c6b96e 100644 --- a/compute/zungqr_param.c +++ b/compute/zungqr_param.c @@ -23,10 +23,10 @@ /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zungqr_param - Generates an M-by-N matrix Q with orthonormal columns, which is defined as the - * first N columns of a product of the elementary reflectors returned by MORSE_zgeqrf. + * CHAMELEON_zungqr_param - Generates an M-by-N matrix Q with orthonormal columns, which is defined as the + * first N columns of a product of the elementary reflectors returned by CHAMELEON_zgeqrf. * ******************************************************************************* * @@ -44,13 +44,13 @@ * M >= K >= 0. * * @param[in] A - * Details of the QR factorization of the original matrix A as returned by MORSE_zgeqrf. + * Details of the QR factorization of the original matrix A as returned by CHAMELEON_zgeqrf. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,M). * * @param[in] descT - * Auxiliary factorization data, computed by MORSE_zgeqrf. + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. * * @param[out] Q * On exit, the M-by-N matrix Q. @@ -61,120 +61,120 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zungqr_param_Tile - * @sa MORSE_zungqr_param_Tile_Async - * @sa MORSE_cungqr - * @sa MORSE_dorgqr - * @sa MORSE_sorgqr - * @sa MORSE_zgeqrf + * @sa CHAMELEON_zungqr_param_Tile + * @sa CHAMELEON_zungqr_param_Tile_Async + * @sa CHAMELEON_cungqr + * @sa CHAMELEON_dorgqr + * @sa CHAMELEON_sorgqr + * @sa CHAMELEON_zgeqrf * */ -int MORSE_zungqr_param( const libhqr_tree_t *qrtree, +int CHAMELEON_zungqr_param( const libhqr_tree_t *qrtree, int M, int N, int K, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descTS, - MORSE_desc_t *descTT, - MORSE_Complex64_t *Q, int LDQ ) + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descTS, + CHAM_desc_t *descTT, + CHAMELEON_Complex64_t *Q, int LDQ ) { int NB; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descQl, descQt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descQl, descQt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zungqr_param", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zungqr_param", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Check input arguments */ if (M < 0) { - morse_error("MORSE_zungqr_param", "illegal value of M"); + chameleon_error("CHAMELEON_zungqr_param", "illegal value of M"); return -1; } if (N < 0 || N > M) { - morse_error("MORSE_zungqr_param", "illegal value of N"); + chameleon_error("CHAMELEON_zungqr_param", "illegal value of N"); return -2; } if (K < 0 || K > N) { - morse_error("MORSE_zungqr_param", "illegal value of K"); + chameleon_error("CHAMELEON_zungqr_param", "illegal value of K"); return -3; } if (LDA < chameleon_max(1, M)) { - morse_error("MORSE_zungqr_param", "illegal value of LDA"); + chameleon_error("CHAMELEON_zungqr_param", "illegal value of LDA"); return -5; } if (LDQ < chameleon_max(1, M)) { - morse_error("MORSE_zungqr_param", "illegal value of LDQ"); + chameleon_error("CHAMELEON_zungqr_param", "illegal value of LDQ"); return -8; } if (chameleon_min(M, chameleon_min(N, K)) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M & N; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGELS, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zungqr_param", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zungqr_param", "chameleon_tune() failed"); return status; } /* Set NT */ - NB = MORSE_NB; + NB = CHAMELEON_NB; - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamLower, A, NB, NB, LDA, N, M, K, sequence, &request ); - morse_zlap2tile( morse, &descQl, &descQt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descQl, &descQt, ChamDescInout, ChamUpperLower, Q, NB, NB, LDQ, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zungqr_param_Tile_Async( qrtree, &descAt, descTS, descTT, &descQt, sequence, &request ); + CHAMELEON_zungqr_param_Tile_Async( qrtree, &descAt, descTS, descTT, &descQt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseLower, sequence, &request ); - morse_ztile2lap( morse, &descQl, &descQt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descTS, sequence ); - MORSE_Desc_Flush( descTT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descQl, &descQt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descTS, sequence ); + CHAMELEON_Desc_Flush( descTT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descQl, &descQt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descQl, &descQt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zungqr_param_Tile - Generates an M-by-N matrix Q with orthonormal columns, which is defined as the - * first N columns of a product of the elementary reflectors returned by MORSE_zgeqrf. + * CHAMELEON_zungqr_param_Tile - Generates an M-by-N matrix Q with orthonormal columns, which is defined as the + * first N columns of a product of the elementary reflectors returned by CHAMELEON_zgeqrf. * All matrices are passed through descriptors. All dimensions are taken from the descriptors. * ******************************************************************************* * * @param[in] A - * Details of the QR factorization of the original matrix A as returned by MORSE_zgeqrf. + * Details of the QR factorization of the original matrix A as returned by CHAMELEON_zgeqrf. * * @param[in] T - * Auxiliary factorization data, computed by MORSE_zgeqrf. + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. * * @param[out] Q * On exit, the M-by-N matrix Q. @@ -182,51 +182,51 @@ int MORSE_zungqr_param( const libhqr_tree_t *qrtree, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zungqr_param - * @sa MORSE_zungqr_param_Tile_Async - * @sa MORSE_cungqr_Tile - * @sa MORSE_dorgqr_Tile - * @sa MORSE_sorgqr_Tile - * @sa MORSE_zgeqrf_Tile + * @sa CHAMELEON_zungqr_param + * @sa CHAMELEON_zungqr_param_Tile_Async + * @sa CHAMELEON_cungqr_Tile + * @sa CHAMELEON_dorgqr_Tile + * @sa CHAMELEON_sorgqr_Tile + * @sa CHAMELEON_zgeqrf_Tile * */ -int MORSE_zungqr_param_Tile( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *Q ) +int CHAMELEON_zungqr_param_Tile( const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *Q ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zungqr_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zungqr_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zungqr_param_Tile_Async( qrtree, A, TS, TT, Q, sequence, &request ); + CHAMELEON_zungqr_param_Tile_Async( qrtree, A, TS, TT, Q, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( Q, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( Q, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * Non-blocking equivalent of MORSE_zungqr_param_Tile(). + * Non-blocking equivalent of CHAMELEON_zungqr_param_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -241,86 +241,87 @@ int MORSE_zungqr_param_Tile( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE * ******************************************************************************* * - * @sa MORSE_zungqr_param - * @sa MORSE_zungqr_param_Tile - * @sa MORSE_cungqr_Tile_Async - * @sa MORSE_dorgqr_Tile_Async - * @sa MORSE_sorgqr_Tile_Async - * @sa MORSE_zgeqrf_Tile_Async + * @sa CHAMELEON_zungqr_param + * @sa CHAMELEON_zungqr_param_Tile + * @sa CHAMELEON_cungqr_Tile_Async + * @sa CHAMELEON_dorgqr_Tile_Async + * @sa CHAMELEON_sorgqr_Tile_Async + * @sa CHAMELEON_zgeqrf_Tile_Async * */ -int MORSE_zungqr_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *Q, MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zungqr_param_Tile_Async( const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *Q, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zungqr_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zungqr_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zungqr_param_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zungqr_param_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zungqr_param_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zungqr_param_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zungqr_param_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zungqr_param_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TS) != MORSE_SUCCESS) { - morse_error("MORSE_zungqr_param_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TS) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zungqr_param_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TT) != MORSE_SUCCESS) { - morse_error("MORSE_zungqr_param_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TT) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zungqr_param_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(Q) != MORSE_SUCCESS) { - morse_error("MORSE_zungqr_param_Tile", "invalid fourth descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(Q) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zungqr_param_Tile", "invalid fourth descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || Q->nb != Q->mb) { - morse_error("MORSE_zungqr_param_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zungqr_param_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return */ /* if (N <= 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - morse_pzlaset( MorseUpperLower, 0., 1., Q, sequence, request ); - morse_pzungqr_param( qrtree, A, Q, TS, TT, Dptr, sequence, request ); + chameleon_pzlaset( ChamUpperLower, 0., 1., Q, sequence, request ); + chameleon_pzungqr_param( qrtree, A, Q, TS, TT, Dptr, sequence, request ); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( Q, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( Q, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zunmlq.c b/compute/zunmlq.c index fa23e7977d091b4ced4b9963ae850eb38a2976c9..89e0ca1dce95f1013307026398896f9ab0cc8e6a 100644 --- a/compute/zunmlq.c +++ b/compute/zunmlq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Dulceneia Becker @@ -29,9 +29,9 @@ /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zunmlq - Overwrites the general complex M-by-N matrix C with + * CHAMELEON_zunmlq - Overwrites the general complex M-by-N matrix C with * * SIDE = 'L' SIDE = 'R' * TRANS = 'N': Q * C C * Q @@ -42,20 +42,20 @@ * * Q = H(1) H(2) . . . H(k) * - * as returned by MORSE_zgeqrf. Q is of order M if SIDE = MorseLeft - * and of order N if SIDE = MorseRight. + * as returned by CHAMELEON_zgeqrf. Q is of order M if SIDE = ChamLeft + * and of order N if SIDE = ChamRight. * ******************************************************************************* * * @param[in] side * Intended usage: - * = MorseLeft: apply Q or Q**H from the left; - * = MorseRight: apply Q or Q**H from the right. + * = ChamLeft: apply Q or Q**H from the left; + * = ChamRight: apply Q or Q**H from the right. * * @param[in] trans * Intended usage: - * = MorseNoTrans: no transpose, apply Q; - * = MorseConjTrans: conjugate transpose, apply Q**H. + * = ChamNoTrans: no transpose, apply Q; + * = ChamConjTrans: conjugate transpose, apply Q**H. * * @param[in] M * The number of rows of the matrix C. M >= 0. @@ -65,17 +65,17 @@ * * @param[in] K * The number of rows of elementary tile reflectors whose product defines the matrix Q. - * If side == MorseLeft, M >= K >= 0. - * If side == MorseRight, N >= K >= 0. + * If side == ChamLeft, M >= K >= 0. + * If side == ChamRight, N >= K >= 0. * * @param[in] A - * Details of the LQ factorization of the original matrix A as returned by MORSE_zgelqf. + * Details of the LQ factorization of the original matrix A as returned by CHAMELEON_zgelqf. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,K). * * @param[in] descT - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[in,out] C * On entry, the M-by-N matrix C. @@ -87,144 +87,144 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zunmlq_Tile - * @sa MORSE_zunmlq_Tile_Async - * @sa MORSE_cunmlq - * @sa MORSE_dormlq - * @sa MORSE_sormlq - * @sa MORSE_zgelqf + * @sa CHAMELEON_zunmlq_Tile + * @sa CHAMELEON_zunmlq_Tile_Async + * @sa CHAMELEON_cunmlq + * @sa CHAMELEON_dormlq + * @sa CHAMELEON_sormlq + * @sa CHAMELEON_zgelqf * */ -int MORSE_zunmlq( MORSE_enum side, MORSE_enum trans, int M, int N, int K, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descT, - MORSE_Complex64_t *C, int LDC ) +int CHAMELEON_zunmlq( cham_side_t side, cham_trans_t trans, int M, int N, int K, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descT, + CHAMELEON_Complex64_t *C, int LDC ) { int NB, An; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descCl, descCt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descCl, descCt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunmlq", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunmlq", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - if (side == MorseLeft) + if (side == ChamLeft) An = M; else An = N; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { - morse_error("MORSE_zunmlq", "illegal value of side"); + if ((side != ChamLeft) && (side != ChamRight)) { + chameleon_error("CHAMELEON_zunmlq", "illegal value of side"); return -1; } - if ((trans != MorseConjTrans) && (trans != MorseNoTrans)){ - morse_error("MORSE_zunmlq", "illegal value of trans"); + if ((trans != ChamConjTrans) && (trans != ChamNoTrans)){ + chameleon_error("CHAMELEON_zunmlq", "illegal value of trans"); return -2; } if (M < 0) { - morse_error("MORSE_zunmlq", "illegal value of M"); + chameleon_error("CHAMELEON_zunmlq", "illegal value of M"); return -3; } if (N < 0) { - morse_error("MORSE_zunmlq", "illegal value of N"); + chameleon_error("CHAMELEON_zunmlq", "illegal value of N"); return -4; } if ((K < 0) || (K > An)) { - morse_error("MORSE_zunmlq", "illegal value of K"); + chameleon_error("CHAMELEON_zunmlq", "illegal value of K"); return -5; } if (LDA < chameleon_max(1, K)) { - morse_error("MORSE_zunmlq", "illegal value of LDA"); + chameleon_error("CHAMELEON_zunmlq", "illegal value of LDA"); return -7; } if (LDC < chameleon_max(1, M)) { - morse_error("MORSE_zunmlq", "illegal value of LDC"); + chameleon_error("CHAMELEON_zunmlq", "illegal value of LDC"); return -10; } /* Quick return - currently NOT equivalent to LAPACK's: * CALL DLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, C, LDC ) */ if (chameleon_min(M, chameleon_min(N, K)) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGELS, M, K, N); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zunmlq", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, K, N); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmlq", "chameleon_tune() failed"); return status; } /* Set MT, NT & NTRHS */ - NB = MORSE_NB; - morse_sequence_create( morse, &sequence ); + NB = CHAMELEON_NB; + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpper, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpper, A, NB, NB, LDA, An, K, An, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descCl, &descCt, ChamDescInout, ChamUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zunmlq_Tile_Async( side, trans, &descAt, descT, &descCt, sequence, &request ); + CHAMELEON_zunmlq_Tile_Async( side, trans, &descAt, descT, &descCt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpper, sequence, &request ); - morse_ztile2lap( morse, &descCl, &descCt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpper, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descCl, &descCt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descCl, &descCt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descCl, &descCt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zunmlq_Tile - overwrites the general M-by-N matrix C with Q*C, where Q is an orthogonal + * CHAMELEON_zunmlq_Tile - overwrites the general M-by-N matrix C with Q*C, where Q is an orthogonal * matrix (unitary in the complex case) defined as the product of elementary reflectors returned - * by MORSE_zgelqf_Tile Q is of order M. + * by CHAMELEON_zgelqf_Tile Q is of order M. * All matrices are passed through descriptors. All dimensions are taken from the descriptors. * ******************************************************************************* * * @param[in] side * Intended usage: - * = MorseLeft: apply Q or Q**H from the left; - * = MorseRight: apply Q or Q**H from the right. - * Currently only MorseLeft is supported. + * = ChamLeft: apply Q or Q**H from the left; + * = ChamRight: apply Q or Q**H from the right. + * Currently only ChamLeft is supported. * * @param[in] trans * Intended usage: - * = MorseNoTrans: no transpose, apply Q; - * = MorseConjTrans: conjugate transpose, apply Q**H. - * Currently only MorseConjTrans is supported. + * = ChamNoTrans: no transpose, apply Q; + * = ChamConjTrans: conjugate transpose, apply Q**H. + * Currently only ChamConjTrans is supported. * * @param[in] A - * Details of the LQ factorization of the original matrix A as returned by MORSE_zgelqf. + * Details of the LQ factorization of the original matrix A as returned by CHAMELEON_zgelqf. * * @param[in] T - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[in,out] C * On entry, the M-by-N matrix C. @@ -233,51 +233,51 @@ int MORSE_zunmlq( MORSE_enum side, MORSE_enum trans, int M, int N, int K, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zunmlq - * @sa MORSE_zunmlq_Tile_Async - * @sa MORSE_cunmlq_Tile - * @sa MORSE_dormlq_Tile - * @sa MORSE_sormlq_Tile - * @sa MORSE_zgelqf_Tile + * @sa CHAMELEON_zunmlq + * @sa CHAMELEON_zunmlq_Tile_Async + * @sa CHAMELEON_cunmlq_Tile + * @sa CHAMELEON_dormlq_Tile + * @sa CHAMELEON_sormlq_Tile + * @sa CHAMELEON_zgelqf_Tile * */ -int MORSE_zunmlq_Tile( MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *C ) +int CHAMELEON_zunmlq_Tile( cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *C ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunmlq_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunmlq_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zunmlq_Tile_Async(side, trans, A, T, C, sequence, &request ); + CHAMELEON_zunmlq_Tile_Async(side, trans, A, T, C, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * Non-blocking equivalent of MORSE_zunmlq_Tile(). + * Non-blocking equivalent of CHAMELEON_zunmlq_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -292,99 +292,100 @@ int MORSE_zunmlq_Tile( MORSE_enum side, MORSE_enum trans, * ******************************************************************************* * - * @sa MORSE_zunmlq - * @sa MORSE_zunmlq_Tile - * @sa MORSE_cunmlq_Tile_Async - * @sa MORSE_dormlq_Tile_Async - * @sa MORSE_sormlq_Tile_Async - * @sa MORSE_zgelqf_Tile_Async + * @sa CHAMELEON_zunmlq + * @sa CHAMELEON_zunmlq_Tile + * @sa CHAMELEON_cunmlq_Tile_Async + * @sa CHAMELEON_dormlq_Tile_Async + * @sa CHAMELEON_sormlq_Tile_Async + * @sa CHAMELEON_zgelqf_Tile_Async * */ -int MORSE_zunmlq_Tile_Async( MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zunmlq_Tile_Async( cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunmlq_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunmlq_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zunmlq_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zunmlq_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zunmlq_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zunmlq_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zunmlq_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmlq_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_zunmlq_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmlq_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(C) != MORSE_SUCCESS) { - morse_error("MORSE_zunmlq_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(C) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmlq_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || C->nb != C->mb) { - morse_error("MORSE_zunmlq_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zunmlq_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((side != MorseLeft) && (side != MorseRight)) { - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((side != ChamLeft) && (side != ChamRight)) { + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((trans != MorseConjTrans) && (trans != MorseNoTrans)){ - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((trans != ChamConjTrans) && (trans != ChamNoTrans)){ + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return - currently NOT equivalent to LAPACK's: * CALL DLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, C, LDC ) */ /* if (chameleon_min(M, chameleon_min(N, K)) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int m = chameleon_min(A->mt, A->nt) * A->mb; - morse_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); Dptr = &D; } #endif - if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { - if ( (trans == MorseConjTrans) && - (side == MorseLeft) ) { - morse_pzunmlq( side, trans, A, C, T, Dptr, sequence, request ); + if (chamctxt->householder == ChamFlatHouseholder) { + if ( (trans == ChamConjTrans) && + (side == ChamLeft) ) { + chameleon_pzunmlq( side, trans, A, C, T, Dptr, sequence, request ); } else { - morse_pzunmlq( side, trans, A, C, T, Dptr, sequence, request ); + chameleon_pzunmlq( side, trans, A, C, T, Dptr, sequence, request ); } } else { - morse_pzunmlqrh( side, trans, A, C, T, Dptr, MORSE_RHBLK, sequence, request ); + chameleon_pzunmlqrh( side, trans, A, C, T, Dptr, CHAMELEON_RHBLK, sequence, request ); } if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( C, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zunmlq_param.c b/compute/zunmlq_param.c index 67f8dfa0dfdae0cc99ffbfe751dba179493d366f..1ddd96335dbd3ff3336677255d050c89bca0634a 100644 --- a/compute/zunmlq_param.c +++ b/compute/zunmlq_param.c @@ -23,9 +23,9 @@ /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zunmlq_param - Overwrites the general complex M-by-N matrix C with + * CHAMELEON_zunmlq_param - Overwrites the general complex M-by-N matrix C with * * SIDE = 'L' SIDE = 'R' * TRANS = 'N': Q * C C * Q @@ -36,8 +36,8 @@ * * Q = H(1) H(2) . . . H(k) * - * as returned by MORSE_zgeqrf. Q is of order M if SIDE = MorseLeft - * and of order N if SIDE = MorseRight. + * as returned by CHAMELEON_zgeqrf. Q is of order M if SIDE = ChamLeft + * and of order N if SIDE = ChamRight. * ******************************************************************************* * @@ -46,13 +46,13 @@ * * @param[in] side * Intended usage: - * = MorseLeft: apply Q or Q**H from the left; - * = MorseRight: apply Q or Q**H from the right. + * = ChamLeft: apply Q or Q**H from the left; + * = ChamRight: apply Q or Q**H from the right. * * @param[in] trans * Intended usage: - * = MorseNoTrans: no transpose, apply Q; - * = MorseConjTrans: conjugate transpose, apply Q**H. + * = ChamNoTrans: no transpose, apply Q; + * = ChamConjTrans: conjugate transpose, apply Q**H. * * @param[in] M * The number of rows of the matrix C. M >= 0. @@ -62,20 +62,20 @@ * * @param[in] K * The number of rows of elementary tile reflectors whose product defines the matrix Q. - * If side == MorseLeft, M >= K >= 0. - * If side == MorseRight, N >= K >= 0. + * If side == ChamLeft, M >= K >= 0. + * If side == ChamRight, N >= K >= 0. * * @param[in] A - * Details of the LQ factorization of the original matrix A as returned by MORSE_zgelqf. + * Details of the LQ factorization of the original matrix A as returned by CHAMELEON_zgelqf. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,K). * * @param[in] descTS - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[in] descTT - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[in,out] C * On entry, the M-by-N matrix C. @@ -87,145 +87,145 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zunmlq_param_Tile - * @sa MORSE_zunmlq_param_Tile_Async - * @sa MORSE_cunmlq - * @sa MORSE_dormlq - * @sa MORSE_sormlq - * @sa MORSE_zgelqf + * @sa CHAMELEON_zunmlq_param_Tile + * @sa CHAMELEON_zunmlq_param_Tile_Async + * @sa CHAMELEON_cunmlq + * @sa CHAMELEON_dormlq + * @sa CHAMELEON_sormlq + * @sa CHAMELEON_zgelqf * */ -int MORSE_zunmlq_param( const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, int M, int N, int K, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descTS, MORSE_desc_t *descTT, - MORSE_Complex64_t *C, int LDC ) +int CHAMELEON_zunmlq_param( const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, int M, int N, int K, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descTS, CHAM_desc_t *descTT, + CHAMELEON_Complex64_t *C, int LDC ) { int NB, An; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descCl, descCt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descCl, descCt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunmlq_param", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunmlq_param", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - if (side == MorseLeft) + if (side == ChamLeft) An = M; else An = N; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { - morse_error("MORSE_zunmlq_param", "illegal value of side"); + if ((side != ChamLeft) && (side != ChamRight)) { + chameleon_error("CHAMELEON_zunmlq_param", "illegal value of side"); return -1; } - if ((trans != MorseConjTrans) && (trans != MorseNoTrans)){ - morse_error("MORSE_zunmlq_param", "illegal value of trans"); + if ((trans != ChamConjTrans) && (trans != ChamNoTrans)){ + chameleon_error("CHAMELEON_zunmlq_param", "illegal value of trans"); return -2; } if (M < 0) { - morse_error("MORSE_zunmlq_param", "illegal value of M"); + chameleon_error("CHAMELEON_zunmlq_param", "illegal value of M"); return -3; } if (N < 0) { - morse_error("MORSE_zunmlq_param", "illegal value of N"); + chameleon_error("CHAMELEON_zunmlq_param", "illegal value of N"); return -4; } if ((K < 0) || (K > An)) { - morse_error("MORSE_zunmlq_param", "illegal value of K"); + chameleon_error("CHAMELEON_zunmlq_param", "illegal value of K"); return -5; } if (LDA < chameleon_max(1, K)) { - morse_error("MORSE_zunmlq_param", "illegal value of LDA"); + chameleon_error("CHAMELEON_zunmlq_param", "illegal value of LDA"); return -7; } if (LDC < chameleon_max(1, M)) { - morse_error("MORSE_zunmlq_param", "illegal value of LDC"); + chameleon_error("CHAMELEON_zunmlq_param", "illegal value of LDC"); return -10; } /* Quick return - currently NOT equivalent to LAPACK's: * CALL DLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, C, LDC ) */ if (chameleon_min(M, chameleon_min(N, K)) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, N & NRHS; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGELS, M, K, N); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zunmlq_param", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, K, N); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmlq_param", "chameleon_tune() failed"); return status; } /* Set MT, NT & NTRHS */ - NB = MORSE_NB; - morse_sequence_create( morse, &sequence ); + NB = CHAMELEON_NB; + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpper, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamUpper, A, NB, NB, LDA, An, K, An, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descCl, &descCt, ChamDescInout, ChamUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zunmlq_param_Tile_Async( qrtree, side, trans, &descAt, descTS, descTT, &descCt, sequence, &request ); + CHAMELEON_zunmlq_param_Tile_Async( qrtree, side, trans, &descAt, descTS, descTT, &descCt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseUpper, sequence, &request ); - morse_ztile2lap( morse, &descCl, &descCt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descTS, sequence ); - MORSE_Desc_Flush( descTT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamUpper, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descCl, &descCt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descTS, sequence ); + CHAMELEON_Desc_Flush( descTT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descCl, &descCt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descCl, &descCt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zunmlq_param_Tile - overwrites the general M-by-N matrix C with Q*C, where Q is an orthogonal + * CHAMELEON_zunmlq_param_Tile - overwrites the general M-by-N matrix C with Q*C, where Q is an orthogonal * matrix (unitary in the complex case) defined as the product of elementary reflectors returned - * by MORSE_zgelqf_Tile Q is of order M. + * by CHAMELEON_zgelqf_Tile Q is of order M. * All matrices are passed through descriptors. All dimensions are taken from the descriptors. * ******************************************************************************* * * @param[in] side * Intended usage: - * = MorseLeft: apply Q or Q**H from the left; - * = MorseRight: apply Q or Q**H from the right. - * Currently only MorseLeft is supported. + * = ChamLeft: apply Q or Q**H from the left; + * = ChamRight: apply Q or Q**H from the right. + * Currently only ChamLeft is supported. * * @param[in] trans * Intended usage: - * = MorseNoTrans: no transpose, apply Q; - * = MorseConjTrans: conjugate transpose, apply Q**H. - * Currently only MorseConjTrans is supported. + * = ChamNoTrans: no transpose, apply Q; + * = ChamConjTrans: conjugate transpose, apply Q**H. + * Currently only ChamConjTrans is supported. * * @param[in] A - * Details of the LQ factorization of the original matrix A as returned by MORSE_zgelqf. + * Details of the LQ factorization of the original matrix A as returned by CHAMELEON_zgelqf. * * @param[in] T - * Auxiliary factorization data, computed by MORSE_zgelqf. + * Auxiliary factorization data, computed by CHAMELEON_zgelqf. * * @param[in,out] C * On entry, the M-by-N matrix C. @@ -234,52 +234,52 @@ int MORSE_zunmlq_param( const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zunmlq_param - * @sa MORSE_zunmlq_param_Tile_Async - * @sa MORSE_cunmlq_Tile - * @sa MORSE_dormlq_Tile - * @sa MORSE_sormlq_Tile - * @sa MORSE_zgelqf_Tile + * @sa CHAMELEON_zunmlq_param + * @sa CHAMELEON_zunmlq_param_Tile_Async + * @sa CHAMELEON_cunmlq_Tile + * @sa CHAMELEON_dormlq_Tile + * @sa CHAMELEON_sormlq_Tile + * @sa CHAMELEON_zgelqf_Tile * */ -int MORSE_zunmlq_param_Tile( const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *C ) +int CHAMELEON_zunmlq_param_Tile( const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *C ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunmlq_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunmlq_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zunmlq_param_Tile_Async( qrtree, side, trans, A, TS, TT, C, sequence, &request ); + CHAMELEON_zunmlq_param_Tile_Async( qrtree, side, trans, A, TS, TT, C, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * Non-blocking equivalent of MORSE_zunmlq_param_Tile(). + * Non-blocking equivalent of CHAMELEON_zunmlq_param_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -294,96 +294,97 @@ int MORSE_zunmlq_param_Tile( const libhqr_tree_t *qrtree, MORSE_enum side, MORSE * ******************************************************************************* * - * @sa MORSE_zunmlq_param - * @sa MORSE_zunmlq_param_Tile - * @sa MORSE_cunmlq_Tile_Async - * @sa MORSE_dormlq_Tile_Async - * @sa MORSE_sormlq_Tile_Async - * @sa MORSE_zgelqf_Tile_Async + * @sa CHAMELEON_zunmlq_param + * @sa CHAMELEON_zunmlq_param_Tile + * @sa CHAMELEON_cunmlq_Tile_Async + * @sa CHAMELEON_dormlq_Tile_Async + * @sa CHAMELEON_sormlq_Tile_Async + * @sa CHAMELEON_zgelqf_Tile_Async * */ -int MORSE_zunmlq_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zunmlq_param_Tile_Async( const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunmlq_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunmlq_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zunmlq_param_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zunmlq_param_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zunmlq_param_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zunmlq_param_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zunmlq_param_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmlq_param_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TS) != MORSE_SUCCESS) { - morse_error("MORSE_zunmlq_param_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TS) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmlq_param_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TT) != MORSE_SUCCESS) { - morse_error("MORSE_zunmlq_param_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TT) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmlq_param_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(C) != MORSE_SUCCESS) { - morse_error("MORSE_zunmlq_param_Tile", "invalid fourth descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(C) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmlq_param_Tile", "invalid fourth descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || C->nb != C->mb) { - morse_error("MORSE_zunmlq_param_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zunmlq_param_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((side != MorseLeft) && (side != MorseRight)) { - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((side != ChamLeft) && (side != ChamRight)) { + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((trans != MorseConjTrans) && (trans != MorseNoTrans)){ - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((trans != ChamConjTrans) && (trans != ChamNoTrans)){ + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return - currently NOT equivalent to LAPACK's: * CALL DLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, C, LDC ) */ /* if (chameleon_min(M, chameleon_min(N, K)) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int m = chameleon_min(A->mt, A->nt) * A->mb; - morse_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, m, A->n, 0, 0, m, A->n, ); Dptr = &D; } #endif - morse_pzunmlq_param( qrtree, side, trans, A, C, TS, TT, Dptr, sequence, request ); + chameleon_pzunmlq_param( qrtree, side, trans, A, C, TS, TT, Dptr, sequence, request ); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( C, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zunmqr.c b/compute/zunmqr.c index 27e01a1f5d4fd5ac2b669998dc1c1139ef0a1ec5..5f275c61b9aa1662f27c286e88c2723198a2d136 100644 --- a/compute/zunmqr.c +++ b/compute/zunmqr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,9 +28,9 @@ /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zunmqr - Overwrites the general complex M-by-N matrix C with + * CHAMELEON_zunmqr - Overwrites the general complex M-by-N matrix C with * * SIDE = 'L' SIDE = 'R' * TRANS = 'N': Q * C C * Q @@ -41,20 +41,20 @@ * * Q = H(1) H(2) . . . H(k) * - * as returned by MORSE_zgeqrf. Q is of order M if SIDE = MorseLeft - * and of order N if SIDE = MorseRight. + * as returned by CHAMELEON_zgeqrf. Q is of order M if SIDE = ChamLeft + * and of order N if SIDE = ChamRight. * ******************************************************************************* * * @param[in] side * Intended usage: - * = MorseLeft: apply Q or Q**H from the left; - * = MorseRight: apply Q or Q**H from the right. + * = ChamLeft: apply Q or Q**H from the left; + * = ChamRight: apply Q or Q**H from the right. * * @param[in] trans * Intended usage: - * = MorseNoTrans: no transpose, apply Q; - * = MorseConjTrans: conjugate transpose, apply Q**H. + * = ChamNoTrans: no transpose, apply Q; + * = ChamConjTrans: conjugate transpose, apply Q**H. * * @param[in] M * The number of rows of the matrix C. M >= 0. @@ -65,19 +65,19 @@ * @param[in] K * The number of elementary reflectors whose product defines * the matrix Q. - * If side == MorseLeft, M >= K >= 0. - * If side == MorseRight, N >= K >= 0. + * If side == ChamLeft, M >= K >= 0. + * If side == ChamRight, N >= K >= 0. * * @param[in] A - * Details of the QR factorization of the original matrix A as returned by MORSE_zgeqrf. + * Details of the QR factorization of the original matrix A as returned by CHAMELEON_zgeqrf. * * @param[in] LDA * The leading dimension of the array A. - * If side == MorseLeft, LDA >= max(1,M). - * If side == MorseRight, LDA >= max(1,N). + * If side == ChamLeft, LDA >= max(1,M). + * If side == ChamRight, LDA >= max(1,N). * * @param[in] descT - * Auxiliary factorization data, computed by MORSE_zgeqrf. + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. * * @param[in,out] C * On entry, the M-by-N matrix C. @@ -89,146 +89,146 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zunmqr_Tile - * @sa MORSE_zunmqr_Tile_Async - * @sa MORSE_cunmqr - * @sa MORSE_dormqr - * @sa MORSE_sormqr - * @sa MORSE_zgeqrf + * @sa CHAMELEON_zunmqr_Tile + * @sa CHAMELEON_zunmqr_Tile_Async + * @sa CHAMELEON_cunmqr + * @sa CHAMELEON_dormqr + * @sa CHAMELEON_sormqr + * @sa CHAMELEON_zgeqrf * */ -int MORSE_zunmqr( MORSE_enum side, MORSE_enum trans, int M, int N, int K, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descT, - MORSE_Complex64_t *C, int LDC ) +int CHAMELEON_zunmqr( cham_side_t side, cham_trans_t trans, int M, int N, int K, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descT, + CHAMELEON_Complex64_t *C, int LDC ) { int NB, Am; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descCl, descCt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descCl, descCt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunmqr", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunmqr", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - if ( side == MorseLeft ) { + if ( side == ChamLeft ) { Am = M; } else { Am = N; } /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { - morse_error("MORSE_zunmqr", "illegal value of side"); + if ((side != ChamLeft) && (side != ChamRight)) { + chameleon_error("CHAMELEON_zunmqr", "illegal value of side"); return -1; } - if ((trans != MorseConjTrans) && (trans != MorseNoTrans)){ - morse_error("MORSE_zunmqr", "illegal value of trans"); + if ((trans != ChamConjTrans) && (trans != ChamNoTrans)){ + chameleon_error("CHAMELEON_zunmqr", "illegal value of trans"); return -2; } if (M < 0) { - morse_error("MORSE_zunmqr", "illegal value of M"); + chameleon_error("CHAMELEON_zunmqr", "illegal value of M"); return -3; } if (N < 0) { - morse_error("MORSE_zunmqr", "illegal value of N"); + chameleon_error("CHAMELEON_zunmqr", "illegal value of N"); return -4; } if ((K < 0) || (K > Am)) { - morse_error("MORSE_zunmqr", "illegal value of K"); + chameleon_error("CHAMELEON_zunmqr", "illegal value of K"); return -5; } if (LDA < chameleon_max(1, Am)) { - morse_error("MORSE_zunmqr", "illegal value of LDA"); + chameleon_error("CHAMELEON_zunmqr", "illegal value of LDA"); return -7; } if (LDC < chameleon_max(1, M)) { - morse_error("MORSE_zunmqr", "illegal value of LDC"); + chameleon_error("CHAMELEON_zunmqr", "illegal value of LDC"); return -10; } /* Quick return - currently NOT equivalent to LAPACK's: * CALL DLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, C, LDC ) */ if (chameleon_min(M, chameleon_min(N, K)) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, K & N; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGELS, M, K, N); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zunmqr", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, K, N); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmqr", "chameleon_tune() failed"); return status; } /* Set MT, NT & NTRHS */ - NB = MORSE_NB; - morse_sequence_create( morse, &sequence ); + NB = CHAMELEON_NB; + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamLower, A, NB, NB, LDA, K, Am, K, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descCl, &descCt, ChamDescInout, ChamUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zunmqr_Tile_Async( side, trans, &descAt, descT, &descCt, sequence, &request ); + CHAMELEON_zunmqr_Tile_Async( side, trans, &descAt, descT, &descCt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseLower, sequence, &request ); - morse_ztile2lap( morse, &descCl, &descCt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descCl, &descCt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descCl, &descCt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descCl, &descCt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zunmqr_Tile - overwrites the general M-by-N matrix C with Q*C, where Q is an orthogonal + * CHAMELEON_zunmqr_Tile - overwrites the general M-by-N matrix C with Q*C, where Q is an orthogonal * matrix (unitary in the complex case) defined as the product of elementary reflectors returned - * by MORSE_zgeqrf_Tile Q is of order M. + * by CHAMELEON_zgeqrf_Tile Q is of order M. * All matrices are passed through descriptors. All dimensions are taken from the descriptors. * ******************************************************************************* * * @param[in] side * Intended usage: - * = MorseLeft: apply Q or Q**H from the left; - * = MorseRight: apply Q or Q**H from the right. - * Currently only MorseLeft is supported. + * = ChamLeft: apply Q or Q**H from the left; + * = ChamRight: apply Q or Q**H from the right. + * Currently only ChamLeft is supported. * * @param[in] trans * Intended usage: - * = MorseNoTrans: no transpose, apply Q; - * = MorseConjTrans: conjugate transpose, apply Q**H. - * Currently only MorseConjTrans is supported. + * = ChamNoTrans: no transpose, apply Q; + * = ChamConjTrans: conjugate transpose, apply Q**H. + * Currently only ChamConjTrans is supported. * * @param[in] A - * Details of the QR factorization of the original matrix A as returned by MORSE_zgeqrf. + * Details of the QR factorization of the original matrix A as returned by CHAMELEON_zgeqrf. * * @param[in] T - * Auxiliary factorization data, computed by MORSE_zgeqrf. - * Can be obtained with MORSE_Alloc_Workspace_zgeqrf + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. + * Can be obtained with CHAMELEON_Alloc_Workspace_zgeqrf * * @param[in,out] C * On entry, the M-by-N matrix C. @@ -237,51 +237,51 @@ int MORSE_zunmqr( MORSE_enum side, MORSE_enum trans, int M, int N, int K, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zunmqr - * @sa MORSE_zunmqr_Tile_Async - * @sa MORSE_cunmqr_Tile - * @sa MORSE_dormqr_Tile - * @sa MORSE_sormqr_Tile - * @sa MORSE_zgeqrf_Tile + * @sa CHAMELEON_zunmqr + * @sa CHAMELEON_zunmqr_Tile_Async + * @sa CHAMELEON_cunmqr_Tile + * @sa CHAMELEON_dormqr_Tile + * @sa CHAMELEON_sormqr_Tile + * @sa CHAMELEON_zgeqrf_Tile * */ -int MORSE_zunmqr_Tile( MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *C ) +int CHAMELEON_zunmqr_Tile( cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *C ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunmqr_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunmqr_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zunmqr_Tile_Async(side, trans, A, T, C, sequence, &request ); + CHAMELEON_zunmqr_Tile_Async(side, trans, A, T, C, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************** * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * Non-blocking equivalent of MORSE_zunmqr_Tile(). + * Non-blocking equivalent of CHAMELEON_zunmqr_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -296,102 +296,103 @@ int MORSE_zunmqr_Tile( MORSE_enum side, MORSE_enum trans, * ******************************************************************************* * - * @sa MORSE_zunmqr - * @sa MORSE_zunmqr_Tile - * @sa MORSE_cunmqr_Tile_Async - * @sa MORSE_dormqr_Tile_Async - * @sa MORSE_sormqr_Tile_Async - * @sa MORSE_zgeqrf_Tile_Async + * @sa CHAMELEON_zunmqr + * @sa CHAMELEON_zunmqr_Tile + * @sa CHAMELEON_cunmqr_Tile_Async + * @sa CHAMELEON_dormqr_Tile_Async + * @sa CHAMELEON_sormqr_Tile_Async + * @sa CHAMELEON_zgeqrf_Tile_Async * */ -int MORSE_zunmqr_Tile_Async( MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zunmqr_Tile_Async( cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunmqr_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunmqr_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zunmqr_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zunmqr_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zunmqr_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zunmqr_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zunmqr_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmqr_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(T) != MORSE_SUCCESS) { - morse_error("MORSE_zunmqr_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(T) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmqr_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(C) != MORSE_SUCCESS) { - morse_error("MORSE_zunmqr_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(C) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmqr_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || C->nb != C->mb) { - morse_error("MORSE_zunmqr_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zunmqr_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((side != MorseLeft) && (side != MorseRight)) { - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((side != ChamLeft) && (side != ChamRight)) { + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((trans != MorseConjTrans) && (trans != MorseNoTrans)){ - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((trans != ChamConjTrans) && (trans != ChamNoTrans)){ + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return - currently NOT equivalent to LAPACK's: * CALL DLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, C, LDC ) */ /* if (chameleon_min(M, chameleon_min(N, K)) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - if (morse->householder == MORSE_FLAT_HOUSEHOLDER) { - if ( (trans == MorseConjTrans) && - (side == MorseLeft) ) { - morse_pzunmqr( side, trans, A, C, T, Dptr, sequence, request ); + if (chamctxt->householder == ChamFlatHouseholder) { + if ( (trans == ChamConjTrans) && + (side == ChamLeft) ) { + chameleon_pzunmqr( side, trans, A, C, T, Dptr, sequence, request ); } else { - morse_pzunmqr( side, trans, A, C, T, Dptr, sequence, request ); + chameleon_pzunmqr( side, trans, A, C, T, Dptr, sequence, request ); } } else { - morse_pzunmqrrh( side, trans, A, C, T, Dptr, MORSE_RHBLK, sequence, request ); + chameleon_pzunmqrrh( side, trans, A, C, T, Dptr, CHAMELEON_RHBLK, sequence, request ); } if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( C, sequence ); - MORSE_Desc_Flush( T, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( T, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/compute/zunmqr_param.c b/compute/zunmqr_param.c index c6903c21533e3e92b9b57253eba363c6d49ead50..cc1c09c50ca94a794bd44700c039d41cdf76ac07 100644 --- a/compute/zunmqr_param.c +++ b/compute/zunmqr_param.c @@ -23,9 +23,9 @@ /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t + * @ingroup CHAMELEON_Complex64_t * - * MORSE_zunmqr_param - Overwrites the general complex M-by-N matrix C with + * CHAMELEON_zunmqr_param - Overwrites the general complex M-by-N matrix C with * * SIDE = 'L' SIDE = 'R' * TRANS = 'N': Q * C C * Q @@ -36,8 +36,8 @@ * * Q = H(1) H(2) . . . H(k) * - * as returned by MORSE_zgeqrf. Q is of order M if SIDE = MorseLeft - * and of order N if SIDE = MorseRight. + * as returned by CHAMELEON_zgeqrf. Q is of order M if SIDE = ChamLeft + * and of order N if SIDE = ChamRight. * ******************************************************************************* * @@ -46,13 +46,13 @@ * * @param[in] side * Intended usage: - * = MorseLeft: apply Q or Q**H from the left; - * = MorseRight: apply Q or Q**H from the right. + * = ChamLeft: apply Q or Q**H from the left; + * = ChamRight: apply Q or Q**H from the right. * * @param[in] trans * Intended usage: - * = MorseNoTrans: no transpose, apply Q; - * = MorseConjTrans: conjugate transpose, apply Q**H. + * = ChamNoTrans: no transpose, apply Q; + * = ChamConjTrans: conjugate transpose, apply Q**H. * * @param[in] M * The number of rows of the matrix C. M >= 0. @@ -63,22 +63,22 @@ * @param[in] K * The number of elementary reflectors whose product defines * the matrix Q. - * If side == MorseLeft, M >= K >= 0. - * If side == MorseRight, N >= K >= 0. + * If side == ChamLeft, M >= K >= 0. + * If side == ChamRight, N >= K >= 0. * * @param[in] A - * Details of the QR factorization of the original matrix A as returned by MORSE_zgeqrf. + * Details of the QR factorization of the original matrix A as returned by CHAMELEON_zgeqrf. * * @param[in] LDA * The leading dimension of the array A. - * If side == MorseLeft, LDA >= max(1,M). - * If side == MorseRight, LDA >= max(1,N). + * If side == ChamLeft, LDA >= max(1,M). + * If side == ChamRight, LDA >= max(1,N). * * @param[in] descTS - * Auxiliary factorization data, computed by MORSE_zgeqrf. + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. * * @param[in] descTT - * Auxiliary factorization data, computed by MORSE_zgeqrf. + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. * * @param[in,out] C * On entry, the M-by-N matrix C. @@ -90,148 +90,148 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * ******************************************************************************* * - * @sa MORSE_zunmqr_param_Tile - * @sa MORSE_zunmqr_param_Tile_Async - * @sa MORSE_cunmqr - * @sa MORSE_dormqr - * @sa MORSE_sormqr - * @sa MORSE_zgeqrf + * @sa CHAMELEON_zunmqr_param_Tile + * @sa CHAMELEON_zunmqr_param_Tile_Async + * @sa CHAMELEON_cunmqr + * @sa CHAMELEON_dormqr + * @sa CHAMELEON_sormqr + * @sa CHAMELEON_zgeqrf * */ -int MORSE_zunmqr_param( const libhqr_tree_t *qrtree, - MORSE_enum side, MORSE_enum trans, int M, int N, int K, - MORSE_Complex64_t *A, int LDA, - MORSE_desc_t *descTS, MORSE_desc_t *descTT, - MORSE_Complex64_t *C, int LDC ) +int CHAMELEON_zunmqr_param( const libhqr_tree_t *qrtree, + cham_side_t side, cham_trans_t trans, int M, int N, int K, + CHAMELEON_Complex64_t *A, int LDA, + CHAM_desc_t *descTS, CHAM_desc_t *descTT, + CHAMELEON_Complex64_t *C, int LDC ) { int NB, Am; int status; - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; - MORSE_desc_t descAl, descAt; - MORSE_desc_t descCl, descCt; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; + CHAM_desc_t descAl, descAt; + CHAM_desc_t descCl, descCt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunmqr_param", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunmqr_param", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - if ( side == MorseLeft ) { + if ( side == ChamLeft ) { Am = M; } else { Am = N; } /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { - morse_error("MORSE_zunmqr_param", "illegal value of side"); + if ((side != ChamLeft) && (side != ChamRight)) { + chameleon_error("CHAMELEON_zunmqr_param", "illegal value of side"); return -1; } - if ((trans != MorseConjTrans) && (trans != MorseNoTrans)){ - morse_error("MORSE_zunmqr_param", "illegal value of trans"); + if ((trans != ChamConjTrans) && (trans != ChamNoTrans)){ + chameleon_error("CHAMELEON_zunmqr_param", "illegal value of trans"); return -2; } if (M < 0) { - morse_error("MORSE_zunmqr_param", "illegal value of M"); + chameleon_error("CHAMELEON_zunmqr_param", "illegal value of M"); return -3; } if (N < 0) { - morse_error("MORSE_zunmqr_param", "illegal value of N"); + chameleon_error("CHAMELEON_zunmqr_param", "illegal value of N"); return -4; } if ((K < 0) || (K > Am)) { - morse_error("MORSE_zunmqr_param", "illegal value of K"); + chameleon_error("CHAMELEON_zunmqr_param", "illegal value of K"); return -5; } if (LDA < chameleon_max(1, Am)) { - morse_error("MORSE_zunmqr_param", "illegal value of LDA"); + chameleon_error("CHAMELEON_zunmqr_param", "illegal value of LDA"); return -7; } if (LDC < chameleon_max(1, M)) { - morse_error("MORSE_zunmqr_param", "illegal value of LDC"); + chameleon_error("CHAMELEON_zunmqr_param", "illegal value of LDC"); return -10; } /* Quick return - currently NOT equivalent to LAPACK's: * CALL DLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, C, LDC ) */ if (chameleon_min(M, chameleon_min(N, K)) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Tune NB & IB depending on M, K & N; Set NBNB */ - status = morse_tune(MORSE_FUNC_ZGELS, M, K, N); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_zunmqr_param", "morse_tune() failed"); + status = chameleon_tune(CHAMELEON_FUNC_ZGELS, M, K, N); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmqr_param", "chameleon_tune() failed"); return status; } /* Set MT, NT & NTRHS */ - NB = MORSE_NB; - morse_sequence_create( morse, &sequence ); + NB = CHAMELEON_NB; + chameleon_sequence_create( chamctxt, &sequence ); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseLower, + chameleon_zlap2tile( chamctxt, &descAl, &descAt, ChamDescInput, ChamLower, A, NB, NB, LDA, K, Am, K, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, + chameleon_zlap2tile( chamctxt, &descCl, &descCt, ChamDescInout, ChamUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ - MORSE_zunmqr_param_Tile_Async( qrtree, side, trans, &descAt, descTS, descTT, &descCt, sequence, &request ); + CHAMELEON_zunmqr_param_Tile_Async( qrtree, side, trans, &descAt, descTS, descTT, &descCt, sequence, &request ); /* Submit the matrix conversion back */ - morse_ztile2lap( morse, &descAl, &descAt, - MorseDescInput, MorseLower, sequence, &request ); - morse_ztile2lap( morse, &descCl, &descCt, - MorseDescInout, MorseUpperLower, sequence, &request ); - MORSE_Desc_Flush( descTS, sequence ); - MORSE_Desc_Flush( descTT, sequence ); + chameleon_ztile2lap( chamctxt, &descAl, &descAt, + ChamDescInput, ChamLower, sequence, &request ); + chameleon_ztile2lap( chamctxt, &descCl, &descCt, + ChamDescInout, ChamUpperLower, sequence, &request ); + CHAMELEON_Desc_Flush( descTS, sequence ); + CHAMELEON_Desc_Flush( descTT, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); /* Cleanup the temporary data */ - morse_ztile2lap_cleanup( morse, &descAl, &descAt ); - morse_ztile2lap_cleanup( morse, &descCl, &descCt ); + chameleon_ztile2lap_cleanup( chamctxt, &descAl, &descAt ); + chameleon_ztile2lap_cleanup( chamctxt, &descCl, &descCt ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile + * @ingroup CHAMELEON_Complex64_t_Tile * - * MORSE_zunmqr_param_Tile - overwrites the general M-by-N matrix C with Q*C, where Q is an orthogonal + * CHAMELEON_zunmqr_param_Tile - overwrites the general M-by-N matrix C with Q*C, where Q is an orthogonal * matrix (unitary in the complex case) defined as the product of elementary reflectors returned - * by MORSE_zgeqrf_Tile Q is of order M. + * by CHAMELEON_zgeqrf_Tile Q is of order M. * All matrices are passed through descriptors. All dimensions are taken from the descriptors. * ******************************************************************************* * * @param[in] side * Intended usage: - * = MorseLeft: apply Q or Q**H from the left; - * = MorseRight: apply Q or Q**H from the right. - * Currently only MorseLeft is supported. + * = ChamLeft: apply Q or Q**H from the left; + * = ChamRight: apply Q or Q**H from the right. + * Currently only ChamLeft is supported. * * @param[in] trans * Intended usage: - * = MorseNoTrans: no transpose, apply Q; - * = MorseConjTrans: conjugate transpose, apply Q**H. - * Currently only MorseConjTrans is supported. + * = ChamNoTrans: no transpose, apply Q; + * = ChamConjTrans: conjugate transpose, apply Q**H. + * Currently only ChamConjTrans is supported. * * @param[in] A - * Details of the QR factorization of the original matrix A as returned by MORSE_zgeqrf. + * Details of the QR factorization of the original matrix A as returned by CHAMELEON_zgeqrf. * * @param[in] T - * Auxiliary factorization data, computed by MORSE_zgeqrf. - * Can be obtained with MORSE_Alloc_Workspace_zgeqrf + * Auxiliary factorization data, computed by CHAMELEON_zgeqrf. + * Can be obtained with CHAMELEON_Alloc_Workspace_zgeqrf * * @param[in,out] C * On entry, the M-by-N matrix C. @@ -240,52 +240,52 @@ int MORSE_zunmqr_param( const libhqr_tree_t *qrtree, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ******************************************************************************* * - * @sa MORSE_zunmqr_param - * @sa MORSE_zunmqr_param_Tile_Async - * @sa MORSE_cunmqr_Tile - * @sa MORSE_dormqr_Tile - * @sa MORSE_sormqr_Tile - * @sa MORSE_zgeqrf_Tile + * @sa CHAMELEON_zunmqr_param + * @sa CHAMELEON_zunmqr_param_Tile_Async + * @sa CHAMELEON_cunmqr_Tile + * @sa CHAMELEON_dormqr_Tile + * @sa CHAMELEON_sormqr_Tile + * @sa CHAMELEON_zgeqrf_Tile * */ -int MORSE_zunmqr_param_Tile( const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *C ) +int CHAMELEON_zunmqr_param_Tile( const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *C ) { - MORSE_context_t *morse; - MORSE_sequence_t *sequence = NULL; - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + CHAM_context_t *chamctxt; + RUNTIME_sequence_t *sequence = NULL; + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunmqr_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunmqr_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - morse_sequence_create( morse, &sequence ); + chameleon_sequence_create( chamctxt, &sequence ); - MORSE_zunmqr_param_Tile_Async( qrtree, side, trans, A, TS, TT, C, sequence, &request ); + CHAMELEON_zunmqr_param_Tile_Async( qrtree, side, trans, A, TS, TT, C, sequence, &request ); - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); - morse_sequence_wait( morse, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); status = sequence->status; - morse_sequence_destroy( morse, sequence ); + chameleon_sequence_destroy( chamctxt, sequence ); return status; } /** ******************************************************************************* * - * @ingroup MORSE_Complex64_t_Tile_Async + * @ingroup CHAMELEON_Complex64_t_Tile_Async * - * Non-blocking equivalent of MORSE_zunmqr_param_Tile(). + * Non-blocking equivalent of CHAMELEON_zunmqr_param_Tile(). * May return before the computation is finished. * Allows for pipelining of operations at runtime. * @@ -300,97 +300,98 @@ int MORSE_zunmqr_param_Tile( const libhqr_tree_t *qrtree, MORSE_enum side, MORSE * ******************************************************************************* * - * @sa MORSE_zunmqr_param - * @sa MORSE_zunmqr_param_Tile - * @sa MORSE_cunmqr_Tile_Async - * @sa MORSE_dormqr_Tile_Async - * @sa MORSE_sormqr_Tile_Async - * @sa MORSE_zgeqrf_Tile_Async + * @sa CHAMELEON_zunmqr_param + * @sa CHAMELEON_zunmqr_param_Tile + * @sa CHAMELEON_cunmqr_Tile_Async + * @sa CHAMELEON_dormqr_Tile_Async + * @sa CHAMELEON_sormqr_Tile_Async + * @sa CHAMELEON_zgeqrf_Tile_Async * */ -int MORSE_zunmqr_param_Tile_Async( const libhqr_tree_t *qrtree, - MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *C, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +int CHAMELEON_zunmqr_param_Tile_Async( const libhqr_tree_t *qrtree, + cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *C, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { - MORSE_context_t *morse; - MORSE_desc_t D, *Dptr = NULL; + CHAM_context_t *chamctxt; + CHAM_desc_t D, *Dptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_zunmqr_param_Tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_zunmqr_param_Tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_zunmqr_param_Tile", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zunmqr_param_Tile", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } if (request == NULL) { - morse_fatal_error("MORSE_zunmqr_param_Tile", "NULL request"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_zunmqr_param_Tile", "NULL request"); + return CHAMELEON_ERR_UNALLOCATED; } /* Check sequence status */ - if (sequence->status == MORSE_SUCCESS) { - request->status = MORSE_SUCCESS; + if (sequence->status == CHAMELEON_SUCCESS) { + request->status = CHAMELEON_SUCCESS; } else { - return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); } /* Check descriptors for correctness */ - if (morse_desc_check(A) != MORSE_SUCCESS) { - morse_error("MORSE_zunmqr_param_Tile", "invalid first descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(A) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmqr_param_Tile", "invalid first descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TS) != MORSE_SUCCESS) { - morse_error("MORSE_zunmqr_param_Tile", "invalid second descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TS) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmqr_param_Tile", "invalid second descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(TT) != MORSE_SUCCESS) { - morse_error("MORSE_zunmqr_param_Tile", "invalid third descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(TT) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmqr_param_Tile", "invalid third descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if (morse_desc_check(C) != MORSE_SUCCESS) { - morse_error("MORSE_zunmqr_param_Tile", "invalid fourth descriptor"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if (chameleon_desc_check(C) != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_zunmqr_param_Tile", "invalid fourth descriptor"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Check input arguments */ if (A->nb != A->mb || C->nb != C->mb) { - morse_error("MORSE_zunmqr_param_Tile", "only square tiles supported"); - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + chameleon_error("CHAMELEON_zunmqr_param_Tile", "only square tiles supported"); + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((side != MorseLeft) && (side != MorseRight)) { - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((side != ChamLeft) && (side != ChamRight)) { + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } - if ((trans != MorseConjTrans) && (trans != MorseNoTrans)){ - return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE); + if ((trans != ChamConjTrans) && (trans != ChamNoTrans)){ + return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE); } /* Quick return - currently NOT equivalent to LAPACK's: * CALL DLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, C, LDC ) */ /* if (chameleon_min(M, chameleon_min(N, K)) == 0) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; */ #if defined(CHAMELEON_COPY_DIAG) { int n = chameleon_min(A->mt, A->nt) * A->nb; - morse_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); + chameleon_zdesc_alloc(D, A->mb, A->nb, A->m, n, 0, 0, A->m, n, ); Dptr = &D; } #endif - morse_pzunmqr_param( qrtree, side, trans, A, C, TS, TT, Dptr, sequence, request ); + chameleon_pzunmqr_param( qrtree, side, trans, A, C, TS, TT, Dptr, sequence, request ); if (Dptr != NULL) { - MORSE_Desc_Flush( A, sequence ); - MORSE_Desc_Flush( C, sequence ); - MORSE_Desc_Flush( TS, sequence ); - MORSE_Desc_Flush( TT, sequence ); - MORSE_Desc_Flush( Dptr, sequence ); - morse_sequence_wait( morse, sequence ); - morse_desc_mat_free( Dptr ); + CHAMELEON_Desc_Flush( A, sequence ); + CHAMELEON_Desc_Flush( C, sequence ); + CHAMELEON_Desc_Flush( TS, sequence ); + CHAMELEON_Desc_Flush( TT, sequence ); + CHAMELEON_Desc_Flush( Dptr, sequence ); + chameleon_sequence_wait( chamctxt, sequence ); + RUNTIME_desc_destroy( Dptr ); + chameleon_desc_mat_free( Dptr ); } (void)D; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/control/CMakeLists.txt b/control/CMakeLists.txt index 1ab6efa3d62f82122f7cc1334f395ea8d45cd716..567ffa31af192184151421627bbbcc2e098de47a 100644 --- a/control/CMakeLists.txt +++ b/control/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -27,7 +27,7 @@ ### -# Generate the morse headers for all possible precisions +# Generate the chameleon headers for all possible precisions # ------------------------------------------------------ set(CHAMELEON_HDRS_GENERATED "") set(ZHDR @@ -47,8 +47,8 @@ set(CHAMELEON_HDRS descriptor.h gkkleader.h global.h - morse_f77.h - morsewinthread.h + chameleon_f77.h + chameleonwinthread.h workspace.h ) diff --git a/control/async.c b/control/async.c index 31ec1941e11aff629389b296724e84cfbc9c83fb..927f03ad458daef9a7c3106bdba65480fa01da04 100644 --- a/control/async.c +++ b/control/async.c @@ -25,12 +25,12 @@ */ #include <stdlib.h> #include "control/common.h" -#include "chameleon/morse_runtime.h" +#include "chameleon/runtime.h" /** * Register an exception. */ -int morse_request_fail(MORSE_sequence_t *sequence, MORSE_request_t *request, int status) +int chameleon_request_fail(RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int status) { sequence->request = request; sequence->status = status; @@ -41,43 +41,43 @@ int morse_request_fail(MORSE_sequence_t *sequence, MORSE_request_t *request, int /** * Create a sequence */ -int morse_sequence_create(MORSE_context_t *morse, MORSE_sequence_t **sequence) +int chameleon_sequence_create(CHAM_context_t *chamctxt, RUNTIME_sequence_t **sequence) { - if ((*sequence = malloc(sizeof(MORSE_sequence_t))) == NULL) { - morse_error("MORSE_Sequence_Create", "malloc() failed"); - return MORSE_ERR_OUT_OF_RESOURCES; + if ((*sequence = malloc(sizeof(RUNTIME_sequence_t))) == NULL) { + chameleon_error("CHAMELEON_Sequence_Create", "malloc() failed"); + return CHAMELEON_ERR_OUT_OF_RESOURCES; } - RUNTIME_sequence_create( morse, *sequence ); + RUNTIME_sequence_create( chamctxt, *sequence ); - (*sequence)->status = MORSE_SUCCESS; - return MORSE_SUCCESS; + (*sequence)->status = CHAMELEON_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Destroy a sequence */ -int morse_sequence_destroy(MORSE_context_t *morse, MORSE_sequence_t *sequence) +int chameleon_sequence_destroy(CHAM_context_t *chamctxt, RUNTIME_sequence_t *sequence) { - RUNTIME_sequence_destroy( morse, sequence ); + RUNTIME_sequence_destroy( chamctxt, sequence ); free(sequence); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Wait for the completion of a sequence */ -int morse_sequence_wait(MORSE_context_t *morse, MORSE_sequence_t *sequence) +int chameleon_sequence_wait(CHAM_context_t *chamctxt, RUNTIME_sequence_t *sequence) { - RUNTIME_sequence_wait( morse, sequence ); - return MORSE_SUCCESS; + RUNTIME_sequence_wait( chamctxt, sequence ); + return CHAMELEON_SUCCESS; } /** * * @ingroup Sequences * - * MORSE_Sequence_Create - Create a squence. + * CHAMELEON_Sequence_Create - Create a squence. * ****************************************************************************** * @@ -87,20 +87,20 @@ int morse_sequence_wait(MORSE_context_t *morse, MORSE_sequence_t *sequence) ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Sequence_Create(MORSE_sequence_t **sequence) +int CHAMELEON_Sequence_Create(RUNTIME_sequence_t **sequence) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_Sequence_Create", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_Sequence_Create", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - status = morse_sequence_create(morse, sequence); + status = chameleon_sequence_create(chamctxt, sequence); return status; } @@ -108,7 +108,7 @@ int MORSE_Sequence_Create(MORSE_sequence_t **sequence) * * @ingroup Sequences * - * MORSE_Sequence_Destroy - Destroy a sequence. + * CHAMELEON_Sequence_Destroy - Destroy a sequence. * ****************************************************************************** * @@ -118,24 +118,24 @@ int MORSE_Sequence_Create(MORSE_sequence_t **sequence) ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Sequence_Destroy(MORSE_sequence_t *sequence) +int CHAMELEON_Sequence_Destroy(RUNTIME_sequence_t *sequence) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_Sequence_Destroy", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_Sequence_Destroy", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_Sequence_Destroy", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_Sequence_Destroy", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } - status = morse_sequence_destroy(morse, sequence); + status = chameleon_sequence_destroy(chamctxt, sequence); return status; } @@ -143,7 +143,7 @@ int MORSE_Sequence_Destroy(MORSE_sequence_t *sequence) * * @ingroup Sequences * - * MORSE_Sequence_Wait - Wait for the completion of a sequence. + * CHAMELEON_Sequence_Wait - Wait for the completion of a sequence. * ****************************************************************************** * @@ -153,24 +153,24 @@ int MORSE_Sequence_Destroy(MORSE_sequence_t *sequence) ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Sequence_Wait(MORSE_sequence_t *sequence) +int CHAMELEON_Sequence_Wait(RUNTIME_sequence_t *sequence) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; int status; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_Sequence_Wait", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_Sequence_Wait", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_Sequence_Wait", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_Sequence_Wait", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } - status = morse_sequence_wait(morse, sequence); + status = chameleon_sequence_wait(chamctxt, sequence); return status; } @@ -178,7 +178,7 @@ int MORSE_Sequence_Wait(MORSE_sequence_t *sequence) * * @ingroup Sequences * - * MORSE_Sequence_Flush - Terminate a sequence. + * CHAMELEON_Sequence_Flush - Terminate a sequence. * ****************************************************************************** * @@ -191,24 +191,24 @@ int MORSE_Sequence_Wait(MORSE_sequence_t *sequence) ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Sequence_Flush(MORSE_sequence_t *sequence, MORSE_request_t *request) +int CHAMELEON_Sequence_Flush(RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_Sequence_Flush", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_Sequence_Flush", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (sequence == NULL) { - morse_fatal_error("MORSE_Sequence_Flush", "NULL sequence"); - return MORSE_ERR_UNALLOCATED; + chameleon_fatal_error("CHAMELEON_Sequence_Flush", "NULL sequence"); + return CHAMELEON_ERR_UNALLOCATED; } - RUNTIME_sequence_flush( morse->schedopt, sequence, request, MORSE_ERR_SEQUENCE_FLUSHED); + RUNTIME_sequence_flush( chamctxt->schedopt, sequence, request, CHAMELEON_ERR_SEQUENCE_FLUSHED); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/control/async.h b/control/async.h index 3773cd34e821408397b0ce6c8e0f49004fd6a804..f35e5f7c9f0af3fe1ecaf23ec58b9648d0bf586b 100644 --- a/control/async.h +++ b/control/async.h @@ -17,10 +17,10 @@ * @date 2010-11-15 * */ -#ifndef _MORSE_ASYNC_H_ -#define _MORSE_ASYNC_H_ +#ifndef _CHAMELEON_ASYNC_H_ +#define _CHAMELEON_ASYNC_H_ -#include "chameleon/morse_struct.h" +#include "chameleon/struct.h" #ifdef __cplusplus extern "C" { @@ -29,10 +29,10 @@ extern "C" { /** * Internal routines */ -int morse_request_fail (MORSE_sequence_t *sequence, MORSE_request_t *request, int error); -int morse_sequence_create (MORSE_context_t *MORSE, MORSE_sequence_t **sequence); -int morse_sequence_destroy (MORSE_context_t *MORSE, MORSE_sequence_t *sequence); -int morse_sequence_wait (MORSE_context_t *MORSE, MORSE_sequence_t *sequence); +int chameleon_request_fail (RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int error); +int chameleon_sequence_create (CHAM_context_t *CHAMELEON, RUNTIME_sequence_t **sequence); +int chameleon_sequence_destroy (CHAM_context_t *CHAMELEON, RUNTIME_sequence_t *sequence); +int chameleon_sequence_wait (CHAM_context_t *CHAMELEON, RUNTIME_sequence_t *sequence); #ifdef __cplusplus } diff --git a/control/auxiliary.c b/control/auxiliary.c index db8c7e678dffcae5b2dda06e6c35f29adc9ca593..55e05b2650e63f335dec9fde7e6ac838f9d3f596 100644 --- a/control/auxiliary.c +++ b/control/auxiliary.c @@ -36,7 +36,7 @@ * * Indicates a recoverable problem. * User's erroneous action without severe consequences. - * Problems occuring while MORSE is being used correctly. + * Problems occuring while CHAMELEON is being used correctly. * Context aware. * * @param[in] func_name @@ -46,22 +46,22 @@ * Warning message to display. * */ -void morse_warning(const char *func_name, const char *msg_text) +void chameleon_warning(const char *func_name, const char *msg_text) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) - morse_fatal_error("morse_warning", "MORSE not initialized"); - if (morse->warnings_enabled) - fprintf(stderr, "MORSE WARNING: %s(): %s\n", func_name, msg_text); + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) + chameleon_fatal_error("chameleon_warning", "CHAMELEON not initialized"); + if (chamctxt->warnings_enabled) + fprintf(stderr, "CHAMELEON WARNING: %s(): %s\n", func_name, msg_text); } /** * * Indicates a recoverable problem. * User's erroneous action with potentially severe consequences. - * Problems occuring due to incorrect use of MORSE. + * Problems occuring due to incorrect use of CHAMELEON. * Context aware. * * @param[in] func_name @@ -71,9 +71,9 @@ void morse_warning(const char *func_name, const char *msg_text) * Warning message to display. * */ -void morse_error(const char *func_name, const char *msg_text) +void chameleon_error(const char *func_name, const char *msg_text) { - fprintf(stderr, "MORSE ERROR: %s(): %s\n", func_name, msg_text); + fprintf(stderr, "CHAMELEON ERROR: %s(): %s\n", func_name, msg_text); } /** @@ -89,64 +89,64 @@ void morse_error(const char *func_name, const char *msg_text) * Warning message to display. * */ -void morse_fatal_error(const char *func_name, const char *msg_text) +void chameleon_fatal_error(const char *func_name, const char *msg_text) { - fprintf(stderr, "MORSE FATAL ERROR: %s(): %s\n", func_name, msg_text); + fprintf(stderr, "CHAMELEON FATAL ERROR: %s(): %s\n", func_name, msg_text); exit(0); } /** * Returns core id */ -int morse_rank(MORSE_context_t *morse) +int chameleon_rank(CHAM_context_t *chamctxt) { - return RUNTIME_thread_rank( morse ); + return RUNTIME_thread_rank( chamctxt ); } /** * Tune block size nb and internal block size ib */ -int morse_tune(MORSE_enum func, int M, int N, int NRHS) +int chameleon_tune(cham_tasktype_t func, int M, int N, int NRHS) { - MORSE_context_t *morse; - morse = morse_context_self(); - if ( morse && morse->autotuning_enabled == MORSE_TRUE ) { - morse_warning( "morse_tune", "Autotunning not available for now" ); + CHAM_context_t *chamctxt; + chamctxt = chameleon_context_self(); + if ( chamctxt && chamctxt->autotuning_enabled == CHAMELEON_TRUE ) { + chameleon_warning( "chameleon_tune", "Autotunning not available for now" ); } (void)func; (void)M; (void)N; (void)NRHS; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * * @ingroup Auxiliary * - * MORSE_Version - Reports MORSE version number. + * CHAMELEON_Version - Reports CHAMELEON version number. * ****************************************************************************** * * @param[out] ver_major - * MORSE major version number. + * CHAMELEON major version number. * * @param[out] ver_minor - * MORSE minor version number. + * CHAMELEON minor version number. * * @param[out] ver_micro - * MORSE micro version number. + * CHAMELEON micro version number. * ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Version(int *ver_major, int *ver_minor, int *ver_micro) +int CHAMELEON_Version(int *ver_major, int *ver_minor, int *ver_micro) { if (! ver_major && ! ver_minor && ! ver_micro) - return MORSE_ERR_ILLEGAL_VALUE; + return CHAMELEON_ERR_ILLEGAL_VALUE; if (ver_major) *ver_major = CHAMELEON_VERSION_MAJOR; @@ -157,26 +157,26 @@ int MORSE_Version(int *ver_major, int *ver_minor, int *ver_micro) if (ver_micro) *ver_micro = CHAMELEON_VERSION_MICRO; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * * @ingroup Auxiliary * - * MORSE_Element_Size - Reports the size in bytes of a MORSE precision type - * (e.g. MorseInteger, MorseRealFloat, etc). + * CHAMELEON_Element_Size - Reports the size in bytes of a CHAMELEON precision type + * (e.g. ChamInteger, ChamRealFloat, etc). * ****************************************************************************** * * @param[in] type - * MORSE element type, can be one of the following: - * - MorseByte - * - MorseInteger - * - MorseRealFloat - * - MorseRealDouble - * - MorseComplexFloat - * - MorseComplexDouble + * CHAMELEON element type, can be one of the following: + * - ChamByte + * - ChamInteger + * - ChamRealFloat + * - ChamRealDouble + * - ChamComplexFloat + * - ChamComplexDouble * ****************************************************************************** * @@ -184,17 +184,17 @@ int MORSE_Version(int *ver_major, int *ver_minor, int *ver_micro) * \retval Element size in bytes * */ -int MORSE_Element_Size(int type) +int CHAMELEON_Element_Size(int type) { switch(type) { - case MorseByte: return 1; - case MorseInteger: return sizeof(int); - case MorseRealFloat: return sizeof(float); - case MorseRealDouble: return sizeof(double); - case MorseComplexFloat: return 2*sizeof(float); - case MorseComplexDouble: return 2*sizeof(double); - default: morse_fatal_error("MORSE_Element_Size", "undefined type"); - return MORSE_ERR_ILLEGAL_VALUE; + case ChamByte: return 1; + case ChamInteger: return sizeof(int); + case ChamRealFloat: return sizeof(float); + case ChamRealDouble: return sizeof(double); + case ChamComplexFloat: return 2*sizeof(float); + case ChamComplexDouble: return 2*sizeof(double); + default: chameleon_fatal_error("CHAMELEON_Element_Size", "undefined type"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } } @@ -203,7 +203,7 @@ int MORSE_Element_Size(int type) * * @ingroup Auxiliary * - * MORSE_My_Mpi_Rank - Return the MPI rank of the calling process. + * CHAMELEON_My_Mpi_Rank - Return the MPI rank of the calling process. * ****************************************************************************** * @@ -213,17 +213,17 @@ int MORSE_Element_Size(int type) * \retval MPI rank * */ -int MORSE_My_Mpi_Rank(void) +int CHAMELEON_My_Mpi_Rank(void) { #if defined(CHAMELEON_USE_MPI) - MORSE_context_t *morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Finalize()", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + CHAM_context_t *chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Finalize()", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - return MORSE_MPI_RANK; + return CHAMELEON_MPI_RANK; #else - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; #endif } @@ -260,11 +260,11 @@ void update_progress(int currentValue, int maximumValue) { // A function to display the progress indicator. // By default it is update_progress() -// The user can change it with MORSE_Set_update_progress_callback() +// The user can change it with CHAMELEON_Set_update_progress_callback() void (*update_progress_callback)(int, int) = update_progress; -int MORSE_Set_update_progress_callback(void (*p)(int, int)) { +int CHAMELEON_Set_update_progress_callback(void (*p)(int, int)) { update_progress_callback = p; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/control/auxiliary.h b/control/auxiliary.h index 45ba468a8c5ed3917871b40bf0e30a4d26d39209..28a585857a211b5a798132a80e91e8d84fc424b0 100644 --- a/control/auxiliary.h +++ b/control/auxiliary.h @@ -19,10 +19,11 @@ * @date 2010-11-15 * */ -#ifndef _MORSE_AUXILIARY_H_ -#define _MORSE_AUXILIARY_H_ +#ifndef _CHAMELEON_AUXILIARY_H_ +#define _CHAMELEON_AUXILIARY_H_ -#include "chameleon/morse_struct.h" +#include "chameleon/struct.h" +#include "chameleon/tasks.h" #ifdef __cplusplus extern "C" { @@ -31,18 +32,18 @@ extern "C" { /** * Internal routines */ -void morse_warning (const char *func_name, const char* msg_text); -void morse_error (const char *func_name, const char* msg_text); -void morse_fatal_error (const char *func_name, const char* msg_text); -int morse_rank (MORSE_context_t *morse); -int morse_tune (MORSE_enum func, int M, int N, int NRHS); +void chameleon_warning (const char *func_name, const char* msg_text); +void chameleon_error (const char *func_name, const char* msg_text); +void chameleon_fatal_error (const char *func_name, const char* msg_text); +int chameleon_rank (CHAM_context_t *chamctxt); +int chameleon_tune (cham_tasktype_t func, int M, int N, int NRHS); /** * API routines */ -int MORSE_Version (int *ver_major, int *ver_minor, int *ver_micro); -int MORSE_Element_Size (int type); -int MORSE_My_Mpi_Rank (void); +int CHAMELEON_Version (int *ver_major, int *ver_minor, int *ver_micro); +int CHAMELEON_Element_Size (int type); +int CHAMELEON_My_Mpi_Rank (void); #ifdef __cplusplus } diff --git a/control/chameleon_f77.c b/control/chameleon_f77.c new file mode 100644 index 0000000000000000000000000000000000000000..e5c5c96b163b4ec531e7bf547268a3bbe6d8b4b8 --- /dev/null +++ b/control/chameleon_f77.c @@ -0,0 +1,107 @@ +/** + * + * @file chameleon_f77.c + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Chameleon Fortran77 interface + * + * @version 1.0.0 + * @author Bilel Hadri + * @author Cedric Castagnede + * @author Florent Pruvost + * @date 2010-11-15 + * + */ +#include <stdlib.h> +#include "control/common.h" +#include "chameleon.h" +#include "chameleon_f77.h" + +#ifdef __cplusplus +extern "C" { +#endif + + /** + * FORTRAN API - auxiliary function prototypes + */ + void CHAMELEON_INIT(int *CORES, int *NGPUS, int *INFO) + { *INFO = CHAMELEON_Init(*CORES, *NGPUS); } + + void CHAMELEON_FINALIZE(int *INFO) + { *INFO = CHAMELEON_Finalize(); } + + void CHAMELEON_ENABLE(int *lever, int *INFO) + { *INFO = CHAMELEON_Enable(*lever); } + + void CHAMELEON_DISABLE(int *lever, int *INFO) + { *INFO = CHAMELEON_Disable(*lever); } + + void CHAMELEON_SET(int *param, int *value, int *INFO) + { *INFO = CHAMELEON_Set(*param, *value); } + + void CHAMELEON_GET(int *param, int *value, int *INFO) + { *INFO = CHAMELEON_Get(*param, value); } + + void CHAMELEON_DEALLOC_HANDLE(size_t *sp, int *INFO) + { free((void *)(*sp)); + *INFO = CHAMELEON_SUCCESS; } + + void CHAMELEON_VERSION(int *VER_MAJOR, int *VER_MINOR, int *VER_MICRO, int *INFO) + { + *VER_MAJOR = CHAMELEON_VERSION_MAJOR; + *VER_MINOR = CHAMELEON_VERSION_MINOR; + *VER_MICRO = CHAMELEON_VERSION_MICRO; + *INFO = CHAMELEON_SUCCESS; + } + + /** + * FORTRAN API - descriptor allocation and deallocation + */ + void CHAMELEON_DESC_CREATE(CHAM_desc_t **desc, void *mat, cham_flttype_t *dtyp, + int *mb, int *nb, int *bsiz, int *lm, int *ln, + int *i, int *j, int *m, int *n, int *p, int *q, + int *INFO) + { *INFO = CHAMELEON_Desc_Create(desc, mat, *dtyp, *mb, *nb, *bsiz, *lm, *ln, *i, *j, *m, *n, *p, *q); } + void CHAMELEON_DESC_CREATE_OOC(CHAM_desc_t **desc, cham_flttype_t *dtyp, + int *mb, int *nb, int *bsiz, int *lm, int *ln, + int *i, int *j, int *m, int *n, int *p, int *q, + int *INFO) + { *INFO = CHAMELEON_Desc_Create_OOC(desc, *dtyp, *mb, *nb, *bsiz, *lm, *ln, *i, *j, *m, *n, *p, *q); } + void CHAMELEON_DESC_CREATE_USER(CHAM_desc_t **descptr, void *mat, cham_flttype_t *dtyp, + int *mb, int *nb, int *bsiz, int *lm, int *ln, + int *i, int *j, int *m, int *n, int *p, int *q, + void* (*get_blkaddr)( const CHAM_desc_t*, int, int ), + int (*get_blkldd) ( const CHAM_desc_t*, int ), + int (*get_rankof) ( const CHAM_desc_t*, int, int ), + int *INFO) + { *INFO = CHAMELEON_Desc_Create_User(descptr, mat, *dtyp, *mb, *nb, *bsiz, *lm, *ln, *i, *j, *m, *n, *p, *q, + get_blkaddr, get_blkldd, get_rankof); } + void CHAMELEON_DESC_CREATE_OOC_USER(CHAM_desc_t **descptr, cham_flttype_t *dtyp, + int *mb, int *nb, int *bsiz, int *lm, int *ln, + int *i, int *j, int *m, int *n, int *p, int *q, + int (*get_rankof) ( const CHAM_desc_t*, int, int ), + int *INFO) + { *INFO = CHAMELEON_Desc_Create_OOC_User(descptr, *dtyp, *mb, *nb, *bsiz, *lm, *ln, *i, *j, *m, *n, *p, *q, + get_rankof); } + + void CHAMELEON_DESC_DESTROY(CHAM_desc_t **desc, int *INFO) + { *INFO = CHAMELEON_Desc_Destroy(desc); } + + /** + * FORTRAN API - conversion from LAPACK F77 matrix layout to tile layout + */ + void CHAMELEON_LAPACK_TO_TILE(intptr_t *Af77, int *LDA, intptr_t *A, int *INFO) + { *INFO = CHAMELEON_Lapack_to_Tile( (void *)Af77, *LDA, (CHAM_desc_t *)(*A)); } + + void CHAMELEON_TILE_TO_LAPACK(intptr_t *A, intptr_t *Af77, int *LDA, int *INFO) + { *INFO = CHAMELEON_Tile_to_Lapack((CHAM_desc_t *)(*A), (void *)Af77, *LDA); } + +#ifdef __cplusplus +} +#endif diff --git a/control/chameleon_f77.h b/control/chameleon_f77.h new file mode 100644 index 0000000000000000000000000000000000000000..df10423275ac1722744f1b9f019de42341167a4c --- /dev/null +++ b/control/chameleon_f77.h @@ -0,0 +1,49 @@ +/** + * + * @file chameleon_f77.h + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Chameleon Fortran77 naming macros + * + * @version 1.0.0 + * @author Florent Pruvost + * @date 2017-05-03 + * + */ +#ifndef _CHAMELEON_F77_H_ +#define _CHAMELEON_F77_H_ + +#include "chameleon/mangling.h" + +/** + * Determine FORTRAN names + */ +#define CHAMELEON_FNAME(lcname, UCNAME) CHAMELEON_GLOBAL(chameleon_##lcname, CHAMELEON_##UCNAME) +#define CHAMELEON_TILE_FNAME(lcname, UCNAME) CHAMELEON_GLOBAL(chameleon_##lcname##_tile, CHAMELEON_##UCNAME##_TILE) +#define CHAMELEON_ASYNC_FNAME(lcname, UCNAME) CHAMELEON_GLOBAL(chameleon_##lcname##_tile_async, CHAMELEON_##UCNAME##_TILE_ASYNC) +#define CHAMELEON_WS_FNAME(lcname, UCNAME) CHAMELEON_GLOBAL(chameleon_alloc_workspace_##lcname, CHAMELEON_ALLOC_WORKSPACE_##UCNAME) +#define CHAMELEON_WST_FNAME(lcname, UCNAME) CHAMELEON_GLOBAL(chameleon_alloc_workspace_##lcname##_tile, CHAMELEON_ALLOC_WORKSPACE_##UCNAME##_TILE) + +#define CHAMELEON_INIT CHAMELEON_GLOBAL(chameleon_init, CHAMELEON_INIT) +#define CHAMELEON_FINALIZE CHAMELEON_GLOBAL(chameleon_finalize, CHAMELEON_FINALIZE) +#define CHAMELEON_ENABLE CHAMELEON_GLOBAL(chameleon_enable, CHAMELEON_ENABLE) +#define CHAMELEON_DISABLE CHAMELEON_GLOBAL(chameleon_disable, CHAMELEON_DISABLE) +#define CHAMELEON_SET CHAMELEON_GLOBAL(chameleon_set, CHAMELEON_SET) +#define CHAMELEON_GET CHAMELEON_GLOBAL(chameleon_get, CHAMELEON_GET) +#define CHAMELEON_DEALLOC_HANDLE CHAMELEON_GLOBAL(chameleon_dealloc_handle, CHAMELEON_DEALLOC_HANDLE) +#define CHAMELEON_VERSION CHAMELEON_GLOBAL(chameleon_version, CHAMELEON_VERSION) +#define CHAMELEON_DESC_CREATE CHAMELEON_GLOBAL(chameleon_desc_create, CHAMELEON_DESC_CREATE) +#define CHAMELEON_DESC_CREATE_OOC CHAMELEON_GLOBAL(chameleon_desc_create_ooc, CHAMELEON_DESC_CREATE_OOC) +#define CHAMELEON_DESC_CREATE_USER CHAMELEON_GLOBAL(chameleon_desc_create_user, CHAMELEON_DESC_CREATE_USER) +#define CHAMELEON_DESC_CREATE_OOC_USER CHAMELEON_GLOBAL(chameleon_desc_create_ooc_user, CHAMELEON_DESC_CREATE_OOC_USER) +#define CHAMELEON_DESC_DESTROY CHAMELEON_GLOBAL(chameleon_desc_destroy, CHAMELEON_DESC_DESTROY) +#define CHAMELEON_LAPACK_TO_TILE CHAMELEON_GLOBAL(chameleon_lapack_to_tile, CHAMELEON_LAPACK_TO_TILE) +#define CHAMELEON_TILE_TO_LAPACK CHAMELEON_GLOBAL(chameleon_tile_to_lapack, CHAMELEON_TILE_TO_LAPACK) + +#endif diff --git a/control/morse_f90.f90 b/control/chameleon_f90.f90 similarity index 55% rename from control/morse_f90.f90 rename to control/chameleon_f90.f90 index d0a445e6c17066946653a4d3e6f0969e8c1c3a40..8b63fc04dac5606a5371fd08cf644f247fa356a3 100644 --- a/control/morse_f90.f90 +++ b/control/chameleon_f90.f90 @@ -65,8 +65,8 @@ ! ! ! -! MORSE fortran 90 interface -! MORSE is a software package provided by Univ. of Tennessee, +! CHAMELEON fortran 90 interface +! CHAMELEON is a software package provided by Univ. of Tennessee, ! Univ. of California Berkeley and Univ. of Colorado Denver ! ! @version 1.0.0 @@ -74,157 +74,157 @@ ! @date 2011-09-15 ! @precisions normal z -> c d s ! -module morse +module chameleon - use morse_s - use morse_d - use morse_ds - use morse_c - use morse_z - use morse_zc - include 'morse_fortran.h' + use chameleon_s + use chameleon_d + use chameleon_ds + use chameleon_c + use chameleon_z + use chameleon_zc + include 'chameleon_fortran.h' - logical :: morse_initialized = .false. + logical :: chameleon_initialized = .false. integer, parameter :: sp = kind(0.0) integer, parameter :: dp = kind(0.0d0) interface - function MORSE_Init_c(cpus, gpus) & - & bind(c, name='MORSE_Init') + function CHAMELEON_Init_c(cpus, gpus) & + & bind(c, name='CHAMELEON_Init') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Init_c + integer(kind=c_int) :: CHAMELEON_Init_c integer(kind=c_int), value :: cpus, gpus - end function MORSE_Init_c + end function CHAMELEON_Init_c end interface interface - function MORSE_Finalize_c() & - & bind(c, name='MORSE_Finalize') + function CHAMELEON_Finalize_c() & + & bind(c, name='CHAMELEON_Finalize') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Finalize_c - end function MORSE_Finalize_c + integer(kind=c_int) :: CHAMELEON_Finalize_c + end function CHAMELEON_Finalize_c end interface interface - function MORSE_Set_c(param, pval) & - & bind(c, name='MORSE_Set') + function CHAMELEON_Set_c(param, pval) & + & bind(c, name='CHAMELEON_Set') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Set_c + integer(kind=c_int) :: CHAMELEON_Set_c integer(kind=c_int), value :: param integer(kind=c_int), value :: pval - end function MORSE_Set_c + end function CHAMELEON_Set_c end interface interface - function MORSE_Get_c(param, pval) & - & bind(c, name='MORSE_Get') + function CHAMELEON_Get_c(param, pval) & + & bind(c, name='CHAMELEON_Get') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Get_c + integer(kind=c_int) :: CHAMELEON_Get_c integer(kind=c_int), value :: param type(c_ptr), value :: pval - end function MORSE_Get_c + end function CHAMELEON_Get_c end interface interface - function MORSE_Enable_c(param) & - & bind(c, name='MORSE_Enable') + function CHAMELEON_Enable_c(param) & + & bind(c, name='CHAMELEON_Enable') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Enable_c + integer(kind=c_int) :: CHAMELEON_Enable_c integer(kind=c_int), value :: param - end function MORSE_Enable_c + end function CHAMELEON_Enable_c end interface interface - function MORSE_Disable_c(param) & - & bind(c, name='MORSE_Disable') + function CHAMELEON_Disable_c(param) & + & bind(c, name='CHAMELEON_Disable') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Disable_c + integer(kind=c_int) :: CHAMELEON_Disable_c integer(kind=c_int), value :: param - end function MORSE_Disable_c + end function CHAMELEON_Disable_c end interface interface - function MORSE_Lapack_to_Tile_c(a_lpk,lda,a_pma) & - & bind(c, name='MORSE_Lapack_to_Tile') + function CHAMELEON_Lapack_to_Tile_c(a_lpk,lda,a_pma) & + & bind(c, name='CHAMELEON_Lapack_to_Tile') use iso_c_binding - integer(kind=c_int) :: MORSE_Lapack_to_Tile_c + integer(kind=c_int) :: CHAMELEON_Lapack_to_Tile_c type(c_ptr), value :: a_lpk, a_pma integer(kind=c_int), value :: lda - end function MORSE_Lapack_to_Tile_c + end function CHAMELEON_Lapack_to_Tile_c end interface interface - function MORSE_Tile_to_Lapack_c(a_pma,a_lpk,lda) & - & bind(c, name='MORSE_Tile_to_Lapack') + function CHAMELEON_Tile_to_Lapack_c(a_pma,a_lpk,lda) & + & bind(c, name='CHAMELEON_Tile_to_Lapack') use iso_c_binding - integer(kind=c_int) :: MORSE_Tile_to_Lapack_c + integer(kind=c_int) :: CHAMELEON_Tile_to_Lapack_c type(c_ptr), value :: a_lpk, a_pma integer(kind=c_int), value :: lda - end function MORSE_Tile_to_Lapack_c + end function CHAMELEON_Tile_to_Lapack_c end interface interface - function MORSE_Desc_Create_c(desc, mat, dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q) & - & bind(c, name='MORSE_Desc_Create') + function CHAMELEON_Desc_Create_c(desc, mat, dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q) & + & bind(c, name='CHAMELEON_Desc_Create') use iso_c_binding - integer(kind=c_int) :: MORSE_Desc_Create_c + integer(kind=c_int) :: CHAMELEON_Desc_Create_c type(c_ptr) :: desc type(c_ptr), value :: mat integer(kind=c_int), value :: dtyp integer(kind=c_int), value :: mb, nb, bsiz, lm, ln, i, j, m, n,p, q - end function MORSE_Desc_Create_c + end function CHAMELEON_Desc_Create_c end interface interface - function MORSE_Desc_Create_OOC_c(desc, dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q) & - & bind(c, name='MORSE_Desc_Create_OOC') + function CHAMELEON_Desc_Create_OOC_c(desc, dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q) & + & bind(c, name='CHAMELEON_Desc_Create_OOC') use iso_c_binding - integer(kind=c_int) :: MORSE_Desc_Create_OOC_c + integer(kind=c_int) :: CHAMELEON_Desc_Create_OOC_c type(c_ptr) :: desc integer(kind=c_int), value :: dtyp integer(kind=c_int), value :: mb, nb, bsiz, lm, ln, i, j, m, n,p, q - end function MORSE_Desc_Create_OOC_c + end function CHAMELEON_Desc_Create_OOC_c end interface interface - function MORSE_Desc_Create_User_c(desc, mat, dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, get_blkaddr, get_blkldd, get_rankof) & - & bind(c, name='MORSE_Desc_Create_User') + function CHAMELEON_Desc_Create_User_c(desc, mat, dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, get_blkaddr, get_blkldd, get_rankof) & + & bind(c, name='CHAMELEON_Desc_Create_User') use iso_c_binding - integer(kind=c_int) :: MORSE_Desc_Create_User_c + integer(kind=c_int) :: CHAMELEON_Desc_Create_User_c type(c_ptr) :: desc type(c_ptr), value :: mat integer(kind=c_int), value :: dtyp integer(kind=c_int), value :: mb, nb, bsiz, lm, ln, i, j, m, n, p, q type(c_ptr) :: get_blkaddr type(c_ptr), value :: get_blkldd, get_rankof - end function MORSE_Desc_Create_User_c + end function CHAMELEON_Desc_Create_User_c end interface interface - function MORSE_Desc_Create_OOC_User_c(desc, dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, get_rankof) & - & bind(c, name='MORSE_Desc_Create_OOC_User') + function CHAMELEON_Desc_Create_OOC_User_c(desc, dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, get_rankof) & + & bind(c, name='CHAMELEON_Desc_Create_OOC_User') use iso_c_binding - integer(kind=c_int) :: MORSE_Desc_Create_OOC_User_c + integer(kind=c_int) :: CHAMELEON_Desc_Create_OOC_User_c type(c_ptr) :: desc integer(kind=c_int), value :: dtyp integer(kind=c_int), value :: mb, nb, bsiz, lm, ln, i, j, m, n, p, q type(c_ptr), value :: get_rankof - end function MORSE_Desc_Create_OOC_User_c + end function CHAMELEON_Desc_Create_OOC_User_c end interface interface - function MORSE_Desc_Destroy_c(desc) & - & bind(c, name='MORSE_Desc_Destroy') + function CHAMELEON_Desc_Destroy_c(desc) & + & bind(c, name='CHAMELEON_Desc_Destroy') use iso_c_binding - integer(kind=c_int) :: MORSE_Desc_Destroy_c + integer(kind=c_int) :: CHAMELEON_Desc_Destroy_c type(c_ptr) :: desc - end function MORSE_Desc_Destroy_c + end function CHAMELEON_Desc_Destroy_c end interface interface @@ -236,237 +236,237 @@ module morse end interface interface - function MORSE_Version_c(maj,min,mic) & - & bind(c, name='MORSE_Version') + function CHAMELEON_Version_c(maj,min,mic) & + & bind(c, name='CHAMELEON_Version') use iso_c_binding - integer(kind=c_int) :: MORSE_Version_c + integer(kind=c_int) :: CHAMELEON_Version_c type(c_ptr), value :: maj,min,mic - end function MORSE_Version_c + end function CHAMELEON_Version_c end interface interface - function MORSE_Init_Affinity_c(cores,gpus,bindtab) & - & bind(c, name='MORSE_Init_Affinity') + function CHAMELEON_Init_Affinity_c(cores,gpus,bindtab) & + & bind(c, name='CHAMELEON_Init_Affinity') use iso_c_binding - integer(kind=c_int) :: MORSE_Init_Affinity_c + integer(kind=c_int) :: CHAMELEON_Init_Affinity_c integer(kind=c_int), value :: cores, gpus type(c_ptr), value :: bindtab - end function MORSE_Init_Affinity_c + end function CHAMELEON_Init_Affinity_c end interface interface - function MORSE_Dealloc_Handle_c(handle) & - & bind(c, name='MORSE_Dealloc_Handle') + function CHAMELEON_Dealloc_Handle_c(handle) & + & bind(c, name='CHAMELEON_Dealloc_Handle') use iso_c_binding - integer(kind=c_int) :: MORSE_Dealloc_Handle_c + integer(kind=c_int) :: CHAMELEON_Dealloc_Handle_c type(c_ptr) :: handle - end function MORSE_Dealloc_Handle_c + end function CHAMELEON_Dealloc_Handle_c end interface interface - function MORSE_Dealloc_Handle_Tile_c(desc) & - & bind(c, name='MORSE_Dealloc_Handle_Tile') + function CHAMELEON_Dealloc_Handle_Tile_c(desc) & + & bind(c, name='CHAMELEON_Dealloc_Handle_Tile') use iso_c_binding - integer(kind=c_int) :: MORSE_Dealloc_Handle_Tile_c + integer(kind=c_int) :: CHAMELEON_Dealloc_Handle_Tile_c type(c_ptr) :: desc - end function MORSE_Dealloc_Handle_Tile_c + end function CHAMELEON_Dealloc_Handle_Tile_c end interface interface - function MORSE_Sequence_Create_c(seq) & - & bind(c, name='MORSE_Sequence_Create') + function CHAMELEON_Sequence_Create_c(seq) & + & bind(c, name='CHAMELEON_Sequence_Create') use iso_c_binding - integer(kind=c_int) :: MORSE_Sequence_Create_c + integer(kind=c_int) :: CHAMELEON_Sequence_Create_c type(c_ptr) :: seq - end function MORSE_Sequence_Create_c + end function CHAMELEON_Sequence_Create_c end interface interface - function MORSE_Sequence_Destroy_c(seq) & - & bind(c, name='MORSE_Sequence_Destroy') + function CHAMELEON_Sequence_Destroy_c(seq) & + & bind(c, name='CHAMELEON_Sequence_Destroy') use iso_c_binding - integer(kind=c_int) :: MORSE_Sequence_Destroy_c + integer(kind=c_int) :: CHAMELEON_Sequence_Destroy_c type(c_ptr), value :: seq - end function MORSE_Sequence_Destroy_c + end function CHAMELEON_Sequence_Destroy_c end interface interface - function MORSE_Sequence_Wait_c(seq) & - & bind(c, name='MORSE_Sequence_Wait') + function CHAMELEON_Sequence_Wait_c(seq) & + & bind(c, name='CHAMELEON_Sequence_Wait') use iso_c_binding - integer(kind=c_int) :: MORSE_Sequence_Wait_c + integer(kind=c_int) :: CHAMELEON_Sequence_Wait_c type(c_ptr), value :: seq - end function MORSE_Sequence_Wait_c + end function CHAMELEON_Sequence_Wait_c end interface interface - function MORSE_Sequence_Flush_c(seq,req) & - & bind(c, name='MORSE_Sequence_Flush') + function CHAMELEON_Sequence_Flush_c(seq,req) & + & bind(c, name='CHAMELEON_Sequence_Flush') use iso_c_binding - integer(kind=c_int) :: MORSE_Sequence_Flush_c + integer(kind=c_int) :: CHAMELEON_Sequence_Flush_c type(c_ptr), value :: seq type(c_ptr), value :: req - end function MORSE_Sequence_Flush_c + end function CHAMELEON_Sequence_Flush_c end interface - interface morse_lapack_to_tile - module procedure morse_lapack_to_tile_s - module procedure morse_lapack_to_tile_d - module procedure morse_lapack_to_tile_cpx - module procedure morse_lapack_to_tile_z - end interface morse_lapack_to_tile - - interface morse_tile_to_lapack - module procedure morse_tile_to_lapack_s - module procedure morse_tile_to_lapack_d - module procedure morse_tile_to_lapack_cpx - module procedure morse_tile_to_lapack_z - end interface morse_tile_to_lapack - - interface morse_desc_create - module procedure morse_desc_create_s - module procedure morse_desc_create_d - module procedure morse_desc_create_cpx - module procedure morse_desc_create_z - end interface morse_desc_create + interface chameleon_lapack_to_tile + module procedure chameleon_lapack_to_tile_s + module procedure chameleon_lapack_to_tile_d + module procedure chameleon_lapack_to_tile_cpx + module procedure chameleon_lapack_to_tile_z + end interface chameleon_lapack_to_tile + + interface chameleon_tile_to_lapack + module procedure chameleon_tile_to_lapack_s + module procedure chameleon_tile_to_lapack_d + module procedure chameleon_tile_to_lapack_cpx + module procedure chameleon_tile_to_lapack_z + end interface chameleon_tile_to_lapack + + interface chameleon_desc_create + module procedure chameleon_desc_create_s + module procedure chameleon_desc_create_d + module procedure chameleon_desc_create_cpx + module procedure chameleon_desc_create_z + end interface chameleon_desc_create contains - subroutine morse_init(cores,gpus,info) + subroutine chameleon_init(cores,gpus,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: cores, gpus integer(kind=c_int), intent(out) :: info - info = morse_init_c(cores,gpus) - morse_initialized = .true. - end subroutine morse_init + info = chameleon_init_c(cores,gpus) + chameleon_initialized = .true. + end subroutine chameleon_init - subroutine morse_finalize(info) + subroutine chameleon_finalize(info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - info = morse_finalize_c() - morse_initialized = .false. - end subroutine morse_finalize + info = chameleon_finalize_c() + chameleon_initialized = .false. + end subroutine chameleon_finalize - subroutine morse_set(param,pval,info) + subroutine chameleon_set(param,pval,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: param integer(kind=c_int), intent(in) :: pval integer(kind=c_int), intent(out) :: info - info = morse_set_c(param,pval) - end subroutine morse_set + info = chameleon_set_c(param,pval) + end subroutine chameleon_set - subroutine morse_get(param,pval,info) + subroutine chameleon_get(param,pval,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: param integer(kind=c_int), intent(out), target :: pval integer(kind=c_int), intent(out) :: info - info = morse_get_c(param,c_loc(pval)) - end subroutine morse_get + info = chameleon_get_c(param,c_loc(pval)) + end subroutine chameleon_get - subroutine morse_enable(param,info) + subroutine chameleon_enable(param,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: param integer(kind=c_int), intent(out) :: info - info = morse_enable_c(param) - end subroutine morse_enable + info = chameleon_enable_c(param) + end subroutine chameleon_enable - subroutine morse_disable(param,info) + subroutine chameleon_disable(param,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: param integer(kind=c_int), intent(out) :: info - info = morse_disable_c(param) - end subroutine morse_disable + info = chameleon_disable_c(param) + end subroutine chameleon_disable ! overloaded: single precision - subroutine morse_lapack_to_tile_s(a_lpk,lda,a_pma,info) + subroutine chameleon_lapack_to_tile_s(a_lpk,lda,a_pma,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: lda real(kind=sp), intent(out), target :: a_lpk(lda,*) type(c_ptr), intent(out) :: a_pma integer(kind=c_int), intent(out) :: info - info = morse_lapack_to_tile_c(c_loc(a_lpk),lda,a_pma) - end subroutine morse_lapack_to_tile_s + info = chameleon_lapack_to_tile_c(c_loc(a_lpk),lda,a_pma) + end subroutine chameleon_lapack_to_tile_s ! overloaded: double precision - subroutine morse_lapack_to_tile_d(a_lpk,lda,a_pma,info) + subroutine chameleon_lapack_to_tile_d(a_lpk,lda,a_pma,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: lda real(kind=dp), intent(out), target :: a_lpk(lda,*) type(c_ptr), intent(out) :: a_pma integer(kind=c_int), intent(out) :: info - info = morse_lapack_to_tile_c(c_loc(a_lpk),lda,a_pma) - end subroutine morse_lapack_to_tile_d + info = chameleon_lapack_to_tile_c(c_loc(a_lpk),lda,a_pma) + end subroutine chameleon_lapack_to_tile_d ! overloaded: single precision complex - subroutine morse_lapack_to_tile_cpx(a_lpk,lda,a_pma,info) + subroutine chameleon_lapack_to_tile_cpx(a_lpk,lda,a_pma,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: lda complex(kind=sp), intent(out), target :: a_lpk(lda,*) type(c_ptr), intent(out) :: a_pma integer(kind=c_int), intent(out) :: info - info = morse_lapack_to_tile_c(c_loc(a_lpk),lda,a_pma) - end subroutine morse_lapack_to_tile_cpx + info = chameleon_lapack_to_tile_c(c_loc(a_lpk),lda,a_pma) + end subroutine chameleon_lapack_to_tile_cpx ! overloaded: double precision complex - subroutine morse_lapack_to_tile_z(a_lpk,lda,a_pma,info) + subroutine chameleon_lapack_to_tile_z(a_lpk,lda,a_pma,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: lda complex(kind=dp), intent(out), target :: a_lpk(lda,*) type(c_ptr), intent(out) :: a_pma integer(kind=c_int), intent(out) :: info - info = morse_lapack_to_tile_c(c_loc(a_lpk),lda,a_pma) - end subroutine morse_lapack_to_tile_z + info = chameleon_lapack_to_tile_c(c_loc(a_lpk),lda,a_pma) + end subroutine chameleon_lapack_to_tile_z ! overloaded: single precision - subroutine morse_tile_to_lapack_s(a_pma,a_lpk,lda,info) + subroutine chameleon_tile_to_lapack_s(a_pma,a_lpk,lda,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: lda real(kind=sp), intent(out), target :: a_lpk(lda,*) type(c_ptr), intent(in) :: a_pma integer(kind=c_int), intent(out) :: info - info = morse_tile_to_lapack_c(a_pma,c_loc(a_lpk),lda) - end subroutine morse_tile_to_lapack_s + info = chameleon_tile_to_lapack_c(a_pma,c_loc(a_lpk),lda) + end subroutine chameleon_tile_to_lapack_s ! overloaded: double precision - subroutine morse_tile_to_lapack_d(a_pma,a_lpk,lda,info) + subroutine chameleon_tile_to_lapack_d(a_pma,a_lpk,lda,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: lda real(kind=dp), intent(out), target :: a_lpk(lda,*) type(c_ptr), intent(in) :: a_pma integer(kind=c_int), intent(out) :: info - info = morse_tile_to_lapack_c(a_pma,c_loc(a_lpk),lda) - end subroutine morse_tile_to_lapack_d + info = chameleon_tile_to_lapack_c(a_pma,c_loc(a_lpk),lda) + end subroutine chameleon_tile_to_lapack_d ! overloaded: single precision complex - subroutine morse_tile_to_lapack_cpx(a_pma,a_lpk,lda,info) + subroutine chameleon_tile_to_lapack_cpx(a_pma,a_lpk,lda,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: lda complex(kind=sp), intent(out), target :: a_lpk(lda,*) type(c_ptr), intent(in) :: a_pma integer(kind=c_int), intent(out) :: info - info = morse_tile_to_lapack_c(a_pma,c_loc(a_lpk),lda) - end subroutine morse_tile_to_lapack_cpx + info = chameleon_tile_to_lapack_c(a_pma,c_loc(a_lpk),lda) + end subroutine chameleon_tile_to_lapack_cpx ! overloaded: double precision complex - subroutine morse_tile_to_lapack_z(a_pma,a_lpk,lda,info) + subroutine chameleon_tile_to_lapack_z(a_pma,a_lpk,lda,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: lda complex(kind=dp), intent(out), target :: a_lpk(lda,*) type(c_ptr), intent(in) :: a_pma integer(kind=c_int), intent(out) :: info - info = morse_tile_to_lapack_c(a_pma,c_loc(a_lpk),lda) - end subroutine morse_tile_to_lapack_z + info = chameleon_tile_to_lapack_c(a_pma,c_loc(a_lpk),lda) + end subroutine chameleon_tile_to_lapack_z ! overloaded: single precision - subroutine morse_desc_create_s(desc,mat,dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q,info) + subroutine chameleon_desc_create_s(desc,mat,dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q,info) use iso_c_binding implicit none type(c_ptr), intent(out) :: desc @@ -474,10 +474,10 @@ module morse real(kind=sp), intent(in), target :: mat(lm,*) integer(kind=c_int), intent(in) :: dtyp integer(kind=c_int), intent(out) :: info - info = morse_desc_create_c(desc,c_loc(mat),dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q) - end subroutine morse_desc_create_s + info = chameleon_desc_create_c(desc,c_loc(mat),dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q) + end subroutine chameleon_desc_create_s ! overloaded: double precision - subroutine morse_desc_create_d(desc,mat,dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q,info) + subroutine chameleon_desc_create_d(desc,mat,dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q,info) use iso_c_binding implicit none type(c_ptr), intent(out) :: desc @@ -485,10 +485,10 @@ module morse real(kind=dp), intent(in), target :: mat(lm,*) integer(kind=c_int), intent(in) :: dtyp integer(kind=c_int), intent(out) :: info - info = morse_desc_create_c(desc,c_loc(mat),dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q) - end subroutine morse_desc_create_d + info = chameleon_desc_create_c(desc,c_loc(mat),dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q) + end subroutine chameleon_desc_create_d ! overloaded: single precision complex - subroutine morse_desc_create_cpx(desc,mat,dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q,info) + subroutine chameleon_desc_create_cpx(desc,mat,dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q,info) use iso_c_binding implicit none type(c_ptr), intent(out) :: desc @@ -496,10 +496,10 @@ module morse complex(kind=sp), intent(in), target :: mat(lm,*) integer(kind=c_int), intent(in) :: dtyp integer(kind=c_int), intent(out) :: info - info = morse_desc_create_c(desc,c_loc(mat),dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q) - end subroutine morse_desc_create_cpx + info = chameleon_desc_create_c(desc,c_loc(mat),dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q) + end subroutine chameleon_desc_create_cpx ! overloaded: double precision complex - subroutine morse_desc_create_z(desc,mat,dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q,info) + subroutine chameleon_desc_create_z(desc,mat,dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q,info) use iso_c_binding implicit none type(c_ptr), intent(out) :: desc @@ -507,87 +507,87 @@ module morse complex(kind=dp), intent(in), target :: mat(lm,*) integer(kind=c_int), intent(in) :: dtyp integer(kind=c_int), intent(out) :: info - info = morse_desc_create_c(desc,c_loc(mat),dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q) - end subroutine morse_desc_create_z + info = chameleon_desc_create_c(desc,c_loc(mat),dtyp,mb,nb,bsiz,lm,ln,i,j,m,n,p,q) + end subroutine chameleon_desc_create_z - subroutine morse_desc_destroy(desc,info) + subroutine chameleon_desc_destroy(desc,info) use iso_c_binding implicit none type(c_ptr), intent(inout) :: desc integer(kind=c_int), intent(out) :: info - info = morse_desc_destroy_c(desc) - end subroutine morse_desc_destroy + info = chameleon_desc_destroy_c(desc) + end subroutine chameleon_desc_destroy - subroutine morse_free(ptr) + subroutine chameleon_free(ptr) use iso_c_binding implicit none type(c_ptr), intent(in) :: ptr call free_c(ptr) - end subroutine morse_free + end subroutine chameleon_free - subroutine morse_version(ver_major,ver_minor,ver_micro,info) + subroutine chameleon_version(ver_major,ver_minor,ver_micro,info) use iso_c_binding implicit none integer(kind=c_int), intent(out), target :: ver_major,ver_minor,ver_micro integer(kind=c_int), intent(out) :: info - info = morse_version_c(c_loc(ver_major),c_loc(ver_minor),c_loc(ver_micro)) - end subroutine morse_version + info = chameleon_version_c(c_loc(ver_major),c_loc(ver_minor),c_loc(ver_micro)) + end subroutine chameleon_version - subroutine morse_init_affinity(cores,bindtab,info) + subroutine chameleon_init_affinity(cores,bindtab,info) use iso_c_binding implicit none integer(kind=c_int), intent(in) :: cores integer(kind=c_int), intent(out), target :: bindtab integer(kind=c_int), intent(out) :: info - info = morse_init_affinity_c(cores,c_loc(bindtab)) - end subroutine morse_init_affinity + info = chameleon_init_affinity_c(cores,c_loc(bindtab)) + end subroutine chameleon_init_affinity - subroutine morse_dealloc_handle(handle,info) + subroutine chameleon_dealloc_handle(handle,info) use iso_c_binding implicit none type(c_ptr), intent(inout) :: handle integer(kind=c_int), intent(out) :: info - info = morse_dealloc_handle_c(handle) - end subroutine morse_dealloc_handle + info = chameleon_dealloc_handle_c(handle) + end subroutine chameleon_dealloc_handle - subroutine morse_dealloc_handle_tile(desc,info) + subroutine chameleon_dealloc_handle_tile(desc,info) use iso_c_binding implicit none type(c_ptr), intent(inout) :: desc integer(kind=c_int), intent(out) :: info - info = morse_dealloc_handle_tile_c(desc) - end subroutine morse_dealloc_handle_tile + info = chameleon_dealloc_handle_tile_c(desc) + end subroutine chameleon_dealloc_handle_tile - subroutine morse_sequence_create(sequence,info) + subroutine chameleon_sequence_create(sequence,info) use iso_c_binding implicit none type(c_ptr), intent(out) :: sequence integer(kind=c_int), intent(out) :: info - info = morse_sequence_create_c(sequence) - end subroutine morse_sequence_create + info = chameleon_sequence_create_c(sequence) + end subroutine chameleon_sequence_create - subroutine morse_sequence_destroy(sequence,info) + subroutine chameleon_sequence_destroy(sequence,info) use iso_c_binding implicit none type(c_ptr), intent(in) :: sequence integer(kind=c_int), intent(out) :: info - info = morse_sequence_destroy_c(sequence) - end subroutine morse_sequence_destroy + info = chameleon_sequence_destroy_c(sequence) + end subroutine chameleon_sequence_destroy - subroutine morse_sequence_wait(sequence,info) + subroutine chameleon_sequence_wait(sequence,info) use iso_c_binding implicit none type(c_ptr), intent(in) :: sequence integer(kind=c_int), intent(out) :: info - info = morse_sequence_wait_c(sequence) - end subroutine morse_sequence_wait + info = chameleon_sequence_wait_c(sequence) + end subroutine chameleon_sequence_wait - subroutine morse_sequence_flush(sequence,request,info) + subroutine chameleon_sequence_flush(sequence,request,info) use iso_c_binding implicit none type(c_ptr), intent(in) :: sequence, request integer(kind=c_int), intent(out) :: info - info = morse_sequence_flush_c(sequence,request) - end subroutine morse_sequence_flush + info = chameleon_sequence_flush_c(sequence,request) + end subroutine chameleon_sequence_flush -end module morse +end module chameleon diff --git a/control/chameleon_mf77.c b/control/chameleon_mf77.c new file mode 100644 index 0000000000000000000000000000000000000000..d1dd61cde83fb10f14c1f8cd0e568000e253c616 --- /dev/null +++ b/control/chameleon_mf77.c @@ -0,0 +1,101 @@ +/** + * + * @file chameleon_mf77.c + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Chameleon Fortran77 interface for mixed-precision computational routines + * + * @version 1.0.0 + * @author Bilel Hadri + * @author Cedric Castagnede + * @date 2010-11-15 + * + */ +#include <stdlib.h> +#include "control/common.h" + +#define CHAMELEON_ZCGESV CHAMELEON_FNAME(zcgesv, ZCGESV) +#define CHAMELEON_DSGESV CHAMELEON_FNAME(dsgesv, DSGESV) +#define CHAMELEON_ZCPOSV CHAMELEON_FNAME(zcposv, ZCPOSV) +#define CHAMELEON_DSPOSV CHAMELEON_FNAME(dsposv, DSPOSV) +#define CHAMELEON_ZCGELS CHAMELEON_FNAME(zcgels, ZCGELS) +#define CHAMELEON_DSGELS CHAMELEON_FNAME(dsgels, DSGELS) +#define CHAMELEON_ZCUNGESV CHAMELEON_FNAME(zcungesv, ZCUNGESV) +#define CHAMELEON_DSUNGESV CHAMELEON_FNAME(dsungesv, DSUNGESV) + +#define CHAMELEON_ZCGESV_TILE CHAMELEON_TILE_FNAME(zcgesv, ZCGESV) +#define CHAMELEON_DSGESV_TILE CHAMELEON_TILE_FNAME(dsgesv, DSGESV) +#define CHAMELEON_ZCPOSV_TILE CHAMELEON_TILE_FNAME(zcposv, ZCPOSV) +#define CHAMELEON_DSPOSV_TILE CHAMELEON_TILE_FNAME(dsposv, DSPOSV) +#define CHAMELEON_ZCGELS_TILE CHAMELEON_TILE_FNAME(zcgels, ZCGELS) +#define CHAMELEON_DSGELS_TILE CHAMELEON_TILE_FNAME(dsgels, DSGELS) +#define CHAMELEON_ZCUNGESV_TILE CHAMELEON_TILE_FNAME(zcungesv, ZCUNGESV) +#define CHAMELEON_DSUNGESV_TILE CHAMELEON_TILE_FNAME(dsungesv, DSUNGESV) + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * FORTRAN API - math functions (simple interface) + */ +//void CHAMELEON_ZCGESV(int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, int *IPIV, CHAMELEON_Complex64_t *B, int *LDB, CHAMELEON_Complex64_t *X, int *LDX, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_zcgesv(*N, *NRHS, A, *LDA, IPIV, B, *LDB, X, *LDX, ITER); } +// +//void CHAMELEON_DSGESV(int *N, int *NRHS, double *A, int *LDA, int *IPIV, double *B, int *LDB, double *X, int *LDX, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_dsgesv(*N, *NRHS, A, *LDA, IPIV, B, *LDB, X, *LDX, ITER); } +// +//void CHAMELEON_ZCPOSV(CHAMELEON_enum *uplo, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, CHAMELEON_Complex64_t *X, int *LDX, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_zcposv(*uplo, *N, *NRHS, A, *LDA, B, *LDB, X, *LDX, ITER); } +// +//void CHAMELEON_DSPOSV(CHAMELEON_enum *uplo, int *N, int *NRHS, double *A, int *LDA, double *B, int *LDB, double *X, int *LDX, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_dsposv(*uplo, *N, *NRHS, A, *LDA, B, *LDB, X, *LDX, ITER); } +// +//void CHAMELEON_ZCGELS(CHAMELEON_enum *trans, int *M, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t **T, CHAMELEON_Complex64_t *B, int *LDB, CHAMELEON_Complex64_t *X, int *LDX, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_zcgels(*trans, *M, *N, *NRHS, A, *LDA, B, *LDB, X, *LDX, ITER); } +// +//void CHAMELEON_DSGELS(CHAMELEON_enum *trans, int *M, int *N, int *NRHS, double *A, int *LDA, double *B, int *LDB, double *X, int *LDX, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_dsgels(*trans, *M, *N, *NRHS, A, *LDA, B, *LDB, X, *LDX, ITER); } +// +//void CHAMELEON_ZCUNGESV(CHAMELEON_enum *trans, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, CHAMELEON_Complex64_t *X, int *LDX, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_zcungesv(*trans, *N, *NRHS, A, *LDA, B, *LDB, X, *LDX, ITER); } +// +//void CHAMELEON_DSUNGESV(CHAMELEON_enum *trans, int *N, int *NRHS, double *A, int *LDA, double *B, int *LDB, double *X, int *LDX, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_dsungesv(*trans, *N, *NRHS, A, *LDA, B, *LDB, X, *LDX, ITER); } + +#ifdef __cplusplus +} +#endif + +/** + * FORTRAN API - math functions (native interface) + */ +//void CHAMELEON_ZCGESV_TILE(intptr_t *A, int *IPIV, intptr_t *B, intptr_t *X, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_zcgesv_Tile((CHAM_desc_t *)(*A), IPIV, (CHAM_desc_t *)(*B), (CHAM_desc_t *)(*X), ITER); } +// +//void CHAMELEON_DSGESV_TILE(intptr_t *A, int *IPIV, intptr_t *B, intptr_t *X, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_zcgesv_Tile((CHAM_desc_t *)(*A), IPIV, (CHAM_desc_t *)(*B), (CHAM_desc_t *)(*X), ITER); } +// +//void CHAMELEON_ZCPOSV_TILE(CHAMELEON_enum *uplo, intptr_t *A, intptr_t *B, intptr_t *X, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_zcposv_Tile(*uplo, (CHAM_desc_t *)(*A), (CHAM_desc_t *)(*B), (CHAM_desc_t *)(*X), ITER); } +// +//void CHAMELEON_DSPOSV_TILE(CHAMELEON_enum *uplo, intptr_t *A, intptr_t *B, intptr_t *X, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_dsposv_Tile(*uplo, (CHAM_desc_t *)(*A), (CHAM_desc_t *)(*B), (CHAM_desc_t *)(*X), ITER); } +// +//void CHAMELEON_ZCGELS_TILE(CHAMELEON_enum *trans, intptr_t *A, intptr_t *B, intptr_t *T, intptr_t *X, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_zcgels_Tile(*trans, (CHAM_desc_t *)(*A), (CHAM_desc_t *)(*B), (CHAM_desc_t *)(*T), (CHAM_desc_t *)(*X), ITER); } +// +//void CHAMELEON_DSGELS_TILE(CHAMELEON_enum *trans, intptr_t *A, intptr_t *B, intptr_t *T, intptr_t *X, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_dsgels_Tile(*trans, (CHAM_desc_t *)(*A), (CHAM_desc_t *)(*B), (CHAM_desc_t *)(*T), (CHAM_desc_t *)(*X), ITER); } +// +//void CHAMELEON_ZCUNGESV_TILE(CHAMELEON_enum *trans, intptr_t *A, intptr_t *T, intptr_t *B, intptr_t *X, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_zcungesv_Tile(*trans, (CHAM_desc_t *)(*A), (CHAM_desc_t *)(*T), (CHAM_desc_t *)(*B), (CHAM_desc_t *)(*X), ITER); } +// +//void CHAMELEON_DSUNGESV_TILE(CHAMELEON_enum *trans, intptr_t *A, intptr_t *T, intptr_t *B, intptr_t *X, int *ITER, int *INFO) +//{ *INFO = CHAMELEON_dsungesv_Tile(*trans, (CHAM_desc_t *)(*A), (CHAM_desc_t *)(*T), (CHAM_desc_t *)(*B), (CHAM_desc_t *)(*X), ITER); } diff --git a/control/morse_zcf90.F90 b/control/chameleon_zcf90.F90 similarity index 62% rename from control/morse_zcf90.F90 rename to control/chameleon_zcf90.F90 index 05559dd8955b908d2f50770968d91587e1421096..dc36329f3cacbb32ab07719f0e52a0463bb7f3fb 100644 --- a/control/morse_zcf90.F90 +++ b/control/chameleon_zcf90.F90 @@ -6,19 +6,19 @@ ! This software is a computer program whose purpose is to process ! Matrices Over Runtime Systems @ Exascale (MORSE). More information ! can be found on the following website: http://www.inria.fr/en/teams/morse. -! +! ! This software is governed by the CeCILL-B license under French law and -! abiding by the rules of distribution of free software. You can use, +! abiding by the rules of distribution of free software. You can use, ! modify and/ or redistribute the software under the terms of the CeCILL-B ! license as circulated by CEA, CNRS and INRIA at the following URL -! "http://www.cecill.info". -! +! "http://www.cecill.info". +! ! As a counterpart to the access to the source code and rights to copy, ! modify and redistribute granted by the license, users are provided only ! with a limited warranty and the software's author, the holder of the ! economic rights, and the successive licensors have only limited -! liability. -! +! liability. +! ! In this respect, the user's attention is drawn to the risks associated ! with loading, using, modifying and/or developing or reproducing the ! software by the user in light of its specific status of free software, @@ -26,10 +26,10 @@ ! therefore means that it is reserved for developers and experienced ! professionals having in-depth computer knowledge. Users are therefore ! encouraged to load and test the software's suitability as regards their -! requirements in conditions enabling the security of their systems and/or -! data to be ensured and, more generally, to use and operate it in the -! same conditions as regards security. -! +! requirements in conditions enabling the security of their systems and/or +! data to be ensured and, more generally, to use and operate it in the +! same conditions as regards security. +! ! The fact that you are presently reading this means that you have had ! knowledge of the CeCILL-B license and that you accept its terms. ! @@ -37,7 +37,7 @@ ! ! Copyright © 2011 The Numerical Algorithms Group Ltd. All rights reserved. -! +! ! Redistribution and use in source and binary forms, with or without ! modification, are permitted provided that the following conditions are ! met: @@ -50,7 +50,7 @@ ! - Neither the name of the copyright holders nor the names of its ! contributors may be used to endorse or promote products derived from ! this software without specific prior written permission. -! +! ! This software is provided by the copyright holders and contributors "as ! is" and any express or implied warranties, including, but not limited ! to, the implied warranties of merchantability and fitness for a @@ -65,8 +65,8 @@ ! ! ! -! MORSE Fortran 90 interfaces using Fortran 2003 ISO C bindings -! MORSE is a software package provided by Univ. of Tennessee, +! CHAMELEON Fortran 90 interfaces using Fortran 2003 ISO C bindings +! CHAMELEON is a software package provided by Univ. of Tennessee, ! Univ. of California Berkeley and Univ. of Colorado Denver ! ! @version 1.0.0 @@ -77,14 +77,14 @@ ! @date 2011-12-15 ! @precisions mixed zc -> ds ! -module morse_zc +module chameleon_zc interface - function MORSE_zcgesv_c(N,NRHS,A,LDA,IPIV,B,LDB,X,LDX,ITER) & - & bind(c, name='MORSE_zcgesv') + function CHAMELEON_zcgesv_c(N,NRHS,A,LDA,IPIV,B,LDB,X,LDX,ITER) & + & bind(c, name='CHAMELEON_zcgesv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zcgesv_c + integer(kind=c_int) :: CHAMELEON_zcgesv_c integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS type(c_ptr), value :: A @@ -95,15 +95,15 @@ module morse_zc type(c_ptr), value :: X integer(kind=c_int), value :: LDX type(c_ptr), value :: ITER - end function MORSE_zcgesv_c + end function CHAMELEON_zcgesv_c end interface interface - function MORSE_zcposv_c(uplo,N,NRHS,A,LDA,B,LDB,X,LDX,ITER) & - & bind(c, name='MORSE_zcposv') + function CHAMELEON_zcposv_c(uplo,N,NRHS,A,LDA,B,LDB,X,LDX,ITER) & + & bind(c, name='CHAMELEON_zcposv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zcposv_c + integer(kind=c_int) :: CHAMELEON_zcposv_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS @@ -114,15 +114,15 @@ module morse_zc type(c_ptr), value :: X integer(kind=c_int), value :: LDX type(c_ptr), value :: ITER - end function MORSE_zcposv_c + end function CHAMELEON_zcposv_c end interface interface - function MORSE_zcungesv_c(trans,N,NRHS,A,LDA,B,LDB,X,LDX,ITER) & - & bind(c, name='MORSE_zcungesv') + function CHAMELEON_zcungesv_c(trans,N,NRHS,A,LDA,B,LDB,X,LDX,ITER) & + & bind(c, name='CHAMELEON_zcungesv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zcungesv_c + integer(kind=c_int) :: CHAMELEON_zcungesv_c integer(kind=c_int), value :: trans integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS @@ -133,58 +133,58 @@ module morse_zc type(c_ptr), value :: X integer(kind=c_int), value :: LDX type(c_ptr), value :: ITER - end function MORSE_zcungesv_c + end function CHAMELEON_zcungesv_c end interface interface - function MORSE_zcgesv_Tile_c(A,IPIV,B,X,ITER) & - & bind(c, name='MORSE_zcgesv_Tile') + function CHAMELEON_zcgesv_Tile_c(A,IPIV,B,X,ITER) & + & bind(c, name='CHAMELEON_zcgesv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zcgesv_Tile_c + integer(kind=c_int) :: CHAMELEON_zcgesv_Tile_c type(c_ptr), value :: A type(c_ptr), value :: IPIV type(c_ptr), value :: B type(c_ptr), value :: X type(c_ptr), value :: ITER - end function MORSE_zcgesv_Tile_c + end function CHAMELEON_zcgesv_Tile_c end interface interface - function MORSE_zcposv_Tile_c(uplo,A,B,X,ITER) & - & bind(c, name='MORSE_zcposv_Tile') + function CHAMELEON_zcposv_Tile_c(uplo,A,B,X,ITER) & + & bind(c, name='CHAMELEON_zcposv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zcposv_Tile_c + integer(kind=c_int) :: CHAMELEON_zcposv_Tile_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B type(c_ptr), value :: X type(c_ptr), value :: ITER - end function MORSE_zcposv_Tile_c + end function CHAMELEON_zcposv_Tile_c end interface interface - function MORSE_zcungesv_Tile_c(trans,A,T,B,X,ITER) & - & bind(c, name='MORSE_zcungesv_Tile') + function CHAMELEON_zcungesv_Tile_c(trans,A,T,B,X,ITER) & + & bind(c, name='CHAMELEON_zcungesv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zcungesv_Tile_c + integer(kind=c_int) :: CHAMELEON_zcungesv_Tile_c integer(kind=c_int), value :: trans type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B type(c_ptr), value :: X type(c_ptr), value :: ITER - end function MORSE_zcungesv_Tile_c + end function CHAMELEON_zcungesv_Tile_c end interface interface - function MORSE_zcgesv_Tile_Async_c(A,IPIV,B,X,ITER,sequence,request) & - & bind(c, name='MORSE_zcgesv_Tile_Async') + function CHAMELEON_zcgesv_Tile_Async_c(A,IPIV,B,X,ITER,sequence,request) & + & bind(c, name='CHAMELEON_zcgesv_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zcgesv_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zcgesv_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: IPIV type(c_ptr), value :: B @@ -192,15 +192,15 @@ module morse_zc type(c_ptr), value :: ITER type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zcgesv_Tile_Async_c + end function CHAMELEON_zcgesv_Tile_Async_c end interface interface - function MORSE_zcposv_Tile_Async_c(uplo,A,B,X,ITER,sequence,request) & - & bind(c, name='MORSE_zcposv_Tile_Async') + function CHAMELEON_zcposv_Tile_Async_c(uplo,A,B,X,ITER,sequence,request) & + & bind(c, name='CHAMELEON_zcposv_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zcposv_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zcposv_Tile_Async_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B @@ -208,15 +208,15 @@ module morse_zc type(c_ptr), value :: ITER type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zcposv_Tile_Async_c + end function CHAMELEON_zcposv_Tile_Async_c end interface interface - function MORSE_zcungesv_Tile_Async_c(trans,A,T,B,X,ITER,sequence,request) & - & bind(c, name='MORSE_zcungesv_Tile_Async') + function CHAMELEON_zcungesv_Tile_Async_c(trans,A,T,B,X,ITER,sequence,request) & + & bind(c, name='CHAMELEON_zcungesv_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zcungesv_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zcungesv_Tile_Async_c integer(kind=c_int), value :: trans type(c_ptr), value :: A type(c_ptr), value :: T @@ -225,12 +225,12 @@ module morse_zc type(c_ptr), value :: ITER type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zcungesv_Tile_Async_c + end function CHAMELEON_zcungesv_Tile_Async_c end interface contains - subroutine MORSE_zcgesv(N,NRHS,A,LDA,IPIV,B,LDB,X,LDX,ITER,info) + subroutine CHAMELEON_zcgesv(N,NRHS,A,LDA,IPIV,B,LDB,X,LDX,ITER,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -244,10 +244,10 @@ module morse_zc complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(in), target :: B(LDB,*) complex(kind=c_double_complex), intent(out), target :: X(LDX,*) - info = MORSE_zcgesv_c(N,NRHS,c_loc(A),LDA,c_loc(IPIV),c_loc(B),LDB,c_loc(X),LDX,c_loc(ITER)) - end subroutine MORSE_zcgesv + info = CHAMELEON_zcgesv_c(N,NRHS,c_loc(A),LDA,c_loc(IPIV),c_loc(B),LDB,c_loc(X),LDX,c_loc(ITER)) + end subroutine CHAMELEON_zcgesv - subroutine MORSE_zcposv(uplo,N,NRHS,A,LDA,B,LDB,X,LDX,ITER,info) + subroutine CHAMELEON_zcposv(uplo,N,NRHS,A,LDA,B,LDB,X,LDX,ITER,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -261,10 +261,10 @@ module morse_zc complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(in), target :: B(LDB,*) complex(kind=c_double_complex), intent(out), target :: X(LDX,*) - info = MORSE_zcposv_c(uplo,N,NRHS,c_loc(A),LDA,c_loc(B),LDB,c_loc(X),LDX,c_loc(ITER)) - end subroutine MORSE_zcposv + info = CHAMELEON_zcposv_c(uplo,N,NRHS,c_loc(A),LDA,c_loc(B),LDB,c_loc(X),LDX,c_loc(ITER)) + end subroutine CHAMELEON_zcposv - subroutine MORSE_zcungesv(trans,N,NRHS,A,LDA,B,LDB,X,LDX,ITER,info) + subroutine CHAMELEON_zcungesv(trans,N,NRHS,A,LDA,B,LDB,X,LDX,ITER,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -278,87 +278,87 @@ module morse_zc complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(in), target :: B(LDB,*) complex(kind=c_double_complex), intent(out), target :: X(LDX,*) - info = MORSE_zcungesv_c(trans,N,NRHS,c_loc(A),LDA,c_loc(B),LDB,c_loc(X),LDX,c_loc(ITER)) - end subroutine MORSE_zcungesv + info = CHAMELEON_zcungesv_c(trans,N,NRHS,c_loc(A),LDA,c_loc(B),LDB,c_loc(X),LDX,c_loc(ITER)) + end subroutine CHAMELEON_zcungesv - subroutine MORSE_zcgesv_Tile(A,IPIV,B,X,ITER,info) + subroutine CHAMELEON_zcgesv_Tile(A,IPIV,B,X,ITER,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(out), target :: IPIV(*) integer(kind=c_int), intent(out), target :: ITER - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: X ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zcgesv_Tile_c(A,c_loc(IPIV),B,X,c_loc(ITER)) - end subroutine MORSE_zcgesv_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: X ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zcgesv_Tile_c(A,c_loc(IPIV),B,X,c_loc(ITER)) + end subroutine CHAMELEON_zcgesv_Tile - subroutine MORSE_zcposv_Tile(uplo,A,B,X,ITER,info) + subroutine CHAMELEON_zcposv_Tile(uplo,A,B,X,ITER,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(out), target :: ITER integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: X ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zcposv_Tile_c(uplo,A,B,X,c_loc(ITER)) - end subroutine MORSE_zcposv_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: X ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zcposv_Tile_c(uplo,A,B,X,c_loc(ITER)) + end subroutine CHAMELEON_zcposv_Tile - subroutine MORSE_zcungesv_Tile(trans,A,T,B,X,ITER,info) + subroutine CHAMELEON_zcungesv_Tile(trans,A,T,B,X,ITER,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(out), target :: ITER integer(kind=c_int), intent(in) :: trans - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: X ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zcungesv_Tile_c(trans,A,T,B,X,c_loc(ITER)) - end subroutine MORSE_zcungesv_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: X ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zcungesv_Tile_c(trans,A,T,B,X,c_loc(ITER)) + end subroutine CHAMELEON_zcungesv_Tile - subroutine MORSE_zcgesv_Tile_Async(A,IPIV,B,X,ITER,sequence,request,info) + subroutine CHAMELEON_zcgesv_Tile_Async(A,IPIV,B,X,ITER,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(out), target :: IPIV(*) integer(kind=c_int), intent(out), target :: ITER - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: X ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zcgesv_Tile_Async_c(A,c_loc(IPIV),B,X,c_loc(ITER),sequence,request) - end subroutine MORSE_zcgesv_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: X ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zcgesv_Tile_Async_c(A,c_loc(IPIV),B,X,c_loc(ITER),sequence,request) + end subroutine CHAMELEON_zcgesv_Tile_Async - subroutine MORSE_zcposv_Tile_Async(uplo,A,B,X,ITER,sequence,request,info) + subroutine CHAMELEON_zcposv_Tile_Async(uplo,A,B,X,ITER,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(out), target :: ITER integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: X ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zcposv_Tile_Async_c(uplo,A,B,X,c_loc(ITER),sequence,request) - end subroutine MORSE_zcposv_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: X ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zcposv_Tile_Async_c(uplo,A,B,X,c_loc(ITER),sequence,request) + end subroutine CHAMELEON_zcposv_Tile_Async - subroutine MORSE_zcungesv_Tile_Async(trans,A,T,B,X,ITER,sequence,request,info) + subroutine CHAMELEON_zcungesv_Tile_Async(trans,A,T,B,X,ITER,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(out), target :: ITER integer(kind=c_int), intent(in) :: trans - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: X ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zcungesv_Tile_Async_c(trans,A,T,B,X,c_loc(ITER),sequence,request) - end subroutine MORSE_zcungesv_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: X ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zcungesv_Tile_Async_c(trans,A,T,B,X,c_loc(ITER),sequence,request) + end subroutine CHAMELEON_zcungesv_Tile_Async -end module morse_zc +end module chameleon_zc diff --git a/control/chameleon_zf77.c b/control/chameleon_zf77.c new file mode 100644 index 0000000000000000000000000000000000000000..9464c0cd12f0925977329d33ef166a197c2c4763 --- /dev/null +++ b/control/chameleon_zf77.c @@ -0,0 +1,932 @@ +/** + * + * @file chameleon_zf77.c + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Chameleon Fortran77 computational routines + * + * @version 1.0.0 + * @comment This file has been automatically generated + * from Plasma 2.5.0 for CHAMELEON 1.0.0 + * @comment This file is automatically generated by tools/genf77interface.pl + * @author Bilel Hadri + * @author Mathieu Faverge + * @author Emmanuel Agullo + * @author Cedric Castagnede + * @author Florent Pruvost + * @date 2010-11-15 + * @precisions normal z -> c d s + * + */ +#include <stdlib.h> +#include "control/common.h" +#include "control/chameleon_f77.h" + +/** + * FORTRAN API - math functions (simple interface) + */ +#define CHAMELEON_ZLAPACK_TO_TILE CHAMELEON_FNAME(zlapack_to_tile, ZLAPACK_TO_TILE) +#define CHAMELEON_ZTILE_TO_LAPACK CHAMELEON_FNAME(ztile_to_lapack, ZTILE_TO_LAPACK) +//#define CHAMELEON_ZGEBRD CHAMELEON_FNAME(zgebrd , ZGEBRD ) +//#define CHAMELEON_ZGECFI CHAMELEON_FNAME(zgecfi , ZGECFI ) +//#define CHAMELEON_ZGECFI_ASYNC CHAMELEON_FNAME(zgecfi_async , ZGECFI_ASYNC ) +#define CHAMELEON_ZGELQF CHAMELEON_FNAME(zgelqf , ZGELQF ) +#define CHAMELEON_ZGELQS CHAMELEON_FNAME(zgelqs , ZGELQS ) +#define CHAMELEON_ZGELS CHAMELEON_FNAME(zgels , ZGELS ) +#define CHAMELEON_ZGEMM CHAMELEON_FNAME(zgemm , ZGEMM ) +#define CHAMELEON_ZGEQRF CHAMELEON_FNAME(zgeqrf , ZGEQRF ) +#define CHAMELEON_ZGEQRS CHAMELEON_FNAME(zgeqrs , ZGEQRS ) +//#define CHAMELEON_ZGESV CHAMELEON_FNAME(zgesv , ZGESV ) +#define CHAMELEON_ZGESV_INCPIV CHAMELEON_FNAME(zgesv_incpiv , ZGESV_INCPIV ) +#define CHAMELEON_ZGESV_NOPIV CHAMELEON_FNAME(zgesv_nopiv , ZGESV_NOPIV ) +//#define CHAMELEON_ZGESVD CHAMELEON_FNAME(zgesvd , ZGESVD ) +//#define CHAMELEON_ZGETMI CHAMELEON_FNAME(zgetmi , ZGETMI ) +//#define CHAMELEON_ZGETMI_ASYNC CHAMELEON_FNAME(zgetmi_async , ZGETMI_ASYNC ) +//#define CHAMELEON_ZGETRF CHAMELEON_FNAME(zgetrf , ZGETRF ) +#define CHAMELEON_ZGETRF_INCPIV CHAMELEON_FNAME(zgetrf_incpiv, ZGETRF_INCPIV) +#define CHAMELEON_ZGETRF_NOPIV CHAMELEON_FNAME(zgetrf_nopiv , ZGETRF_NOPIV) +//#define CHAMELEON_ZGETRI CHAMELEON_FNAME(zgetri , ZGETRI ) +//#define CHAMELEON_ZGETRS CHAMELEON_FNAME(zgetrs , ZGETRS ) +#define CHAMELEON_ZGETRS_INCPIV CHAMELEON_FNAME(zgetrs_incpiv, ZGETRS_INCPIV) +#define CHAMELEON_ZGETRS_NOPIV CHAMELEON_FNAME(zgetrs_nopiv , ZGETRS_NOPIV) +//#define CHAMELEON_ZHEEV CHAMELEON_FNAME(zheev , ZHEEV ) +//#define CHAMELEON_ZHEEVD CHAMELEON_FNAME(zheevd , ZHEEVD ) +//#define CHAMELEON_ZHEGST CHAMELEON_FNAME(zhegst , ZHEGST ) +//#define CHAMELEON_ZHEGV CHAMELEON_FNAME(zhegv , ZHEGV ) +//#define CHAMELEON_ZHEGVD CHAMELEON_FNAME(zhegvd , ZHEGVD ) +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZHEMM CHAMELEON_FNAME(zhemm , ZHEMM ) +#endif +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZHER2K CHAMELEON_FNAME(zher2k , ZHER2K ) +#endif +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZHERK CHAMELEON_FNAME(zherk , ZHERK ) +#endif +//#define CHAMELEON_ZHETRD CHAMELEON_FNAME(zhetrd , ZHETRD ) +#define CHAMELEON_ZLACPY CHAMELEON_FNAME(zlacpy , ZLACPY ) +#define CHAMELEON_ZLANGE CHAMELEON_FNAME(zlange , ZLANGE ) +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZLANHE CHAMELEON_FNAME(zlanhe , ZLANHE ) +#endif +#define CHAMELEON_ZLANSY CHAMELEON_FNAME(zlansy , ZLANSY ) +#define CHAMELEON_ZLANTR CHAMELEON_FNAME(zlantr , ZLANTR ) +#define CHAMELEON_ZLASET CHAMELEON_FNAME(zlaset , ZLASET ) +//#define CHAMELEON_ZLASWP CHAMELEON_FNAME(zlaswp , ZLASWP ) +//#define CHAMELEON_ZLASWPC CHAMELEON_FNAME(zlaswpc , ZLASWPC ) +#define CHAMELEON_ZLAUUM CHAMELEON_FNAME(zlauum , ZLAUUM ) +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZPLGHE CHAMELEON_FNAME(zplghe , ZPLGHE ) +#endif +#define CHAMELEON_ZPLGSY CHAMELEON_FNAME(zplgsy , ZPLGSY ) +#define CHAMELEON_ZPLRNT CHAMELEON_FNAME(zplrnt , ZPLRNT ) +#define CHAMELEON_ZPOSV CHAMELEON_FNAME(zposv , ZPOSV ) +#define CHAMELEON_ZPOTRF CHAMELEON_FNAME(zpotrf , ZPOTRF ) +#define CHAMELEON_ZPOTRI CHAMELEON_FNAME(zpotri , ZPOTRI ) +#define CHAMELEON_ZPOTRS CHAMELEON_FNAME(zpotrs , ZPOTRS ) +#if defined (PRECISION_c) || defined(PRECISION_z) +#define CHAMELEON_ZSYSV CHAMELEON_FNAME(zsysv , ZSYSV ) +#define CHAMELEON_ZSYTRF CHAMELEON_FNAME(zsytrf , ZSYTRF ) +#define CHAMELEON_ZSYTRS CHAMELEON_FNAME(zsytrs , ZSYTRS ) +#endif +#define CHAMELEON_ZSYMM CHAMELEON_FNAME(zsymm , ZSYMM ) +#define CHAMELEON_ZSYR2K CHAMELEON_FNAME(zsyr2k , ZSYR2K ) +#define CHAMELEON_ZSYRK CHAMELEON_FNAME(zsyrk , ZSYRK ) +#define CHAMELEON_ZTRMM CHAMELEON_FNAME(ztrmm , ZTRMM ) +#define CHAMELEON_ZTRSM CHAMELEON_FNAME(ztrsm , ZTRSM ) +#define CHAMELEON_ZTRSMPL CHAMELEON_FNAME(ztrsmpl , ZTRSMPL ) +//#define CHAMELEON_ZTRSMRV CHAMELEON_FNAME(ztrsmrv , ZTRSMRV ) +#define CHAMELEON_ZTRTRI CHAMELEON_FNAME(ztrtri , ZTRTRI ) +#define CHAMELEON_ZUNGLQ CHAMELEON_FNAME(zunglq , ZUNGLQ ) +#define CHAMELEON_ZUNGQR CHAMELEON_FNAME(zungqr , ZUNGQR ) +#define CHAMELEON_ZUNMLQ CHAMELEON_FNAME(zunmlq , ZUNMLQ ) +#define CHAMELEON_ZUNMQR CHAMELEON_FNAME(zunmqr , ZUNMQR ) + +/** + * FORTRAN API - math functions (native interface) + */ +//#define CHAMELEON_ZGEBRD_TILE CHAMELEON_TILE_FNAME(zgebrd , ZGEBRD ) +#define CHAMELEON_ZGELQF_TILE CHAMELEON_TILE_FNAME(zgelqf , ZGELQF ) +#define CHAMELEON_ZGELQS_TILE CHAMELEON_TILE_FNAME(zgelqs , ZGELQS ) +#define CHAMELEON_ZGELS_TILE CHAMELEON_TILE_FNAME(zgels , ZGELS ) +#define CHAMELEON_ZGEMM_TILE CHAMELEON_TILE_FNAME(zgemm , ZGEMM ) +#define CHAMELEON_ZGEQRF_TILE CHAMELEON_TILE_FNAME(zgeqrf , ZGEQRF ) +#define CHAMELEON_ZGEQRS_TILE CHAMELEON_TILE_FNAME(zgeqrs , ZGEQRS ) +//#define CHAMELEON_ZGESV_TILE CHAMELEON_TILE_FNAME(zgesv , ZGESV ) +#define CHAMELEON_ZGESV_INCPIV_TILE CHAMELEON_TILE_FNAME(zgesv_incpiv , ZGESV_INCPIV ) +#define CHAMELEON_ZGESV_NOPIV_TILE CHAMELEON_TILE_FNAME(zgesv_nopiv , ZGESV_NOPIV ) +//#define CHAMELEON_ZGESVD_TILE CHAMELEON_TILE_FNAME(zgesvd , ZGESVD ) +//#define CHAMELEON_ZGETRF_TILE CHAMELEON_TILE_FNAME(zgetrf , ZGETRF ) +#define CHAMELEON_ZGETRF_INCPIV_TILE CHAMELEON_TILE_FNAME(zgetrf_incpiv, ZGETRF_INCPIV) +#define CHAMELEON_ZGETRF_NOPIV_TILE CHAMELEON_TILE_FNAME(zgetrf_nopiv , ZGETRF_NOPIV ) +//#define CHAMELEON_ZGETRI_TILE CHAMELEON_TILE_FNAME(zgetri , ZGETRI ) +//#define CHAMELEON_ZGETRS_TILE CHAMELEON_TILE_FNAME(zgetrs , ZGETRS ) +#define CHAMELEON_ZGETRS_INCPIV_TILE CHAMELEON_TILE_FNAME(zgetrs_incpiv, ZGETRS_INCPIV) +#define CHAMELEON_ZGETRS_NOPIV_TILE CHAMELEON_TILE_FNAME(zgetrs_nopiv , ZGETRS_NOPIV ) +//#define CHAMELEON_ZHEEV_TILE CHAMELEON_TILE_FNAME(zheev , ZHEEV ) +//#define CHAMELEON_ZHEEVD_TILE CHAMELEON_TILE_FNAME(zheevd , ZHEEVD ) +//#define CHAMELEON_ZHEGST_TILE CHAMELEON_TILE_FNAME(zhegst , ZHEGST ) +//#define CHAMELEON_ZHEGV_TILE CHAMELEON_TILE_FNAME(zhegv , ZHEGV ) +//#define CHAMELEON_ZHEGVD_TILE CHAMELEON_TILE_FNAME(zhegvd , ZHEGVD ) +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZHEMM_TILE CHAMELEON_TILE_FNAME(zhemm , ZHEMM ) +#endif +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZHER2K_TILE CHAMELEON_TILE_FNAME(zher2k , ZHER2K ) +#endif +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZHERK_TILE CHAMELEON_TILE_FNAME(zherk , ZHERK ) +#endif +//#define CHAMELEON_ZHETRD_TILE CHAMELEON_TILE_FNAME(zhetrd , ZHETRD ) +#define CHAMELEON_ZLACPY_TILE CHAMELEON_TILE_FNAME(zlacpy , ZLACPY ) +#define CHAMELEON_ZLANGE_TILE CHAMELEON_TILE_FNAME(zlange , ZLANGE ) +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZLANHE_TILE CHAMELEON_TILE_FNAME(zlanhe , ZLANHE ) +#endif +#define CHAMELEON_ZLANSY_TILE CHAMELEON_TILE_FNAME(zlansy , ZLANSY ) +#define CHAMELEON_ZLASET_TILE CHAMELEON_TILE_FNAME(zlaset , ZLASET ) +//#define CHAMELEON_ZLASWP_TILE CHAMELEON_TILE_FNAME(zlaswp , ZLASWP ) +//#define CHAMELEON_ZLASWPC_TILE CHAMELEON_TILE_FNAME(zlaswpc , ZLASWPC ) +#define CHAMELEON_ZLAUUM_TILE CHAMELEON_TILE_FNAME(zlauum , ZLAUUM ) +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZPLGHE_TILE CHAMELEON_TILE_FNAME(zplghe , ZPLGHE ) +#endif +#define CHAMELEON_ZPLGSY_TILE CHAMELEON_TILE_FNAME(zplgsy , ZPLGSY ) +#define CHAMELEON_ZPLRNT_TILE CHAMELEON_TILE_FNAME(zplrnt , ZPLRNT ) +#define CHAMELEON_ZPOSV_TILE CHAMELEON_TILE_FNAME(zposv , ZPOSV ) +#define CHAMELEON_ZPOTRF_TILE CHAMELEON_TILE_FNAME(zpotrf , ZPOTRF ) +#define CHAMELEON_ZPOTRI_TILE CHAMELEON_TILE_FNAME(zpotri , ZPOTRI ) +#define CHAMELEON_ZPOTRS_TILE CHAMELEON_TILE_FNAME(zpotrs , ZPOTRS ) +#if defined (PRECISION_c) || defined(PRECISION_z) +#define CHAMELEON_ZSYSV_TILE CHAMELEON_TILE_FNAME(zsysv , ZSYSV ) +#define CHAMELEON_ZSYTRF_TILE CHAMELEON_TILE_FNAME(zsytrf , ZSYTRF ) +#define CHAMELEON_ZSYTRS_TILE CHAMELEON_TILE_FNAME(zsytrs , ZSYTRS ) +#endif +#define CHAMELEON_ZSYMM_TILE CHAMELEON_TILE_FNAME(zsymm , ZSYMM ) +#define CHAMELEON_ZSYR2K_TILE CHAMELEON_TILE_FNAME(zsyr2k , ZSYR2K ) +#define CHAMELEON_ZSYRK_TILE CHAMELEON_TILE_FNAME(zsyrk , ZSYRK ) +#define CHAMELEON_ZTRMM_TILE CHAMELEON_TILE_FNAME(ztrmm , ZTRMM ) +#define CHAMELEON_ZTRSM_TILE CHAMELEON_TILE_FNAME(ztrsm , ZTRSM ) +#define CHAMELEON_ZTRSMPL_TILE CHAMELEON_TILE_FNAME(ztrsmpl , ZTRSMPL ) +//#define CHAMELEON_ZTRSMRV_TILE CHAMELEON_TILE_FNAME(ztrsmrv , ZTRSMRV ) +#define CHAMELEON_ZTRTRI_TILE CHAMELEON_TILE_FNAME(ztrtri , ZTRTRI ) +#define CHAMELEON_ZUNGLQ_TILE CHAMELEON_TILE_FNAME(zunglq , ZUNGLQ ) +#define CHAMELEON_ZUNGQR_TILE CHAMELEON_TILE_FNAME(zungqr , ZUNGQR ) +#define CHAMELEON_ZUNMLQ_TILE CHAMELEON_TILE_FNAME(zunmlq , ZUNMLQ ) +#define CHAMELEON_ZUNMQR_TILE CHAMELEON_TILE_FNAME(zunmqr , ZUNMQR ) + +/** + * FORTRAN API - math functions (asynchronous interface) + */ +//#define CHAMELEON_ZGEBRD_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgebrd , ZGEBRD ) +#define CHAMELEON_ZGELQF_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgelqf , ZGELQF ) +#define CHAMELEON_ZGELQS_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgelqs , ZGELQS ) +#define CHAMELEON_ZGELS_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgels , ZGELS ) +#define CHAMELEON_ZGEMM_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgemm , ZGEMM ) +#define CHAMELEON_ZGEQRF_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgeqrf , ZGEQRF ) +#define CHAMELEON_ZGEQRS_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgeqrs , ZGEQRS ) +//#define CHAMELEON_ZGESV_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgesv , ZGESV ) +#define CHAMELEON_ZGESV_INCPIV_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgesv_incpiv , ZGESV_INCPIV ) +#define CHAMELEON_ZGESV_NOPIV_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgesv_nopiv , ZGESV_NOPIV ) +//#define CHAMELEON_ZGESVD_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgesvd , ZGESVD ) +//#define CHAMELEON_ZGETRF_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgetrf , ZGETRF ) +#define CHAMELEON_ZGETRF_INCPIV_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgetrf_incpiv, ZGETRF_INCPIV) +#define CHAMELEON_ZGETRF_NOPIV_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgetrf_nopiv , ZGETRF_NOPIV ) +//#define CHAMELEON_ZGETRI_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgetri , ZGETRI ) +//#define CHAMELEON_ZGETRS_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgetrs , ZGETRS ) +#define CHAMELEON_ZGETRS_INCPIV_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgetrs_incpiv, ZGETRS_INCPIV) +#define CHAMELEON_ZGETRS_NOPIV_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zgetrs_nopiv , ZGETRS_NOPIV ) +//#define CHAMELEON_ZHEEV_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zheev , ZHEEV ) +//#define CHAMELEON_ZHEEVD_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zheevd , ZHEEVD ) +//#define CHAMELEON_ZHEGST_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zhegst , ZHEGST ) +//#define CHAMELEON_ZHEGV_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zhegv , ZHEGV ) +//#define CHAMELEON_ZHEGVD_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zhegvd , ZHEGVD ) +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZHEMM_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zhemm , ZHEMM ) +#define CHAMELEON_ZHER2K_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zher2k , ZHER2K ) +#define CHAMELEON_ZHERK_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zherk , ZHERK ) +#endif +//#define CHAMELEON_ZHETRD_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zhetrd , ZHETRD ) +#define CHAMELEON_ZLACPY_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zlacpy , ZLACPY ) +#define CHAMELEON_ZLANGE_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zlange , ZLANGE ) +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZLANHE_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zlanhe , ZLANHE ) +#endif +#define CHAMELEON_ZLANSY_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zlansy , ZLANSY ) +#define CHAMELEON_ZLANTR_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zlantr , ZLANTR ) +#define CHAMELEON_ZLASET_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zlaset , ZLASET ) +//#define CHAMELEON_ZLASWP_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zlaswp , ZLASWP ) +//#define CHAMELEON_ZLASWPC_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zlaswpc , ZLASWPC ) +#define CHAMELEON_ZLAUUM_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zlauum , ZLAUUM ) +#if defined(PRECISION_z) || defined(PRECISION_c) +#define CHAMELEON_ZPLGHE_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zplghe , ZPLGHE ) +#endif +#define CHAMELEON_ZPLGSY_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zplgsy , ZPLGSY ) +#define CHAMELEON_ZPLRNT_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zplrnt , ZPLRNT ) +#define CHAMELEON_ZPOSV_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zposv , ZPOSV ) +#define CHAMELEON_ZPOTRF_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zpotrf , ZPOTRF ) +#define CHAMELEON_ZPOTRI_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zpotri , ZPOTRI ) +#define CHAMELEON_ZPOTRS_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zpotrs , ZPOTRS ) +#if defined (PRECISION_c) || defined(PRECISION_z) +#define CHAMELEON_ZSYSV_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zsysv , ZSYSV ) +#define CHAMELEON_ZSYTRF_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zsytrf , ZSYTRF ) +#define CHAMELEON_ZSYTRS_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zsytrs , ZSYTRS ) +#endif +#define CHAMELEON_ZSYMM_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zsymm , ZSYMM ) +#define CHAMELEON_ZSYR2K_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zsyr2k , ZSYR2K ) +#define CHAMELEON_ZSYRK_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zsyrk , ZSYRK ) +#define CHAMELEON_ZTRMM_TILE_ASYNC CHAMELEON_ASYNC_FNAME(ztrmm , ZTRMM ) +#define CHAMELEON_ZTRSM_TILE_ASYNC CHAMELEON_ASYNC_FNAME(ztrsm , ZTRSM ) +#define CHAMELEON_ZTRSMPL_TILE_ASYNC CHAMELEON_ASYNC_FNAME(ztrsmpl , ZTRSMPL ) +//#define CHAMELEON_ZTRSMRV_TILE_ASYNC CHAMELEON_ASYNC_FNAME(ztrsmrv , ZTRSMRV ) +#define CHAMELEON_ZTRTRI_TILE_ASYNC CHAMELEON_ASYNC_FNAME(ztrtri , ZTRTRI ) +#define CHAMELEON_ZUNGLQ_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zunglq , ZUNGLQ ) +#define CHAMELEON_ZUNGQR_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zungqr , ZUNGQR ) +#define CHAMELEON_ZUNMLQ_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zunmlq , ZUNMLQ ) +#define CHAMELEON_ZUNMQR_TILE_ASYNC CHAMELEON_ASYNC_FNAME(zunmqr , ZUNMQR ) + +/** + * FORTRAN API - workspace allocation + */ +//#define CHAMELEON_ALLOC_WORKSPACE_ZGEBRD CHAMELEON_WS_FNAME(zgebrd , ZGEBRD ) +//#define CHAMELEON_ALLOC_WORKSPACE_ZGEEV CHAMELEON_WS_FNAME(zgeev , ZGEEV ) +//#define CHAMELEON_ALLOC_WORKSPACE_ZGEHRD CHAMELEON_WS_FNAME(zgehrd , ZGEHRD ) +#define CHAMELEON_ALLOC_WORKSPACE_ZGELQF CHAMELEON_WS_FNAME(zgelqf , ZGELQF ) +#define CHAMELEON_ALLOC_WORKSPACE_ZGELQF_TILE CHAMELEON_WS_FNAME(zgelqf_tile , ZGELQF_TILE ) +#define CHAMELEON_ALLOC_WORKSPACE_ZGELS CHAMELEON_WS_FNAME(zgels , ZGELS ) +#define CHAMELEON_ALLOC_WORKSPACE_ZGELS_TILE CHAMELEON_WS_FNAME(zgels_tile , ZGELS_TILE ) +#define CHAMELEON_ALLOC_WORKSPACE_ZGEQRF CHAMELEON_WS_FNAME(zgeqrf , ZGEQRF ) +#define CHAMELEON_ALLOC_WORKSPACE_ZGEQRF_TILE CHAMELEON_WS_FNAME(zgeqrf_tile , ZGEQRF_TILE ) +#define CHAMELEON_ALLOC_WORKSPACE_ZGESV_INCPIV CHAMELEON_WS_FNAME(zgesv_incpiv , ZGESV_INCPIV ) +#define CHAMELEON_ALLOC_WORKSPACE_ZGESV_INCPIV_TILE CHAMELEON_WS_FNAME(zgesv_incpiv_tile , ZGESV_INCPIV_TILE ) +//#define CHAMELEON_ALLOC_WORKSPACE_ZGESVD CHAMELEON_WS_FNAME(zgesvd , ZGESVD ) +#define CHAMELEON_ALLOC_WORKSPACE_ZGETRF_INCPIV CHAMELEON_WS_FNAME(zgetrf_incpiv , ZGETRF_INCPIV ) +#define CHAMELEON_ALLOC_WORKSPACE_ZGETRF_INCPIV_TILE CHAMELEON_WS_FNAME(zgetrf_incpiv_tile, ZGETRF_INCPIV_TILE) +//#define CHAMELEON_ALLOC_WORKSPACE_ZGETRI_TILE_ASYNC CHAMELEON_WS_FNAME(zgetri_tile_async , ZGETRI_TILE_ASYNC ) +//#define CHAMELEON_ALLOC_WORKSPACE_ZHEEV CHAMELEON_WS_FNAME(zheev , ZHEEV ) +//#define CHAMELEON_ALLOC_WORKSPACE_ZHEEVD CHAMELEON_WS_FNAME(zheevd , ZHEEVD ) +//#define CHAMELEON_ALLOC_WORKSPACE_ZHEGV CHAMELEON_WS_FNAME(zhegv , ZHEGV ) +//#define CHAMELEON_ALLOC_WORKSPACE_ZHEGVD CHAMELEON_WS_FNAME(zhegvd , ZHEGVD ) +//#define CHAMELEON_ALLOC_WORKSPACE_ZHETRD CHAMELEON_WS_FNAME(zhetrd , ZHETRD ) + + + +/** + * FORTRAN API - math functions (simple interface) + */ +void CHAMELEON_ZLAPACK_TO_TILE(CHAMELEON_Complex64_t *Af77, int *LDA, CHAM_desc_t *A, int *info) +{ *info = CHAMELEON_zLapack_to_Tile(Af77, *LDA, A); } + +void CHAMELEON_ZTILE_TO_LAPACK(CHAM_desc_t *A, CHAMELEON_Complex64_t *Af77, int *LDA, int *info) +{ *info = CHAMELEON_zTile_to_Lapack(A, Af77, *LDA); } + +//void CHAMELEON_ZGEBRD(int *M, int *N, CHAMELEON_Complex64_t *A, int *LDA, double *D, double *E, CHAM_desc_t **descT, int *info) +//{ *info = CHAMELEON_zgebrd(*M, *N, A, *LDA, D, E, *descT); } +// +//void CHAMELEON_ZGECFI(int *m, int *n, CHAMELEON_Complex64_t *A, CHAMELEON_enum *fin, int *imb, int *inb, CHAMELEON_enum *fout, int *omb, int *onb, int *info) +//{ *info = CHAMELEON_zgecfi(*m, *n, A, *fin, *imb, *inb, *fout, *omb, *onb); } +// +//void CHAMELEON_ZGECFI_ASYNC(int *m, int *n, CHAMELEON_Complex64_t *A, CHAMELEON_enum *f_in, int *imb, int *inb, CHAMELEON_enum *f_out, int *omb, int *onb, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zgecfi_Async(*m, *n, A, *f_in, *imb, *inb, *f_out, *omb, *onb, sequence, request); } + +void CHAMELEON_ZGELQF(int *M, int *N, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descT, int *info) +{ *info = CHAMELEON_zgelqf(*M, *N, A, *LDA, *descT); } + +void CHAMELEON_ZGELQS(int *M, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descT, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zgelqs(*M, *N, *NRHS, A, *LDA, *descT, B, *LDB); } + +void CHAMELEON_ZGELS(cham_trans_t *trans, int *M, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descT, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zgels(*trans, *M, *N, *NRHS, A, *LDA, *descT, B, *LDB); } + +void CHAMELEON_ZGEMM(cham_trans_t *transA, cham_trans_t *transB, int *M, int *N, int *K, CHAMELEON_Complex64_t *alpha, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, CHAMELEON_Complex64_t *beta, CHAMELEON_Complex64_t *C, int *LDC, int *info) +{ *info = CHAMELEON_zgemm(*transA, *transB, *M, *N, *K, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); } + +void CHAMELEON_ZGEQRF(int *M, int *N, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descT, int *info) +{ *info = CHAMELEON_zgeqrf(*M, *N, A, *LDA, *descT); } + +void CHAMELEON_ZGEQRS(int *M, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descT, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zgeqrs(*M, *N, *NRHS, A, *LDA, *descT, B, *LDB); } + +//void CHAMELEON_ZGESV(int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, int *IPIV, CHAMELEON_Complex64_t *B, int *LDB, int *info) +//{ *info = CHAMELEON_zgesv(*N, *NRHS, A, *LDA, IPIV, B, *LDB); } + +void CHAMELEON_ZGESV_INCPIV(int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descL, int *IPIV, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zgesv_incpiv(*N, *NRHS, A, *LDA, *descL, IPIV, B, *LDB); } + +void CHAMELEON_ZGESV_NOPIV(int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zgesv_nopiv(*N, *NRHS, A, *LDA, B, *LDB); } + +//void CHAMELEON_ZGESVD(CHAMELEON_enum *jobu, CHAMELEON_enum *jobvt, int *M, int *N, CHAMELEON_Complex64_t *A, int *LDA, double *S, CHAMELEON_Complex64_t *U, int *LDU, CHAMELEON_Complex64_t *VT, int *LDVT, CHAM_desc_t **descT, int *info) +//{ *info = CHAMELEON_zgesvd(*jobu, *jobvt, *M, *N, A, *LDA, S, U, *LDU, VT, *LDVT, *descT); } + +//void CHAMELEON_ZGETMI(int *m, int *n, CHAMELEON_Complex64_t *A, CHAMELEON_enum *fin, int *mb, int *nb, int *info) +//{ *info = CHAMELEON_zgetmi(*m, *n, A, *fin, *mb, *nb); } +// +//void CHAMELEON_ZGETMI_ASYNC(int *m, int *n, CHAMELEON_Complex64_t *A, CHAMELEON_enum *f_in, int *mb, int *inb, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zgetmi_Async(*m, *n, A, *f_in, *mb, *inb, sequence, request); } +// +//void CHAMELEON_ZGETRF(int *M, int *N, CHAMELEON_Complex64_t *A, int *LDA, int *IPIV, int *info) +//{ *info = CHAMELEON_zgetrf(*M, *N, A, *LDA, IPIV); } + +void CHAMELEON_ZGETRF_INCPIV(int *M, int *N, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descL, int *IPIV, int *info) +{ *info = CHAMELEON_zgetrf_incpiv(*M, *N, A, *LDA, *descL, IPIV); } + +void CHAMELEON_ZGETRF_NOPIV(int *M, int *N, CHAMELEON_Complex64_t *A, int *LDA, int *info) +{ *info = CHAMELEON_zgetrf_nopiv(*M, *N, A, *LDA); } + +//void CHAMELEON_ZGETRI(int *N, CHAMELEON_Complex64_t *A, int *LDA, int *IPIV, int *info) +//{ *info = CHAMELEON_zgetri(*N, A, *LDA, IPIV); } +// +//void CHAMELEON_ZGETRS(cham_trans_t *trans, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, int *IPIV, CHAMELEON_Complex64_t *B, int *LDB, int *info) +//{ *info = CHAMELEON_zgetrs(*trans, *N, *NRHS, A, *LDA, IPIV, B, *LDB); } + +void CHAMELEON_ZGETRS_INCPIV(cham_trans_t *trans, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descL, int *IPIV, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zgetrs_incpiv(*trans, *N, *NRHS, A, *LDA, *descL, IPIV, B, *LDB); } + +void CHAMELEON_ZGETRS_NOPIV(cham_trans_t *trans, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zgetrs_nopiv(*trans, *N, *NRHS, A, *LDA, B, *LDB); } + +//void CHAMELEON_ZHEEV(CHAMELEON_enum *jobz, cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, double *W, CHAM_desc_t **descT, CHAMELEON_Complex64_t *Q, int *LDQ, int *info) +//{ *info = CHAMELEON_zheev(*jobz, *uplo, *N, A, *LDA, W, *descT, Q, *LDQ); } +// +//void CHAMELEON_ZHEEVD(CHAMELEON_enum *jobz, cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, double *W, CHAM_desc_t **descT, CHAMELEON_Complex64_t *Q, int *LDQ, int *info) +//{ *info = CHAMELEON_zheevd(*jobz, *uplo, *N, A, *LDA, W, *descT, Q, *LDQ); } +// +//void CHAMELEON_ZHEGST(CHAMELEON_enum *itype, cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, int *info) +//{ *info = CHAMELEON_zhegst(*itype, *uplo, *N, A, *LDA, B, *LDB); } +// +//void CHAMELEON_ZHEGV(CHAMELEON_enum *itype, CHAMELEON_enum *jobz, cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, double *W, CHAM_desc_t **descT, CHAMELEON_Complex64_t *Q, int *LDQ, int *info) +//{ *info = CHAMELEON_zhegv(*itype, *jobz, *uplo, *N, A, *LDA, B, *LDB, W, *descT, Q, *LDQ); } +// +//void CHAMELEON_ZHEGVD(CHAMELEON_enum *itype, CHAMELEON_enum *jobz, cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, double *W, CHAM_desc_t **descT, CHAMELEON_Complex64_t *Q, int *LDQ, int *info) +//{ *info = CHAMELEON_zhegvd(*itype, *jobz, *uplo, *N, A, *LDA, B, *LDB, W, *descT, Q, *LDQ); } + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZHEMM(cham_side_t *side, cham_uplo_t *uplo, int *M, int *N, CHAMELEON_Complex64_t *alpha, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, CHAMELEON_Complex64_t *beta, CHAMELEON_Complex64_t *C, int *LDC, int *info) +{ *info = CHAMELEON_zhemm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); } +#endif + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZHER2K(cham_uplo_t *uplo, cham_trans_t *trans, int *N, int *K, CHAMELEON_Complex64_t *alpha, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, double *beta, CHAMELEON_Complex64_t *C, int *LDC, int *info) +{ *info = CHAMELEON_zher2k(*uplo, *trans, *N, *K, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); } +#endif + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZHERK(cham_uplo_t *uplo, cham_trans_t *trans, int *N, int *K, double *alpha, CHAMELEON_Complex64_t *A, int *LDA, double *beta, CHAMELEON_Complex64_t *C, int *LDC, int *info) +{ *info = CHAMELEON_zherk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); } +#endif + +//void CHAMELEON_ZHETRD(CHAMELEON_enum *jobz, cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, double *D, double *E, CHAM_desc_t **descT, CHAMELEON_Complex64_t *Q, int *LDQ, int *info) +//{ *info = CHAMELEON_zhetrd(*jobz, *uplo, *N, A, *LDA, D, E, *descT, Q, *LDQ); } + +void CHAMELEON_ZLACPY(cham_uplo_t *uplo, int *M, int *N, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zlacpy(*uplo, *M, *N, A, *LDA, B, *LDB); } + +void CHAMELEON_ZLANGE(cham_normtype_t *norm, int *M, int *N, CHAMELEON_Complex64_t *A, int *LDA, double *result) +{ *result = CHAMELEON_zlange(*norm, *M, *N, A, *LDA); } + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZLANHE(cham_normtype_t *norm, cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, double *result) +{ *result = CHAMELEON_zlanhe(*norm, *uplo, *N, A, *LDA); } +#endif + +void CHAMELEON_ZLANSY(cham_normtype_t *norm, cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, double *result) +{ *result = CHAMELEON_zlansy(*norm, *uplo, *N, A, *LDA); } + +void CHAMELEON_ZLANTR(cham_normtype_t *norm, cham_uplo_t *uplo, cham_diag_t *diag, int *M, int *N, CHAMELEON_Complex64_t *A, int *LDA, double *result) +{ *result = CHAMELEON_zlantr(*norm, *uplo, *diag, *M, *N, A, *LDA); } + +void CHAMELEON_ZLASET(cham_uplo_t *uplo, int *M, int *N, CHAMELEON_Complex64_t *alpha, CHAMELEON_Complex64_t *beta, CHAMELEON_Complex64_t *A, int *LDA, int *info) +{ *info = CHAMELEON_zlaset(*uplo, *M, *N, *alpha, *beta, A, *LDA); } + +//void CHAMELEON_ZLASWP(int *N, CHAMELEON_Complex64_t *A, int *LDA, int *K1, int *K2, int *IPIV, int *INCX, int *info) +//{ *info = CHAMELEON_zlaswp(*N, A, *LDA, *K1, *K2, IPIV, *INCX); } +// +//void CHAMELEON_ZLASWPC(int *N, CHAMELEON_Complex64_t *A, int *LDA, int *K1, int *K2, int *IPIV, int *INCX, int *info) +//{ *info = CHAMELEON_zlaswpc(*N, A, *LDA, *K1, *K2, IPIV, *INCX); } + +void CHAMELEON_ZLAUUM(cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, int *info) +{ *info = CHAMELEON_zlauum(*uplo, *N, A, *LDA); } + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZPLGHE(double *bump, cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, unsigned long long int *seed, int *info) +{ *info = CHAMELEON_zplghe(*bump, *uplo, *N, A, *LDA, *seed); } +#endif + +void CHAMELEON_ZPLGSY(CHAMELEON_Complex64_t *bump, cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, unsigned long long int *seed, int *info) +{ *info = CHAMELEON_zplgsy(*bump, *uplo, *N, A, *LDA, *seed); } + +void CHAMELEON_ZPLRNT(int *M, int *N, CHAMELEON_Complex64_t *A, int *LDA, unsigned long long int *seed, int *info) +{ *info = CHAMELEON_zplrnt(*M, *N, A, *LDA, *seed); } + +void CHAMELEON_ZPOSV(cham_uplo_t *uplo, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zposv(*uplo, *N, *NRHS, A, *LDA, B, *LDB); } + +void CHAMELEON_ZPOTRF(cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, int *info) +{ *info = CHAMELEON_zpotrf(*uplo, *N, A, *LDA); } + +void CHAMELEON_ZPOTRI(cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, int *info) +{ *info = CHAMELEON_zpotri(*uplo, *N, A, *LDA); } + +void CHAMELEON_ZPOTRS(cham_uplo_t *uplo, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zpotrs(*uplo, *N, *NRHS, A, *LDA, B, *LDB); } + +#if defined (PRECISION_c) || defined(PRECISION_z) +void CHAMELEON_ZSYSV(cham_uplo_t *uplo, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zsysv(*uplo, *N, *NRHS, A, *LDA, B, *LDB); } + +void CHAMELEON_ZSYTRF(cham_uplo_t *uplo, int *N, CHAMELEON_Complex64_t *A, int *LDA, int *info) +{ *info = CHAMELEON_zsytrf(*uplo, *N, A, *LDA); } + +void CHAMELEON_ZSYTRS(cham_uplo_t *uplo, int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zsytrs(*uplo, *N, *NRHS, A, *LDA, B, *LDB); } +#endif + +void CHAMELEON_ZSYMM(cham_side_t *side, cham_uplo_t *uplo, int *M, int *N, CHAMELEON_Complex64_t *alpha, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, CHAMELEON_Complex64_t *beta, CHAMELEON_Complex64_t *C, int *LDC, int *info) +{ *info = CHAMELEON_zsymm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); } + +void CHAMELEON_ZSYR2K(cham_uplo_t *uplo, cham_trans_t *trans, int *N, int *K, CHAMELEON_Complex64_t *alpha, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, CHAMELEON_Complex64_t *beta, CHAMELEON_Complex64_t *C, int *LDC, int *info) +{ *info = CHAMELEON_zsyr2k(*uplo, *trans, *N, *K, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); } + +void CHAMELEON_ZSYRK(cham_uplo_t *uplo, cham_trans_t *trans, int *N, int *K, CHAMELEON_Complex64_t *alpha, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *beta, CHAMELEON_Complex64_t *C, int *LDC, int *info) +{ *info = CHAMELEON_zsyrk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); } + +void CHAMELEON_ZTRMM(cham_side_t *side, cham_uplo_t *uplo, cham_trans_t *transA, cham_diag_t *diag, int *N, int *NRHS, CHAMELEON_Complex64_t *alpha, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_ztrmm(*side, *uplo, *transA, *diag, *N, *NRHS, *alpha, A, *LDA, B, *LDB); } + +void CHAMELEON_ZTRSM(cham_side_t *side, cham_uplo_t *uplo, cham_trans_t *transA, cham_diag_t *diag, int *N, int *NRHS, CHAMELEON_Complex64_t *alpha, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_ztrsm(*side, *uplo, *transA, *diag, *N, *NRHS, *alpha, A, *LDA, B, *LDB); } + +void CHAMELEON_ZTRSMPL(int *N, int *NRHS, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descL, int *IPIV, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_ztrsmpl(*N, *NRHS, A, *LDA, *descL, IPIV, B, *LDB); } + +//void CHAMELEON_ZTRSMRV(cham_side_t *side, cham_uplo_t *uplo, cham_trans_t *transA, cham_diag_t *diag, int *N, int *NRHS, CHAMELEON_Complex64_t *alpha, CHAMELEON_Complex64_t *A, int *LDA, CHAMELEON_Complex64_t *B, int *LDB, int *info) +//{ *info = CHAMELEON_ztrsmrv(*side, *uplo, *transA, *diag, *N, *NRHS, *alpha, A, *LDA, B, *LDB); } + +void CHAMELEON_ZTRTRI(cham_uplo_t *uplo, cham_diag_t *diag, int *N, CHAMELEON_Complex64_t *A, int *LDA, int *info) +{ *info = CHAMELEON_ztrtri(*uplo, *diag, *N, A, *LDA); } + +void CHAMELEON_ZUNGLQ(int *M, int *N, int *K, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descT, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zunglq(*M, *N, *K, A, *LDA, *descT, B, *LDB); } + +void CHAMELEON_ZUNGQR(int *M, int *N, int *K, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descT, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zungqr(*M, *N, *K, A, *LDA, *descT, B, *LDB); } + +void CHAMELEON_ZUNMLQ(cham_side_t *side, cham_trans_t *trans, int *M, int *N, int *K, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descT, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zunmlq(*side, *trans, *M, *N, *K, A, *LDA, *descT, B, *LDB); } + +void CHAMELEON_ZUNMQR(cham_side_t *side, cham_trans_t *trans, int *M, int *N, int *K, CHAMELEON_Complex64_t *A, int *LDA, CHAM_desc_t **descT, CHAMELEON_Complex64_t *B, int *LDB, int *info) +{ *info = CHAMELEON_zunmqr(*side, *trans, *M, *N, *K, A, *LDA, *descT, B, *LDB); } + + +/** + * FORTRAN API - math functions (native interface) + */ +//void CHAMELEON_ZGEBRD_TILE(CHAM_desc_t *A, double *D, double *E, CHAM_desc_t *T, int *info) +//{ *info = CHAMELEON_zgebrd_Tile(A, D, E, T); } + +void CHAMELEON_ZGELQF_TILE(CHAM_desc_t *A, CHAM_desc_t *T, int *info) +{ *info = CHAMELEON_zgelqf_Tile(A, T); } + +void CHAMELEON_ZGELQS_TILE(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zgelqs_Tile(A, T, B); } + +void CHAMELEON_ZGELS_TILE(cham_trans_t *trans, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zgels_Tile(*trans, A, T, B); } + +void CHAMELEON_ZGEMM_TILE(cham_trans_t *transA, cham_trans_t *transB, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t *beta, CHAM_desc_t *C, int *info) +{ *info = CHAMELEON_zgemm_Tile(*transA, *transB, *alpha, A, B, *beta, C); } + +void CHAMELEON_ZGEQRF_TILE(CHAM_desc_t *A, CHAM_desc_t *T, int *info) +{ *info = CHAMELEON_zgeqrf_Tile(A, T); } + +void CHAMELEON_ZGEQRS_TILE(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zgeqrs_Tile(A, T, B); } + +//void CHAMELEON_ZGESV_TILE(CHAM_desc_t *A, int *IPIV, CHAM_desc_t *B, int *info) +//{ *info = CHAMELEON_zgesv_Tile(A, IPIV, B); } + +void CHAMELEON_ZGESV_INCPIV_TILE(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zgesv_incpiv_Tile(A, L, IPIV, B); } + +void CHAMELEON_ZGESV_NOPIV_TILE(CHAM_desc_t *A, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zgesv_nopiv_Tile(A, B); } + +//void CHAMELEON_ZGESVD_TILE(CHAMELEON_enum *jobu, CHAMELEON_enum *jobvt, CHAM_desc_t *A, double *S, CHAM_desc_t *U, CHAM_desc_t *VT, CHAM_desc_t *T, int *info) +//{ *info = CHAMELEON_zgesvd_Tile(*jobu, *jobvt, A, S, U, VT, T); } + +//void CHAMELEON_ZGETRF_TILE(CHAM_desc_t *A, int *IPIV, int *info) +//{ *info = CHAMELEON_zgetrf_Tile(A, IPIV); } + +void CHAMELEON_ZGETRF_INCPIV_TILE(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, int *info) +{ *info = CHAMELEON_zgetrf_incpiv_Tile(A, L, IPIV); } + +void CHAMELEON_ZGETRF_NOPIV_TILE(CHAM_desc_t *A, int *info) +{ *info = CHAMELEON_zgetrf_nopiv_Tile(A); } + +//void CHAMELEON_ZGETRI_TILE(CHAM_desc_t *A, int *IPIV, int *info) +//{ *info = CHAMELEON_zgetri_Tile(A, IPIV); } +// +//void CHAMELEON_ZGETRS_TILE(cham_trans_t *trans, CHAM_desc_t *A, int *IPIV, CHAM_desc_t *B, int *info) +//{ *info = CHAMELEON_zgetrs_Tile(*trans, A, IPIV, B); } + +void CHAMELEON_ZGETRS_INCPIV_TILE(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zgetrs_incpiv_Tile(A, L, IPIV, B); } + +void CHAMELEON_ZGETRS_NOPIV_TILE(CHAM_desc_t *A, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zgetrs_nopiv_Tile(A, B); } + +//void CHAMELEON_ZHEEV_TILE(CHAMELEON_enum *jobz, cham_uplo_t *uplo, CHAM_desc_t *A, double *W, CHAM_desc_t *T, CHAMELEON_Complex64_t *Q, int *LDQ, int *info) +//{ *info = CHAMELEON_zheev_Tile(*jobz, *uplo, A, W, T, Q, *LDQ); } +// +//void CHAMELEON_ZHEEVD_TILE(CHAMELEON_enum *jobz, cham_uplo_t *uplo, CHAM_desc_t *A, double *W, CHAM_desc_t *T, CHAMELEON_Complex64_t *Q, int *LDQ, int *info) +//{ *info = CHAMELEON_zheevd_Tile(*jobz, *uplo, A, W, T, Q, *LDQ); } +// +//void CHAMELEON_ZHEGST_TILE(CHAMELEON_enum *itype, cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, int *info) +//{ *info = CHAMELEON_zhegst_Tile(*itype, *uplo, A, B); } +// +//void CHAMELEON_ZHEGV_TILE(CHAMELEON_enum *itype, CHAMELEON_enum *jobz, cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, double *W, CHAM_desc_t *T, CHAM_desc_t *Q, int *info) +//{ *info = CHAMELEON_zhegv_Tile(*itype, *jobz, *uplo, A, B, W, T, Q); } +// +//void CHAMELEON_ZHEGVD_TILE(CHAMELEON_enum *itype, CHAMELEON_enum *jobz, cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, double *W, CHAM_desc_t *T, CHAM_desc_t *Q, int *info) +//{ *info = CHAMELEON_zhegvd_Tile(*itype, *jobz, *uplo, A, B, W, T, Q); } + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZHEMM_TILE(cham_side_t *side, cham_uplo_t *uplo, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t *beta, CHAM_desc_t *C, int *info) +{ *info = CHAMELEON_zhemm_Tile(*side, *uplo, *alpha, A, B, *beta, C); } +#endif + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZHER2K_TILE(cham_uplo_t *uplo, cham_trans_t *trans, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, double *beta, CHAM_desc_t *C, int *info) +{ *info = CHAMELEON_zher2k_Tile(*uplo, *trans, *alpha, A, B, *beta, C); } +#endif + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZHERK_TILE(cham_uplo_t *uplo, cham_trans_t *trans, double *alpha, CHAM_desc_t *A, double *beta, CHAM_desc_t *C, int *info) +{ *info = CHAMELEON_zherk_Tile(*uplo, *trans, *alpha, A, *beta, C); } +#endif + +//void CHAMELEON_ZHETRD_TILE(CHAMELEON_enum *jobz, cham_uplo_t *uplo, CHAM_desc_t *A, double *D, double *E, CHAM_desc_t *T, CHAMELEON_Complex64_t *Q, int *LDQ, int *info) +//{ *info = CHAMELEON_zhetrd_Tile(*jobz, *uplo, A, D, E, T, Q, *LDQ); } + +void CHAMELEON_ZLACPY_TILE(cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zlacpy_Tile(*uplo, A, B); } + +void CHAMELEON_ZLANGE_TILE(cham_normtype_t *norm, CHAM_desc_t *A, double *result) +{ *result = CHAMELEON_zlange_Tile(*norm, A); } + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZLANHE_TILE(cham_normtype_t *norm, cham_uplo_t *uplo, CHAM_desc_t *A, double *result) +{ *result = CHAMELEON_zlanhe_Tile(*norm, *uplo, A); } +#endif + +void CHAMELEON_ZLANSY_TILE(cham_normtype_t *norm, cham_uplo_t *uplo, CHAM_desc_t *A, double *result) +{ *result = CHAMELEON_zlansy_Tile(*norm, *uplo, A); } + +void CHAMELEON_ZLANTR_TILE(cham_normtype_t *norm, cham_uplo_t *uplo, cham_diag_t *diag, CHAM_desc_t *A, double *result) +{ *result = CHAMELEON_zlantr_Tile(*norm, *uplo, *diag, A); } + +void CHAMELEON_ZLASET_TILE(cham_uplo_t *uplo, CHAMELEON_Complex64_t *alpha, CHAMELEON_Complex64_t *beta, CHAM_desc_t *A, int *info) +{ *info = CHAMELEON_zlaset_Tile(*uplo, *alpha, *beta, A); } + +//void CHAMELEON_ZLASWP_TILE(CHAM_desc_t *A, int *K1, int *K2, int *IPIV, int *INCX, int *info) +//{ *info = CHAMELEON_zlaswp_Tile(A, *K1, *K2, IPIV, *INCX); } +// +//void CHAMELEON_ZLASWPC_TILE(CHAM_desc_t *A, int *K1, int *K2, int *IPIV, int *INCX, int *info) +//{ *info = CHAMELEON_zlaswpc_Tile(A, *K1, *K2, IPIV, *INCX); } + +void CHAMELEON_ZLAUUM_TILE(cham_uplo_t *uplo, CHAM_desc_t *A, int *info) +{ *info = CHAMELEON_zlauum_Tile(*uplo, A); } + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZPLGHE_TILE(double *bump, cham_uplo_t *uplo, CHAM_desc_t *A, unsigned long long int *seed, int *info) +{ *info = CHAMELEON_zplghe_Tile(*bump, *uplo, A, *seed); } +#endif + +void CHAMELEON_ZPLGSY_TILE(CHAMELEON_Complex64_t *bump, cham_uplo_t *uplo, CHAM_desc_t *A, unsigned long long int *seed, int *info) +{ *info = CHAMELEON_zplgsy_Tile(*bump, *uplo, A, *seed); } + +void CHAMELEON_ZPLRNT_TILE(CHAM_desc_t *A, unsigned long long int *seed, int *info) +{ *info = CHAMELEON_zplrnt_Tile(A, *seed); } + +void CHAMELEON_ZPOSV_TILE(cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zposv_Tile(*uplo, A, B); } + +void CHAMELEON_ZPOTRF_TILE(cham_uplo_t *uplo, CHAM_desc_t *A, int *info) +{ *info = CHAMELEON_zpotrf_Tile(*uplo, A); } + +void CHAMELEON_ZPOTRI_TILE(cham_uplo_t *uplo, CHAM_desc_t *A, int *info) +{ *info = CHAMELEON_zpotri_Tile(*uplo, A); } + +void CHAMELEON_ZPOTRS_TILE(cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zpotrs_Tile(*uplo, A, B); } + +#if defined (PRECISION_c) || defined(PRECISION_z) +void CHAMELEON_ZSYSV_TILE(cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zsysv_Tile(*uplo, A, B); } + +void CHAMELEON_ZSYTRF_TILE(cham_uplo_t *uplo, CHAM_desc_t *A, int *info) +{ *info = CHAMELEON_zsytrf_Tile(*uplo, A); } + +void CHAMELEON_ZSYTRS_TILE(cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zsytrs_Tile(*uplo, A, B); } +#endif + +void CHAMELEON_ZSYMM_TILE(cham_side_t *side, cham_uplo_t *uplo, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t *beta, CHAM_desc_t *C, int *info) +{ *info = CHAMELEON_zsymm_Tile(*side, *uplo, *alpha, A, B, *beta, C); } + +void CHAMELEON_ZSYR2K_TILE(cham_uplo_t *uplo, cham_trans_t *trans, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t *beta, CHAM_desc_t *C, int *info) +{ *info = CHAMELEON_zsyr2k_Tile(*uplo, *trans, *alpha, A, B, *beta, C); } + +void CHAMELEON_ZSYRK_TILE(cham_uplo_t *uplo, cham_trans_t *trans, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAMELEON_Complex64_t *beta, CHAM_desc_t *C, int *info) +{ *info = CHAMELEON_zsyrk_Tile(*uplo, *trans, *alpha, A, *beta, C); } + +void CHAMELEON_ZTRMM_TILE(cham_side_t *side, cham_uplo_t *uplo, cham_trans_t *transA, cham_diag_t *diag, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_ztrmm_Tile(*side, *uplo, *transA, *diag, *alpha, A, B); } + +void CHAMELEON_ZTRSM_TILE(cham_side_t *side, cham_uplo_t *uplo, cham_trans_t *transA, cham_diag_t *diag, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_ztrsm_Tile(*side, *uplo, *transA, *diag, *alpha, A, B); } + +void CHAMELEON_ZTRSMPL_TILE(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_ztrsmpl_Tile(A, L, IPIV, B); } + +//void CHAMELEON_ZTRSMRV_TILE(cham_side_t *side, cham_uplo_t *uplo, cham_trans_t *transA, cham_diag_t *diag, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, int *info) +//{ *info = CHAMELEON_ztrsmrv_Tile(*side, *uplo, *transA, *diag, *alpha, A, B); } + +void CHAMELEON_ZTRTRI_TILE(cham_uplo_t *uplo, cham_diag_t *diag, CHAM_desc_t *A, int *info) +{ *info = CHAMELEON_ztrtri_Tile(*uplo, *diag, A); } + +void CHAMELEON_ZUNGLQ_TILE(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zunglq_Tile(A, T, B); } + +void CHAMELEON_ZUNGQR_TILE(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zungqr_Tile(A, T, B); } + +void CHAMELEON_ZUNMLQ_TILE(cham_side_t *side, cham_trans_t *trans, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zunmlq_Tile(*side, *trans, A, T, B); } + +void CHAMELEON_ZUNMQR_TILE(cham_side_t *side, cham_trans_t *trans, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, int *info) +{ *info = CHAMELEON_zunmqr_Tile(*side, *trans, A, T, B); } + + +/** + * FORTRAN API - math functions (asynchronous interface) + */ +//void CHAMELEON_ZGEBRD_TILE_ASYNC(CHAM_desc_t *A, double *D, double *E, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zgebrd_Tile_Async(A, D, E, T, sequence, request); } + +void CHAMELEON_ZGELQF_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zgelqf_Tile_Async(A, T, sequence, request); } + +void CHAMELEON_ZGELQS_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zgelqs_Tile_Async(A, T, B, sequence, request); } + +void CHAMELEON_ZGELS_TILE_ASYNC(cham_trans_t *trans, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zgels_Tile_Async(*trans, A, T, B, sequence, request); } + +void CHAMELEON_ZGEMM_TILE_ASYNC(cham_trans_t *transA, cham_trans_t *transB, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t *beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zgemm_Tile_Async(*transA, *transB, *alpha, A, B, *beta, C, sequence, request); } + +void CHAMELEON_ZGEQRF_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zgeqrf_Tile_Async(A, T, sequence, request); } + +void CHAMELEON_ZGEQRS_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zgeqrs_Tile_Async(A, T, B, sequence, request); } + +//void CHAMELEON_ZGESV_TILE_ASYNC(CHAM_desc_t *A, int *IPIV, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zgesv_Tile_Async(A, IPIV, B, sequence, request); } + +void CHAMELEON_ZGESV_INCPIV_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zgesv_incpiv_Tile_Async(A, L, IPIV, B, sequence, request); } + +//void CHAMELEON_ZGESV_NOPIV_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zgesv_nopiv_Tile_Async(A, B, sequence, request); } +// +//void CHAMELEON_ZGESVD_TILE_ASYNC(CHAMELEON_enum *jobu, CHAMELEON_enum *jobvt, CHAM_desc_t *A, double *S, CHAM_desc_t *U, CHAM_desc_t *VT, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zgesvd_Tile_Async(*jobu, *jobvt, A, S, U, VT, T, sequence, request); } + +//void CHAMELEON_ZGETRF_TILE_ASYNC(CHAM_desc_t *A, int *IPIV, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zgetrf_Tile_Async(A, IPIV, sequence, request); } + +void CHAMELEON_ZGETRF_INCPIV_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zgetrf_incpiv_Tile_Async(A, L, IPIV, sequence, request); } + +void CHAMELEON_ZGETRF_NOPIV_TILE_ASYNC(CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zgetrf_nopiv_Tile_Async(A, sequence, request); } + +//void CHAMELEON_ZGETRI_TILE_ASYNC(CHAM_desc_t *A, int *IPIV, CHAM_desc_t *W, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zgetri_Tile_Async(A, IPIV, W, sequence, request); } +// +//void CHAMELEON_ZGETRS_TILE_ASYNC(cham_trans_t *trans, CHAM_desc_t *A, int *IPIV, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zgetrs_Tile_Async(*trans, A, IPIV, B, sequence, request); } + +void CHAMELEON_ZGETRS_INCPIV_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zgetrs_incpiv_Tile_Async(A, L, IPIV, B, sequence, request); } + +void CHAMELEON_ZGETRS_NOPIV_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zgetrs_nopiv_Tile_Async(A, B, sequence, request); } + +//void CHAMELEON_ZHEEV_TILE_ASYNC(CHAMELEON_enum *jobz, cham_uplo_t *uplo, CHAM_desc_t *A, double *W, CHAM_desc_t *T, CHAMELEON_Complex64_t *Q, int *LDQ, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zheev_Tile_Async(*jobz, *uplo, A, W, T, Q, *LDQ, sequence, request); } +// +//void CHAMELEON_ZHEEVD_TILE_ASYNC(CHAMELEON_enum *jobz, cham_uplo_t *uplo, CHAM_desc_t *A, double *W, CHAM_desc_t *T, CHAMELEON_Complex64_t *Q, int *LDQ, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zheevd_Tile_Async(*jobz, *uplo, A, W, T, Q, *LDQ, sequence, request); } +// +//void CHAMELEON_ZHEGST_TILE_ASYNC(CHAMELEON_enum *itype, cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zhegst_Tile_Async(*itype, *uplo, A, B, sequence, request); } +// +//void CHAMELEON_ZHEGV_TILE_ASYNC(CHAMELEON_enum *itype, CHAMELEON_enum *jobz, cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, double *W, CHAM_desc_t *T, CHAM_desc_t *Q, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zhegv_Tile_Async(*itype, *jobz, *uplo, A, B, W, T, Q, sequence, request); } +// +//void CHAMELEON_ZHEGVD_TILE_ASYNC(CHAMELEON_enum *itype, CHAMELEON_enum *jobz, cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, double *W, CHAM_desc_t *T, CHAM_desc_t *Q, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zhegvd_Tile_Async(*itype, *jobz, *uplo, A, B, W, T, Q, sequence, request); } + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZHEMM_TILE_ASYNC(cham_side_t *side, cham_uplo_t *uplo, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t *beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zhemm_Tile_Async(*side, *uplo, *alpha, A, B, *beta, C, sequence, request); } +#endif + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZHER2K_TILE_ASYNC(cham_uplo_t *uplo, cham_trans_t *trans, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, double *beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zher2k_Tile_Async(*uplo, *trans, *alpha, A, B, *beta, C, sequence, request); } +#endif + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZHERK_TILE_ASYNC(cham_uplo_t *uplo, cham_trans_t *trans, double *alpha, CHAM_desc_t *A, double *beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zherk_Tile_Async(*uplo, *trans, *alpha, A, *beta, C, sequence, request); } +#endif + +//void CHAMELEON_ZHETRD_TILE_ASYNC(CHAMELEON_enum *jobz, cham_uplo_t *uplo, CHAM_desc_t *A, double *D, double *E, CHAM_desc_t *T, CHAMELEON_Complex64_t *Q, int *LDQ, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zhetrd_Tile_Async(*jobz, *uplo, A, D, E, T, Q, *LDQ, sequence, request); } + +void CHAMELEON_ZLACPY_TILE_ASYNC(cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zlacpy_Tile_Async(*uplo, A, B, sequence, request); } + +void CHAMELEON_ZLANGE_TILE_ASYNC(cham_normtype_t *norm, CHAM_desc_t *A, double *value, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zlange_Tile_Async(*norm, A, value, sequence, request); } + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZLANHE_TILE_ASYNC(cham_normtype_t *norm, cham_uplo_t *uplo, CHAM_desc_t *A, double *value, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zlanhe_Tile_Async(*norm, *uplo, A, value, sequence, request); } +#endif + +void CHAMELEON_ZLANSY_TILE_ASYNC(cham_normtype_t *norm, cham_uplo_t *uplo, CHAM_desc_t *A, double *value, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zlansy_Tile_Async(*norm, *uplo, A, value, sequence, request); } + +void CHAMELEON_ZLANTR_TILE_ASYNC(cham_normtype_t *norm, cham_uplo_t *uplo, cham_diag_t *diag, CHAM_desc_t *A, double *value, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zlantr_Tile_Async(*norm, *uplo, *diag, A, value, sequence, request); } + +void CHAMELEON_ZLASET_TILE_ASYNC(cham_uplo_t *uplo, CHAMELEON_Complex64_t *alpha, CHAMELEON_Complex64_t *beta, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zlaset_Tile_Async(*uplo, *alpha, *beta, A, sequence, request); } + +//void CHAMELEON_ZLASWP_TILE_ASYNC(CHAM_desc_t *A, int *K1, int *K2, int *IPIV, int *INCX, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zlaswp_Tile_Async(A, *K1, *K2, IPIV, *INCX, sequence, request); } +// +//void CHAMELEON_ZLASWPC_TILE_ASYNC(CHAM_desc_t *A, int *K1, int *K2, int *IPIV, int *INCX, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_zlaswpc_Tile_Async(A, *K1, *K2, IPIV, *INCX, sequence, request); } + +void CHAMELEON_ZLAUUM_TILE_ASYNC(cham_uplo_t *uplo, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zlauum_Tile_Async(*uplo, A, sequence, request); } + +#if defined(PRECISION_z) || defined(PRECISION_c) +void CHAMELEON_ZPLGHE_TILE_ASYNC(double *bump, cham_uplo_t *uplo, CHAM_desc_t *A, unsigned long long int *seed, RUNTIME_sequence_t *sequence, RUNTIME_request_t * *request, int *info) +{ *info = CHAMELEON_zplghe_Tile_Async(*bump, *uplo, A, *seed, sequence, *request); } +#endif + +void CHAMELEON_ZPLGSY_TILE_ASYNC(CHAMELEON_Complex64_t *bump, cham_uplo_t *uplo, CHAM_desc_t *A, unsigned long long int *seed, RUNTIME_sequence_t *sequence, RUNTIME_request_t * *request, int *info) +{ *info = CHAMELEON_zplgsy_Tile_Async(*bump, *uplo, A, *seed, sequence, *request); } + +void CHAMELEON_ZPLRNT_TILE_ASYNC(CHAM_desc_t *A, unsigned long long int *seed, RUNTIME_sequence_t *sequence, RUNTIME_request_t * *request, int *info) +{ *info = CHAMELEON_zplrnt_Tile_Async(A, *seed, sequence, *request); } + +void CHAMELEON_ZPOSV_TILE_ASYNC(cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zposv_Tile_Async(*uplo, A, B, sequence, request); } + +void CHAMELEON_ZPOTRF_TILE_ASYNC(cham_uplo_t *uplo, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zpotrf_Tile_Async(*uplo, A, sequence, request); } + +void CHAMELEON_ZPOTRI_TILE_ASYNC(cham_uplo_t *uplo, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zpotri_Tile_Async(*uplo, A, sequence, request); } + +void CHAMELEON_ZPOTRS_TILE_ASYNC(cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zpotrs_Tile_Async(*uplo, A, B, sequence, request); } + +#if defined (PRECISION_c) || defined(PRECISION_z) +void CHAMELEON_ZSYSV_TILE_ASYNC(cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zsysv_Tile_Async(*uplo, A, B, sequence, request); } + +void CHAMELEON_ZSYTRF_TILE_ASYNC(cham_uplo_t *uplo, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zsytrf_Tile_Async(*uplo, A, sequence, request); } + +void CHAMELEON_ZSYTRS_TILE_ASYNC(cham_uplo_t *uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zsytrs_Tile_Async(*uplo, A, B, sequence, request); } +#endif + +void CHAMELEON_ZSYMM_TILE_ASYNC(cham_side_t *side, cham_uplo_t *uplo, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t *beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zsymm_Tile_Async(*side, *uplo, *alpha, A, B, *beta, C, sequence, request); } + +void CHAMELEON_ZSYR2K_TILE_ASYNC(cham_uplo_t *uplo, cham_trans_t *trans, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t *beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zsyr2k_Tile_Async(*uplo, *trans, *alpha, A, B, *beta, C, sequence, request); } + +void CHAMELEON_ZSYRK_TILE_ASYNC(cham_uplo_t *uplo, cham_trans_t *trans, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAMELEON_Complex64_t *beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zsyrk_Tile_Async(*uplo, *trans, *alpha, A, *beta, C, sequence, request); } + +void CHAMELEON_ZTRMM_TILE_ASYNC(cham_side_t *side, cham_uplo_t *uplo, cham_trans_t *transA, cham_diag_t *diag, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_ztrmm_Tile_Async(*side, *uplo, *transA, *diag, *alpha, A, B, sequence, request); } + +void CHAMELEON_ZTRSM_TILE_ASYNC(cham_side_t *side, cham_uplo_t *uplo, cham_trans_t *transA, cham_diag_t *diag, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_ztrsm_Tile_Async(*side, *uplo, *transA, *diag, *alpha, A, B, sequence, request); } + +void CHAMELEON_ZTRSMPL_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_ztrsmpl_Tile_Async(A, L, IPIV, B, sequence, request); } + +//void CHAMELEON_ZTRSMRV_TILE_ASYNC(cham_side_t *side, cham_uplo_t *uplo, cham_trans_t *transA, cham_diag_t *diag, CHAMELEON_Complex64_t *alpha, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +//{ *info = CHAMELEON_ztrsmrv_Tile_Async(*side, *uplo, *transA, *diag, *alpha, A, B, sequence, request); } + +void CHAMELEON_ZTRTRI_TILE_ASYNC(cham_uplo_t *uplo, cham_diag_t *diag, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_ztrtri_Tile_Async(*uplo, *diag, A, sequence, request); } + +void CHAMELEON_ZUNGLQ_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zunglq_Tile_Async(A, T, B, sequence, request); } + +void CHAMELEON_ZUNGQR_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zungqr_Tile_Async(A, T, B, sequence, request); } + +void CHAMELEON_ZUNMLQ_TILE_ASYNC(cham_side_t *side, cham_trans_t *trans, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zunmlq_Tile_Async(*side, *trans, A, T, B, sequence, request); } + +void CHAMELEON_ZUNMQR_TILE_ASYNC(cham_side_t *side, cham_trans_t *trans, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request, int *info) +{ *info = CHAMELEON_zunmqr_Tile_Async(*side, *trans, A, T, B, sequence, request); } + + +/** + * FORTRAN API - workspace allocation + */ +//void CHAMELEON_ALLOC_WORKSPACE_ZGEBRD(int *M, int *N, CHAM_desc_t **descT, int *info) +//{ *info = CHAMELEON_Alloc_Workspace_zgebrd(*M, *N, descT); } +// +//void CHAMELEON_ALLOC_WORKSPACE_ZGEEV(int *N, CHAM_desc_t **descT, int *info) +//{ *info = CHAMELEON_Alloc_Workspace_zgeev(*N, descT); } +// +//void CHAMELEON_ALLOC_WORKSPACE_ZGEHRD(int *N, CHAM_desc_t **descT, int *info) +//{ *info = CHAMELEON_Alloc_Workspace_zgehrd(*N, descT); } + +void CHAMELEON_ALLOC_WORKSPACE_ZGELQF(int *M, int *N, CHAM_desc_t **T, int *p, int *q, int *info) +{ *info = CHAMELEON_Alloc_Workspace_zgelqf(*M, *N, T, *p, *q); } + +void CHAMELEON_ALLOC_WORKSPACE_ZGELQF_TILE(int *M, int *N, CHAM_desc_t **descT, int *p, int *q, int *info) +{ *info = CHAMELEON_Alloc_Workspace_zgelqf_Tile(*M, *N, descT, *p, *q); } + +void CHAMELEON_ALLOC_WORKSPACE_ZGELS(int *M, int *N, CHAM_desc_t **T, int *p, int *q, int *info) +{ *info = CHAMELEON_Alloc_Workspace_zgels(*M, *N, T, *p, *q); } + +void CHAMELEON_ALLOC_WORKSPACE_ZGELS_TILE(int *M, int *N, CHAM_desc_t **descT, int *p, int *q, int *info) +{ *info = CHAMELEON_Alloc_Workspace_zgels_Tile(*M, *N, descT, *p, *q); } + +void CHAMELEON_ALLOC_WORKSPACE_ZGEQRF(int *M, int *N, CHAM_desc_t **T, int *p, int *q, int *info) +{ *info = CHAMELEON_Alloc_Workspace_zgeqrf(*M, *N, T, *p, *q); } + +void CHAMELEON_ALLOC_WORKSPACE_ZGEQRF_TILE(int *M, int *N, CHAM_desc_t **descT, int *p, int *q, int *info) +{ *info = CHAMELEON_Alloc_Workspace_zgeqrf_Tile(*M, *N, descT, *p, *q); } + +void CHAMELEON_ALLOC_WORKSPACE_ZGESV_INCPIV(int *N, CHAM_desc_t **descL, int **IPIV, int *p, int *q, int *info) +{ *info = CHAMELEON_Alloc_Workspace_zgesv_incpiv(*N, descL, IPIV, *p, *q); } + +void CHAMELEON_ALLOC_WORKSPACE_ZGESV_INCPIV_TILE (int *N, CHAM_desc_t **descL, int **IPIV, int *p, int *q, int *info) +{ *info = CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile (*N, descL, IPIV, *p, *q); } + +//void CHAMELEON_ALLOC_WORKSPACE_ZGESVD(int *M, int *N, CHAM_desc_t **descT, int *info) +//{ *info = CHAMELEON_Alloc_Workspace_zgesvd(*M, *N, descT); } + +void CHAMELEON_ALLOC_WORKSPACE_ZGETRF_INCPIV(int *M, int *N, CHAM_desc_t **descL, int **IPIV, int *p, int *q, int *info) +{ *info = CHAMELEON_Alloc_Workspace_zgetrf_incpiv(*M, *N, descL, IPIV, *p, *q); } + +void CHAMELEON_ALLOC_WORKSPACE_ZGETRF_INCPIV_TILE(int *N, CHAM_desc_t **descL, int **IPIV, int *p, int *q, int *info) +{ *info = CHAMELEON_Alloc_Workspace_zgetrf_incpiv_Tile(*N, descL, IPIV, *p, *q); } + +//void CHAMELEON_ALLOC_WORKSPACE_ZGETRI_TILE_ASYNC(CHAM_desc_t *A, CHAM_desc_t *W, int *info) +//{ *info = CHAMELEON_Alloc_Workspace_zgetri_Tile_Async(A, W); } + +//void CHAMELEON_ALLOC_WORKSPACE_ZHEEV(int *M, int *N, CHAM_desc_t **descT, int *info) +//{ *info = CHAMELEON_Alloc_Workspace_zheev(*M, *N, descT); } +// +//void CHAMELEON_ALLOC_WORKSPACE_ZHEEVD(int *M, int *N, CHAM_desc_t **descT, int *info) +//{ *info = CHAMELEON_Alloc_Workspace_zheevd(*M, *N, descT); } +// +//void CHAMELEON_ALLOC_WORKSPACE_ZHEGV(int *M, int *N, CHAM_desc_t **descT, int *info) +//{ *info = CHAMELEON_Alloc_Workspace_zhegv(*M, *N, descT); } +// +//void CHAMELEON_ALLOC_WORKSPACE_ZHEGVD(int *M, int *N, CHAM_desc_t **descT, int *info) +//{ *info = CHAMELEON_Alloc_Workspace_zhegvd(*M, *N, descT); } +// +//void CHAMELEON_ALLOC_WORKSPACE_ZHETRD(int *M, int *N, CHAM_desc_t **descT, int *info) +//{ *info = CHAMELEON_Alloc_Workspace_zhetrd(*M, *N, descT); } + + + diff --git a/control/morse_zf90.F90 b/control/chameleon_zf90.F90 similarity index 55% rename from control/morse_zf90.F90 rename to control/chameleon_zf90.F90 index 36ed6a1d77a44d25e8dc0d7bb0ef2b6648ee6358..21bfb621474ab8ed76a00cba539f8056c506c2b6 100644 --- a/control/morse_zf90.F90 +++ b/control/chameleon_zf90.F90 @@ -65,8 +65,8 @@ ! ! ! -! MORSE Fortran 90 interfaces using Fortran 2003 ISO C bindings -! MORSE is a software package provided by Univ. of Tennessee, +! CHAMELEON Fortran 90 interfaces using Fortran 2003 ISO C bindings +! CHAMELEON is a software package provided by Univ. of Tennessee, ! Univ. of California Berkeley and Univ. of Colorado Denver ! ! @version 1.0.0 @@ -79,40 +79,40 @@ ! #define PRECISION_z -module morse_z +module chameleon_z !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ! FORTRAN API - math functions (simple interface) ! interface - function MORSE_zLapack_to_Tile_c(Af77,LDA,A) & - & bind(c, name='MORSE_zLapack_to_Tile') + function CHAMELEON_zLapack_to_Tile_c(Af77,LDA,A) & + & bind(c, name='CHAMELEON_zLapack_to_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zLapack_to_Tile_c + integer(kind=c_int) :: CHAMELEON_zLapack_to_Tile_c type(c_ptr), value :: Af77 integer(kind=c_int), value :: LDA type(c_ptr), value :: A - end function MORSE_zLapack_to_Tile_c + end function CHAMELEON_zLapack_to_Tile_c end interface interface - function MORSE_zTile_to_Lapack_c(A,Af77,LDA) & - & bind(c, name='MORSE_zTile_to_Lapack') + function CHAMELEON_zTile_to_Lapack_c(A,Af77,LDA) & + & bind(c, name='CHAMELEON_zTile_to_Lapack') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zTile_to_Lapack_c + integer(kind=c_int) :: CHAMELEON_zTile_to_Lapack_c type(c_ptr), value :: A type(c_ptr), value :: Af77 integer(kind=c_int), value :: LDA - end function MORSE_zTile_to_Lapack_c + end function CHAMELEON_zTile_to_Lapack_c end interface interface - function MORSE_zgebrd_c(M,N,A,LDA,D,E,descT) & - & bind(c, name='MORSE_zgebrd') + function CHAMELEON_zgebrd_c(M,N,A,LDA,D,E,descT) & + & bind(c, name='CHAMELEON_zgebrd') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgebrd_c + integer(kind=c_int) :: CHAMELEON_zgebrd_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr), value :: A @@ -120,15 +120,15 @@ module morse_z type(c_ptr), value :: D type(c_ptr), value :: E type(c_ptr), value :: descT - end function MORSE_zgebrd_c + end function CHAMELEON_zgebrd_c end interface interface - function MORSE_zgecfi_c(m,n,A,fin,imb,inb,fout,omb,onb) & - & bind(c, name='MORSE_zgecfi') + function CHAMELEON_zgecfi_c(m,n,A,fin,imb,inb,fout,omb,onb) & + & bind(c, name='CHAMELEON_zgecfi') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgecfi_c + integer(kind=c_int) :: CHAMELEON_zgecfi_c integer(kind=c_int), value :: m integer(kind=c_int), value :: n type(c_ptr), value :: A @@ -138,15 +138,15 @@ module morse_z integer(kind=c_int), value :: fout integer(kind=c_int), value :: omb integer(kind=c_int), value :: onb - end function MORSE_zgecfi_c + end function CHAMELEON_zgecfi_c end interface interface - function MORSE_zgecfi_Async_c(m,n,A,f_in,imb,inb,f_out,omb,onb,sequence,request) & - & bind(c, name='MORSE_zgecfi_Async') + function CHAMELEON_zgecfi_Async_c(m,n,A,f_in,imb,inb,f_out,omb,onb,sequence,request) & + & bind(c, name='CHAMELEON_zgecfi_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgecfi_Async_c + integer(kind=c_int) :: CHAMELEON_zgecfi_Async_c integer(kind=c_int), value :: m integer(kind=c_int), value :: n type(c_ptr), value :: A @@ -158,29 +158,29 @@ module morse_z integer(kind=c_int), value :: onb type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgecfi_Async_c + end function CHAMELEON_zgecfi_Async_c end interface interface - function MORSE_zgelqf_c(M,N,A,LDA,descT) & - & bind(c, name='MORSE_zgelqf') + function CHAMELEON_zgelqf_c(M,N,A,LDA,descT) & + & bind(c, name='CHAMELEON_zgelqf') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgelqf_c + integer(kind=c_int) :: CHAMELEON_zgelqf_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA type(c_ptr), value :: descT - end function MORSE_zgelqf_c + end function CHAMELEON_zgelqf_c end interface interface - function MORSE_zgelqs_c(M,N,NRHS,A,LDA,descT,B,LDB) & - & bind(c, name='MORSE_zgelqs') + function CHAMELEON_zgelqs_c(M,N,NRHS,A,LDA,descT,B,LDB) & + & bind(c, name='CHAMELEON_zgelqs') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgelqs_c + integer(kind=c_int) :: CHAMELEON_zgelqs_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS @@ -189,15 +189,15 @@ module morse_z type(c_ptr), value :: descT type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zgelqs_c + end function CHAMELEON_zgelqs_c end interface interface - function MORSE_zgels_c(trans,M,N,NRHS,A,LDA,descT,B,LDB) & - & bind(c, name='MORSE_zgels') + function CHAMELEON_zgels_c(trans,M,N,NRHS,A,LDA,descT,B,LDB) & + & bind(c, name='CHAMELEON_zgels') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgels_c + integer(kind=c_int) :: CHAMELEON_zgels_c integer(kind=c_int), value :: trans integer(kind=c_int), value :: M integer(kind=c_int), value :: N @@ -207,15 +207,15 @@ module morse_z type(c_ptr), value :: descT type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zgels_c + end function CHAMELEON_zgels_c end interface interface - function MORSE_zgemm_c(transA,transB,M,N,K,alpha,A,LDA,B,LDB,beta,C,LDC) & - & bind(c, name='MORSE_zgemm') + function CHAMELEON_zgemm_c(transA,transB,M,N,K,alpha,A,LDA,B,LDB,beta,C,LDC) & + & bind(c, name='CHAMELEON_zgemm') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgemm_c + integer(kind=c_int) :: CHAMELEON_zgemm_c integer(kind=c_int), value :: transA integer(kind=c_int), value :: transB integer(kind=c_int), value :: M @@ -229,29 +229,29 @@ module morse_z complex(kind=c_double_complex), value :: beta type(c_ptr), value :: C integer(kind=c_int), value :: LDC - end function MORSE_zgemm_c + end function CHAMELEON_zgemm_c end interface interface - function MORSE_zgeqrf_c(M,N,A,LDA,descT) & - & bind(c, name='MORSE_zgeqrf') + function CHAMELEON_zgeqrf_c(M,N,A,LDA,descT) & + & bind(c, name='CHAMELEON_zgeqrf') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgeqrf_c + integer(kind=c_int) :: CHAMELEON_zgeqrf_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA type(c_ptr), value :: descT - end function MORSE_zgeqrf_c + end function CHAMELEON_zgeqrf_c end interface interface - function MORSE_zgeqrs_c(M,N,NRHS,A,LDA,descT,B,LDB) & - & bind(c, name='MORSE_zgeqrs') + function CHAMELEON_zgeqrs_c(M,N,NRHS,A,LDA,descT,B,LDB) & + & bind(c, name='CHAMELEON_zgeqrs') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgeqrs_c + integer(kind=c_int) :: CHAMELEON_zgeqrs_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS @@ -260,15 +260,15 @@ module morse_z type(c_ptr), value :: descT type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zgeqrs_c + end function CHAMELEON_zgeqrs_c end interface interface - function MORSE_zgesv_c(N,NRHS,A,LDA,IPIV,B,LDB) & - & bind(c, name='MORSE_zgesv') + function CHAMELEON_zgesv_c(N,NRHS,A,LDA,IPIV,B,LDB) & + & bind(c, name='CHAMELEON_zgesv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgesv_c + integer(kind=c_int) :: CHAMELEON_zgesv_c integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS type(c_ptr), value :: A @@ -276,15 +276,15 @@ module morse_z type(c_ptr), value :: IPIV type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zgesv_c + end function CHAMELEON_zgesv_c end interface interface - function MORSE_zgesv_incpiv_c(N,NRHS,A,LDA,descL,IPIV,B,LDB) & - & bind(c, name='MORSE_zgesv_incpiv') + function CHAMELEON_zgesv_incpiv_c(N,NRHS,A,LDA,descL,IPIV,B,LDB) & + & bind(c, name='CHAMELEON_zgesv_incpiv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgesv_incpiv_c + integer(kind=c_int) :: CHAMELEON_zgesv_incpiv_c integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS type(c_ptr), value :: A @@ -293,15 +293,15 @@ module morse_z type(c_ptr), value :: IPIV type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zgesv_incpiv_c + end function CHAMELEON_zgesv_incpiv_c end interface interface - function MORSE_zgesvd_c(jobu,jobvt,M,N,A,LDA,S,U,LDU,VT,LDVT,descT) & - & bind(c, name='MORSE_zgesvd') + function CHAMELEON_zgesvd_c(jobu,jobvt,M,N,A,LDA,S,U,LDU,VT,LDVT,descT) & + & bind(c, name='CHAMELEON_zgesvd') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgesvd_c + integer(kind=c_int) :: CHAMELEON_zgesvd_c integer(kind=c_int), value :: jobu integer(kind=c_int), value :: jobvt integer(kind=c_int), value :: M @@ -314,30 +314,30 @@ module morse_z type(c_ptr), value :: VT integer(kind=c_int), value :: LDVT type(c_ptr), value :: descT - end function MORSE_zgesvd_c + end function CHAMELEON_zgesvd_c end interface interface - function MORSE_zgetmi_c(m,n,A,fin,mb,nb) & - & bind(c, name='MORSE_zgetmi') + function CHAMELEON_zgetmi_c(m,n,A,fin,mb,nb) & + & bind(c, name='CHAMELEON_zgetmi') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetmi_c + integer(kind=c_int) :: CHAMELEON_zgetmi_c integer(kind=c_int), value :: m integer(kind=c_int), value :: n type(c_ptr), value :: A integer(kind=c_int), value :: fin integer(kind=c_int), value :: mb integer(kind=c_int), value :: nb - end function MORSE_zgetmi_c + end function CHAMELEON_zgetmi_c end interface interface - function MORSE_zgetmi_Async_c(m,n,A,f_in,mb,inb,sequence,request) & - & bind(c, name='MORSE_zgetmi_Async') + function CHAMELEON_zgetmi_Async_c(m,n,A,f_in,mb,inb,sequence,request) & + & bind(c, name='CHAMELEON_zgetmi_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetmi_Async_c + integer(kind=c_int) :: CHAMELEON_zgetmi_Async_c integer(kind=c_int), value :: m integer(kind=c_int), value :: n type(c_ptr), value :: A @@ -346,70 +346,70 @@ module morse_z integer(kind=c_int), value :: inb type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgetmi_Async_c + end function CHAMELEON_zgetmi_Async_c end interface interface - function MORSE_zgetrf_c(M,N,A,LDA,IPIV) & - & bind(c, name='MORSE_zgetrf') + function CHAMELEON_zgetrf_c(M,N,A,LDA,IPIV) & + & bind(c, name='CHAMELEON_zgetrf') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrf_c + integer(kind=c_int) :: CHAMELEON_zgetrf_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA type(c_ptr), value :: IPIV - end function MORSE_zgetrf_c + end function CHAMELEON_zgetrf_c end interface interface - function MORSE_zgetrf_incpiv_c(M,N,A,LDA,descL,IPIV) & - & bind(c, name='MORSE_zgetrf_incpiv') + function CHAMELEON_zgetrf_incpiv_c(M,N,A,LDA,descL,IPIV) & + & bind(c, name='CHAMELEON_zgetrf_incpiv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrf_incpiv_c + integer(kind=c_int) :: CHAMELEON_zgetrf_incpiv_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA type(c_ptr), value :: descL type(c_ptr), value :: IPIV - end function MORSE_zgetrf_incpiv_c + end function CHAMELEON_zgetrf_incpiv_c end interface interface - function MORSE_zgetrf_nopiv_c(M,N,A,LDA) & - & bind(c, name='MORSE_zgetrf_nopiv') + function CHAMELEON_zgetrf_nopiv_c(M,N,A,LDA) & + & bind(c, name='CHAMELEON_zgetrf_nopiv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrf_nopiv_c + integer(kind=c_int) :: CHAMELEON_zgetrf_nopiv_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA - end function MORSE_zgetrf_nopiv_c + end function CHAMELEON_zgetrf_nopiv_c end interface interface - function MORSE_zgetri_c(N,A,LDA,IPIV) & - & bind(c, name='MORSE_zgetri') + function CHAMELEON_zgetri_c(N,A,LDA,IPIV) & + & bind(c, name='CHAMELEON_zgetri') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetri_c + integer(kind=c_int) :: CHAMELEON_zgetri_c integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA type(c_ptr), value :: IPIV - end function MORSE_zgetri_c + end function CHAMELEON_zgetri_c end interface interface - function MORSE_zgetrs_c(trans,N,NRHS,A,LDA,IPIV,B,LDB) & - & bind(c, name='MORSE_zgetrs') + function CHAMELEON_zgetrs_c(trans,N,NRHS,A,LDA,IPIV,B,LDB) & + & bind(c, name='CHAMELEON_zgetrs') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrs_c + integer(kind=c_int) :: CHAMELEON_zgetrs_c integer(kind=c_int), value :: trans integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS @@ -418,15 +418,15 @@ module morse_z type(c_ptr), value :: IPIV type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zgetrs_c + end function CHAMELEON_zgetrs_c end interface interface - function MORSE_zgetrs_incpiv_c(trans,N,NRHS,A,LDA,descL,IPIV,B,LDB) & - & bind(c, name='MORSE_zgetrs_incpiv') + function CHAMELEON_zgetrs_incpiv_c(trans,N,NRHS,A,LDA,descL,IPIV,B,LDB) & + & bind(c, name='CHAMELEON_zgetrs_incpiv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrs_incpiv_c + integer(kind=c_int) :: CHAMELEON_zgetrs_incpiv_c integer(kind=c_int), value :: trans integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS @@ -436,15 +436,15 @@ module morse_z type(c_ptr), value :: IPIV type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zgetrs_incpiv_c + end function CHAMELEON_zgetrs_incpiv_c end interface interface - function MORSE_zheev_c(jobz,uplo,N,A,LDA,W,descT,Q,LDQ) & - & bind(c, name='MORSE_zheev') + function CHAMELEON_zheev_c(jobz,uplo,N,A,LDA,W,descT,Q,LDQ) & + & bind(c, name='CHAMELEON_zheev') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zheev_c + integer(kind=c_int) :: CHAMELEON_zheev_c integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N @@ -454,15 +454,15 @@ module morse_z type(c_ptr), value :: descT type(c_ptr), value :: Q integer(kind=c_int), value :: LDQ - end function MORSE_zheev_c + end function CHAMELEON_zheev_c end interface interface - function MORSE_zheevd_c(jobz,uplo,N,A,LDA,W,descT,Q,LDQ) & - & bind(c, name='MORSE_zheevd') + function CHAMELEON_zheevd_c(jobz,uplo,N,A,LDA,W,descT,Q,LDQ) & + & bind(c, name='CHAMELEON_zheevd') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zheevd_c + integer(kind=c_int) :: CHAMELEON_zheevd_c integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N @@ -472,15 +472,15 @@ module morse_z type(c_ptr), value :: descT type(c_ptr), value :: Q integer(kind=c_int), value :: LDQ - end function MORSE_zheevd_c + end function CHAMELEON_zheevd_c end interface interface - function MORSE_zhegst_c(itype,uplo,N,A,LDA,B,LDB) & - & bind(c, name='MORSE_zhegst') + function CHAMELEON_zhegst_c(itype,uplo,N,A,LDA,B,LDB) & + & bind(c, name='CHAMELEON_zhegst') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhegst_c + integer(kind=c_int) :: CHAMELEON_zhegst_c integer(kind=c_int), value :: itype integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N @@ -488,15 +488,15 @@ module morse_z integer(kind=c_int), value :: LDA type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zhegst_c + end function CHAMELEON_zhegst_c end interface interface - function MORSE_zhegv_c(itype,jobz,uplo,N,A,LDA,B,LDB,W,descT,Q,LDQ) & - & bind(c, name='MORSE_zhegv') + function CHAMELEON_zhegv_c(itype,jobz,uplo,N,A,LDA,B,LDB,W,descT,Q,LDQ) & + & bind(c, name='CHAMELEON_zhegv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhegv_c + integer(kind=c_int) :: CHAMELEON_zhegv_c integer(kind=c_int), value :: itype integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo @@ -509,15 +509,15 @@ module morse_z type(c_ptr), value :: descT type(c_ptr), value :: Q integer(kind=c_int), value :: LDQ - end function MORSE_zhegv_c + end function CHAMELEON_zhegv_c end interface interface - function MORSE_zhegvd_c(itype,jobz,uplo,N,A,LDA,B,LDB,W,descT,Q,LDQ) & - & bind(c, name='MORSE_zhegvd') + function CHAMELEON_zhegvd_c(itype,jobz,uplo,N,A,LDA,B,LDB,W,descT,Q,LDQ) & + & bind(c, name='CHAMELEON_zhegvd') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhegvd_c + integer(kind=c_int) :: CHAMELEON_zhegvd_c integer(kind=c_int), value :: itype integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo @@ -530,16 +530,16 @@ module morse_z type(c_ptr), value :: descT type(c_ptr), value :: Q integer(kind=c_int), value :: LDQ - end function MORSE_zhegvd_c + end function CHAMELEON_zhegvd_c end interface #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zhemm_c(side,uplo,M,N,alpha,A,LDA,B,LDB,beta,C,LDC) & - & bind(c, name='MORSE_zhemm') + function CHAMELEON_zhemm_c(side,uplo,M,N,alpha,A,LDA,B,LDB,beta,C,LDC) & + & bind(c, name='CHAMELEON_zhemm') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhemm_c + integer(kind=c_int) :: CHAMELEON_zhemm_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo integer(kind=c_int), value :: M @@ -552,17 +552,17 @@ module morse_z complex(kind=c_double_complex), value :: beta type(c_ptr), value :: C integer(kind=c_int), value :: LDC - end function MORSE_zhemm_c + end function CHAMELEON_zhemm_c end interface #endif #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zher2k_c(uplo,trans,N,K,alpha,A,LDA,B,LDB,beta,C,LDC) & - & bind(c, name='MORSE_zher2k') + function CHAMELEON_zher2k_c(uplo,trans,N,K,alpha,A,LDA,B,LDB,beta,C,LDC) & + & bind(c, name='CHAMELEON_zher2k') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zher2k_c + integer(kind=c_int) :: CHAMELEON_zher2k_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: trans integer(kind=c_int), value :: N @@ -575,17 +575,17 @@ module morse_z real(kind=c_double), value :: beta type(c_ptr), value :: C integer(kind=c_int), value :: LDC - end function MORSE_zher2k_c + end function CHAMELEON_zher2k_c end interface #endif #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zherk_c(uplo,trans,N,K,alpha,A,LDA,beta,C,LDC) & - & bind(c, name='MORSE_zherk') + function CHAMELEON_zherk_c(uplo,trans,N,K,alpha,A,LDA,beta,C,LDC) & + & bind(c, name='CHAMELEON_zherk') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zherk_c + integer(kind=c_int) :: CHAMELEON_zherk_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: trans integer(kind=c_int), value :: N @@ -596,16 +596,16 @@ module morse_z real(kind=c_double), value :: beta type(c_ptr), value :: C integer(kind=c_int), value :: LDC - end function MORSE_zherk_c + end function CHAMELEON_zherk_c end interface #endif interface - function MORSE_zhetrd_c(jobz,uplo,N,A,LDA,D,E,descT,Q,LDQ) & - & bind(c, name='MORSE_zhetrd') + function CHAMELEON_zhetrd_c(jobz,uplo,N,A,LDA,D,E,descT,Q,LDQ) & + & bind(c, name='CHAMELEON_zhetrd') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhetrd_c + integer(kind=c_int) :: CHAMELEON_zhetrd_c integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N @@ -616,15 +616,15 @@ module morse_z type(c_ptr), value :: descT type(c_ptr), value :: Q integer(kind=c_int), value :: LDQ - end function MORSE_zhetrd_c + end function CHAMELEON_zhetrd_c end interface interface - function MORSE_zlacpy_c(uplo,M,N,A,LDA,B,LDB) & - & bind(c, name='MORSE_zlacpy') + function CHAMELEON_zlacpy_c(uplo,M,N,A,LDA,B,LDB) & + & bind(c, name='CHAMELEON_zlacpy') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlacpy_c + integer(kind=c_int) :: CHAMELEON_zlacpy_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: M integer(kind=c_int), value :: N @@ -632,62 +632,62 @@ module morse_z integer(kind=c_int), value :: LDA type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zlacpy_c + end function CHAMELEON_zlacpy_c end interface interface - function MORSE_zlange_c(norm,M,N,A,LDA,work) & - & bind(c, name='MORSE_zlange') + function CHAMELEON_zlange_c(norm,M,N,A,LDA,work) & + & bind(c, name='CHAMELEON_zlange') use iso_c_binding implicit none - real(kind=c_double) :: MORSE_zlange_c + real(kind=c_double) :: CHAMELEON_zlange_c integer(kind=c_int), value :: norm integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA type(c_ptr), value :: work - end function MORSE_zlange_c + end function CHAMELEON_zlange_c end interface #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zlanhe_c(norm,uplo,N,A,LDA,work) & - & bind(c, name='MORSE_zlanhe') + function CHAMELEON_zlanhe_c(norm,uplo,N,A,LDA,work) & + & bind(c, name='CHAMELEON_zlanhe') use iso_c_binding implicit none - real(kind=c_double) :: MORSE_zlanhe_c + real(kind=c_double) :: CHAMELEON_zlanhe_c integer(kind=c_int), value :: norm integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA type(c_ptr), value :: work - end function MORSE_zlanhe_c + end function CHAMELEON_zlanhe_c end interface #endif interface - function MORSE_zlansy_c(norm,uplo,N,A,LDA,work) & - & bind(c, name='MORSE_zlansy') + function CHAMELEON_zlansy_c(norm,uplo,N,A,LDA,work) & + & bind(c, name='CHAMELEON_zlansy') use iso_c_binding implicit none - real(kind=c_double) :: MORSE_zlansy_c + real(kind=c_double) :: CHAMELEON_zlansy_c integer(kind=c_int), value :: norm integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA type(c_ptr), value :: work - end function MORSE_zlansy_c + end function CHAMELEON_zlansy_c end interface interface - function MORSE_zlaset_c(uplo,M,N,alpha,beta,A,LDA) & - & bind(c, name='MORSE_zlaset') + function CHAMELEON_zlaset_c(uplo,M,N,alpha,beta,A,LDA) & + & bind(c, name='CHAMELEON_zlaset') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlaset_c + integer(kind=c_int) :: CHAMELEON_zlaset_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: M integer(kind=c_int), value :: N @@ -695,15 +695,15 @@ module morse_z complex(kind=c_double_complex), value :: beta type(c_ptr), value :: A integer(kind=c_int), value :: LDA - end function MORSE_zlaset_c + end function CHAMELEON_zlaset_c end interface interface - function MORSE_zlaswp_c(N,A,LDA,K1,K2,IPIV,INCX) & - & bind(c, name='MORSE_zlaswp') + function CHAMELEON_zlaswp_c(N,A,LDA,K1,K2,IPIV,INCX) & + & bind(c, name='CHAMELEON_zlaswp') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlaswp_c + integer(kind=c_int) :: CHAMELEON_zlaswp_c integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA @@ -711,15 +711,15 @@ module morse_z integer(kind=c_int), value :: K2 type(c_ptr), value :: IPIV integer(kind=c_int), value :: INCX - end function MORSE_zlaswp_c + end function CHAMELEON_zlaswp_c end interface interface - function MORSE_zlaswpc_c(N,A,LDA,K1,K2,IPIV,INCX) & - & bind(c, name='MORSE_zlaswpc') + function CHAMELEON_zlaswpc_c(N,A,LDA,K1,K2,IPIV,INCX) & + & bind(c, name='CHAMELEON_zlaswpc') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlaswpc_c + integer(kind=c_int) :: CHAMELEON_zlaswpc_c integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA @@ -727,74 +727,74 @@ module morse_z integer(kind=c_int), value :: K2 type(c_ptr), value :: IPIV integer(kind=c_int), value :: INCX - end function MORSE_zlaswpc_c + end function CHAMELEON_zlaswpc_c end interface interface - function MORSE_zlauum_c(uplo,N,A,LDA) & - & bind(c, name='MORSE_zlauum') + function CHAMELEON_zlauum_c(uplo,N,A,LDA) & + & bind(c, name='CHAMELEON_zlauum') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlauum_c + integer(kind=c_int) :: CHAMELEON_zlauum_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA - end function MORSE_zlauum_c + end function CHAMELEON_zlauum_c end interface #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zplghe_c(bump,uplo,N,A,LDA,seed) & - & bind(c, name='MORSE_zplghe') + function CHAMELEON_zplghe_c(bump,uplo,N,A,LDA,seed) & + & bind(c, name='CHAMELEON_zplghe') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zplghe_c + integer(kind=c_int) :: CHAMELEON_zplghe_c real(kind=c_double), value :: bump integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA integer(kind=c_long_long), value :: seed - end function MORSE_zplghe_c + end function CHAMELEON_zplghe_c end interface #endif interface - function MORSE_zplgsy_c(bump,uplo,N,A,LDA,seed) & - & bind(c, name='MORSE_zplgsy') + function CHAMELEON_zplgsy_c(bump,uplo,N,A,LDA,seed) & + & bind(c, name='CHAMELEON_zplgsy') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zplgsy_c + integer(kind=c_int) :: CHAMELEON_zplgsy_c complex(kind=c_double_complex), value :: bump integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA integer(kind=c_long_long), value :: seed - end function MORSE_zplgsy_c + end function CHAMELEON_zplgsy_c end interface interface - function MORSE_zplrnt_c(M,N,A,LDA,seed) & - & bind(c, name='MORSE_zplrnt') + function CHAMELEON_zplrnt_c(M,N,A,LDA,seed) & + & bind(c, name='CHAMELEON_zplrnt') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zplrnt_c + integer(kind=c_int) :: CHAMELEON_zplrnt_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA integer(kind=c_long_long), value :: seed - end function MORSE_zplrnt_c + end function CHAMELEON_zplrnt_c end interface interface - function MORSE_zposv_c(uplo,N,NRHS,A,LDA,B,LDB) & - & bind(c, name='MORSE_zposv') + function CHAMELEON_zposv_c(uplo,N,NRHS,A,LDA,B,LDB) & + & bind(c, name='CHAMELEON_zposv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zposv_c + integer(kind=c_int) :: CHAMELEON_zposv_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS @@ -802,15 +802,15 @@ module morse_z integer(kind=c_int), value :: LDA type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zposv_c + end function CHAMELEON_zposv_c end interface interface - function MORSE_zsysv_c(uplo,N,NRHS,A,LDA,B,LDB) & - & bind(c, name='MORSE_zsysv') + function CHAMELEON_zsysv_c(uplo,N,NRHS,A,LDA,B,LDB) & + & bind(c, name='CHAMELEON_zsysv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsysv_c + integer(kind=c_int) :: CHAMELEON_zsysv_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS @@ -818,54 +818,54 @@ module morse_z integer(kind=c_int), value :: LDA type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zsysv_c + end function CHAMELEON_zsysv_c end interface interface - function MORSE_zpotrf_c(uplo,N,A,LDA) & - & bind(c, name='MORSE_zpotrf') + function CHAMELEON_zpotrf_c(uplo,N,A,LDA) & + & bind(c, name='CHAMELEON_zpotrf') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zpotrf_c + integer(kind=c_int) :: CHAMELEON_zpotrf_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA - end function MORSE_zpotrf_c + end function CHAMELEON_zpotrf_c end interface interface - function MORSE_zsytrf_c(uplo,N,A,LDA) & - & bind(c, name='MORSE_zsytrf') + function CHAMELEON_zsytrf_c(uplo,N,A,LDA) & + & bind(c, name='CHAMELEON_zsytrf') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsytrf_c + integer(kind=c_int) :: CHAMELEON_zsytrf_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA - end function MORSE_zsytrf_c + end function CHAMELEON_zsytrf_c end interface interface - function MORSE_zpotri_c(uplo,N,A,LDA) & - & bind(c, name='MORSE_zpotri') + function CHAMELEON_zpotri_c(uplo,N,A,LDA) & + & bind(c, name='CHAMELEON_zpotri') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zpotri_c + integer(kind=c_int) :: CHAMELEON_zpotri_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA - end function MORSE_zpotri_c + end function CHAMELEON_zpotri_c end interface interface - function MORSE_zpotrs_c(uplo,N,NRHS,A,LDA,B,LDB) & - & bind(c, name='MORSE_zpotrs') + function CHAMELEON_zpotrs_c(uplo,N,NRHS,A,LDA,B,LDB) & + & bind(c, name='CHAMELEON_zpotrs') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zpotrs_c + integer(kind=c_int) :: CHAMELEON_zpotrs_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS @@ -873,15 +873,15 @@ module morse_z integer(kind=c_int), value :: LDA type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zpotrs_c + end function CHAMELEON_zpotrs_c end interface interface - function MORSE_zsytrs_c(uplo,N,NRHS,A,LDA,B,LDB) & - & bind(c, name='MORSE_zsytrs') + function CHAMELEON_zsytrs_c(uplo,N,NRHS,A,LDA,B,LDB) & + & bind(c, name='CHAMELEON_zsytrs') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsytrs_c + integer(kind=c_int) :: CHAMELEON_zsytrs_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS @@ -889,15 +889,15 @@ module morse_z integer(kind=c_int), value :: LDA type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zsytrs_c + end function CHAMELEON_zsytrs_c end interface interface - function MORSE_zsymm_c(side,uplo,M,N,alpha,A,LDA,B,LDB,beta,C,LDC) & - & bind(c, name='MORSE_zsymm') + function CHAMELEON_zsymm_c(side,uplo,M,N,alpha,A,LDA,B,LDB,beta,C,LDC) & + & bind(c, name='CHAMELEON_zsymm') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsymm_c + integer(kind=c_int) :: CHAMELEON_zsymm_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo integer(kind=c_int), value :: M @@ -910,15 +910,15 @@ module morse_z complex(kind=c_double_complex), value :: beta type(c_ptr), value :: C integer(kind=c_int), value :: LDC - end function MORSE_zsymm_c + end function CHAMELEON_zsymm_c end interface interface - function MORSE_zsyr2k_c(uplo,trans,N,K,alpha,A,LDA,B,LDB,beta,C,LDC) & - & bind(c, name='MORSE_zsyr2k') + function CHAMELEON_zsyr2k_c(uplo,trans,N,K,alpha,A,LDA,B,LDB,beta,C,LDC) & + & bind(c, name='CHAMELEON_zsyr2k') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsyr2k_c + integer(kind=c_int) :: CHAMELEON_zsyr2k_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: trans integer(kind=c_int), value :: N @@ -931,15 +931,15 @@ module morse_z complex(kind=c_double_complex), value :: beta type(c_ptr), value :: C integer(kind=c_int), value :: LDC - end function MORSE_zsyr2k_c + end function CHAMELEON_zsyr2k_c end interface interface - function MORSE_zsyrk_c(uplo,trans,N,K,alpha,A,LDA,beta,C,LDC) & - & bind(c, name='MORSE_zsyrk') + function CHAMELEON_zsyrk_c(uplo,trans,N,K,alpha,A,LDA,beta,C,LDC) & + & bind(c, name='CHAMELEON_zsyrk') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsyrk_c + integer(kind=c_int) :: CHAMELEON_zsyrk_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: trans integer(kind=c_int), value :: N @@ -950,15 +950,15 @@ module morse_z complex(kind=c_double_complex), value :: beta type(c_ptr), value :: C integer(kind=c_int), value :: LDC - end function MORSE_zsyrk_c + end function CHAMELEON_zsyrk_c end interface interface - function MORSE_ztrmm_c(side,uplo,transA,diag,N,NRHS,alpha,A,LDA,B,LDB) & - & bind(c, name='MORSE_ztrmm') + function CHAMELEON_ztrmm_c(side,uplo,transA,diag,N,NRHS,alpha,A,LDA,B,LDB) & + & bind(c, name='CHAMELEON_ztrmm') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrmm_c + integer(kind=c_int) :: CHAMELEON_ztrmm_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo integer(kind=c_int), value :: transA @@ -970,15 +970,15 @@ module morse_z integer(kind=c_int), value :: LDA type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_ztrmm_c + end function CHAMELEON_ztrmm_c end interface interface - function MORSE_ztrsm_c(side,uplo,transA,diag,N,NRHS,alpha,A,LDA,B,LDB) & - & bind(c, name='MORSE_ztrsm') + function CHAMELEON_ztrsm_c(side,uplo,transA,diag,N,NRHS,alpha,A,LDA,B,LDB) & + & bind(c, name='CHAMELEON_ztrsm') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrsm_c + integer(kind=c_int) :: CHAMELEON_ztrsm_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo integer(kind=c_int), value :: transA @@ -990,15 +990,15 @@ module morse_z integer(kind=c_int), value :: LDA type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_ztrsm_c + end function CHAMELEON_ztrsm_c end interface interface - function MORSE_ztrsmpl_c(N,NRHS,A,LDA,descL,IPIV,B,LDB) & - & bind(c, name='MORSE_ztrsmpl') + function CHAMELEON_ztrsmpl_c(N,NRHS,A,LDA,descL,IPIV,B,LDB) & + & bind(c, name='CHAMELEON_ztrsmpl') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrsmpl_c + integer(kind=c_int) :: CHAMELEON_ztrsmpl_c integer(kind=c_int), value :: N integer(kind=c_int), value :: NRHS type(c_ptr), value :: A @@ -1007,15 +1007,15 @@ module morse_z type(c_ptr), value :: IPIV type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_ztrsmpl_c + end function CHAMELEON_ztrsmpl_c end interface interface - function MORSE_ztrsmrv_c(side,uplo,transA,diag,N,NRHS,alpha,A,LDA,B,LDB) & - & bind(c, name='MORSE_ztrsmrv') + function CHAMELEON_ztrsmrv_c(side,uplo,transA,diag,N,NRHS,alpha,A,LDA,B,LDB) & + & bind(c, name='CHAMELEON_ztrsmrv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrsmrv_c + integer(kind=c_int) :: CHAMELEON_ztrsmrv_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo integer(kind=c_int), value :: transA @@ -1027,29 +1027,29 @@ module morse_z integer(kind=c_int), value :: LDA type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_ztrsmrv_c + end function CHAMELEON_ztrsmrv_c end interface interface - function MORSE_ztrtri_c(uplo,diag,N,A,LDA) & - & bind(c, name='MORSE_ztrtri') + function CHAMELEON_ztrtri_c(uplo,diag,N,A,LDA) & + & bind(c, name='CHAMELEON_ztrtri') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrtri_c + integer(kind=c_int) :: CHAMELEON_ztrtri_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: diag integer(kind=c_int), value :: N type(c_ptr), value :: A integer(kind=c_int), value :: LDA - end function MORSE_ztrtri_c + end function CHAMELEON_ztrtri_c end interface interface - function MORSE_zunglq_c(M,N,K,A,LDA,descT,B,LDB) & - & bind(c, name='MORSE_zunglq') + function CHAMELEON_zunglq_c(M,N,K,A,LDA,descT,B,LDB) & + & bind(c, name='CHAMELEON_zunglq') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zunglq_c + integer(kind=c_int) :: CHAMELEON_zunglq_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N integer(kind=c_int), value :: K @@ -1058,15 +1058,15 @@ module morse_z type(c_ptr), value :: descT type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zunglq_c + end function CHAMELEON_zunglq_c end interface interface - function MORSE_zungqr_c(M,N,K,A,LDA,descT,B,LDB) & - & bind(c, name='MORSE_zungqr') + function CHAMELEON_zungqr_c(M,N,K,A,LDA,descT,B,LDB) & + & bind(c, name='CHAMELEON_zungqr') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zungqr_c + integer(kind=c_int) :: CHAMELEON_zungqr_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N integer(kind=c_int), value :: K @@ -1075,15 +1075,15 @@ module morse_z type(c_ptr), value :: descT type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zungqr_c + end function CHAMELEON_zungqr_c end interface interface - function MORSE_zunmlq_c(side,trans,M,N,K,A,LDA,descT,B,LDB) & - & bind(c, name='MORSE_zunmlq') + function CHAMELEON_zunmlq_c(side,trans,M,N,K,A,LDA,descT,B,LDB) & + & bind(c, name='CHAMELEON_zunmlq') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zunmlq_c + integer(kind=c_int) :: CHAMELEON_zunmlq_c integer(kind=c_int), value :: side integer(kind=c_int), value :: trans integer(kind=c_int), value :: M @@ -1094,15 +1094,15 @@ module morse_z type(c_ptr), value :: descT type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zunmlq_c + end function CHAMELEON_zunmlq_c end interface interface - function MORSE_zunmqr_c(side,trans,M,N,K,A,LDA,descT,B,LDB) & - & bind(c, name='MORSE_zunmqr') + function CHAMELEON_zunmqr_c(side,trans,M,N,K,A,LDA,descT,B,LDB) & + & bind(c, name='CHAMELEON_zunmqr') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zunmqr_c + integer(kind=c_int) :: CHAMELEON_zunmqr_c integer(kind=c_int), value :: side integer(kind=c_int), value :: trans integer(kind=c_int), value :: M @@ -1113,67 +1113,67 @@ module morse_z type(c_ptr), value :: descT type(c_ptr), value :: B integer(kind=c_int), value :: LDB - end function MORSE_zunmqr_c + end function CHAMELEON_zunmqr_c end interface !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ! FORTRAN API - math functions (native interface) ! interface - function MORSE_zgebrd_Tile_c(A,D,E,T) & - & bind(c, name='MORSE_zgebrd_Tile') + function CHAMELEON_zgebrd_Tile_c(A,D,E,T) & + & bind(c, name='CHAMELEON_zgebrd_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgebrd_Tile_c + integer(kind=c_int) :: CHAMELEON_zgebrd_Tile_c type(c_ptr), value :: A type(c_ptr), value :: D type(c_ptr), value :: E type(c_ptr), value :: T - end function MORSE_zgebrd_Tile_c + end function CHAMELEON_zgebrd_Tile_c end interface interface - function MORSE_zgelqf_Tile_c(A,T) & - & bind(c, name='MORSE_zgelqf_Tile') + function CHAMELEON_zgelqf_Tile_c(A,T) & + & bind(c, name='CHAMELEON_zgelqf_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgelqf_Tile_c + integer(kind=c_int) :: CHAMELEON_zgelqf_Tile_c type(c_ptr), value :: A type(c_ptr), value :: T - end function MORSE_zgelqf_Tile_c + end function CHAMELEON_zgelqf_Tile_c end interface interface - function MORSE_zgelqs_Tile_c(A,T,B) & - & bind(c, name='MORSE_zgelqs_Tile') + function CHAMELEON_zgelqs_Tile_c(A,T,B) & + & bind(c, name='CHAMELEON_zgelqs_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgelqs_Tile_c + integer(kind=c_int) :: CHAMELEON_zgelqs_Tile_c type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B - end function MORSE_zgelqs_Tile_c + end function CHAMELEON_zgelqs_Tile_c end interface interface - function MORSE_zgels_Tile_c(trans,A,T,B) & - & bind(c, name='MORSE_zgels_Tile') + function CHAMELEON_zgels_Tile_c(trans,A,T,B) & + & bind(c, name='CHAMELEON_zgels_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgels_Tile_c + integer(kind=c_int) :: CHAMELEON_zgels_Tile_c integer(kind=c_int), value :: trans type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B - end function MORSE_zgels_Tile_c + end function CHAMELEON_zgels_Tile_c end interface interface - function MORSE_zgemm_Tile_c(transA,transB,alpha,A,B,beta,C) & - & bind(c, name='MORSE_zgemm_Tile') + function CHAMELEON_zgemm_Tile_c(transA,transB,alpha,A,B,beta,C) & + & bind(c, name='CHAMELEON_zgemm_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgemm_Tile_c + integer(kind=c_int) :: CHAMELEON_zgemm_Tile_c integer(kind=c_int), value :: transA integer(kind=c_int), value :: transB complex(kind=c_double_complex), value :: alpha @@ -1181,63 +1181,63 @@ module morse_z type(c_ptr), value :: B complex(kind=c_double_complex), value :: beta type(c_ptr), value :: C - end function MORSE_zgemm_Tile_c + end function CHAMELEON_zgemm_Tile_c end interface interface - function MORSE_zgeqrf_Tile_c(A,T) & - & bind(c, name='MORSE_zgeqrf_Tile') + function CHAMELEON_zgeqrf_Tile_c(A,T) & + & bind(c, name='CHAMELEON_zgeqrf_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgeqrf_Tile_c + integer(kind=c_int) :: CHAMELEON_zgeqrf_Tile_c type(c_ptr), value :: A type(c_ptr), value :: T - end function MORSE_zgeqrf_Tile_c + end function CHAMELEON_zgeqrf_Tile_c end interface interface - function MORSE_zgeqrs_Tile_c(A,T,B) & - & bind(c, name='MORSE_zgeqrs_Tile') + function CHAMELEON_zgeqrs_Tile_c(A,T,B) & + & bind(c, name='CHAMELEON_zgeqrs_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgeqrs_Tile_c + integer(kind=c_int) :: CHAMELEON_zgeqrs_Tile_c type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B - end function MORSE_zgeqrs_Tile_c + end function CHAMELEON_zgeqrs_Tile_c end interface interface - function MORSE_zgesv_Tile_c(A,IPIV,B) & - & bind(c, name='MORSE_zgesv_Tile') + function CHAMELEON_zgesv_Tile_c(A,IPIV,B) & + & bind(c, name='CHAMELEON_zgesv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgesv_Tile_c + integer(kind=c_int) :: CHAMELEON_zgesv_Tile_c type(c_ptr), value :: A type(c_ptr), value :: IPIV type(c_ptr), value :: B - end function MORSE_zgesv_Tile_c + end function CHAMELEON_zgesv_Tile_c end interface interface - function MORSE_zgesv_incpiv_Tile_c(A,L,IPIV,B) & - & bind(c, name='MORSE_zgesv_incpiv_Tile') + function CHAMELEON_zgesv_incpiv_Tile_c(A,L,IPIV,B) & + & bind(c, name='CHAMELEON_zgesv_incpiv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgesv_incpiv_Tile_c + integer(kind=c_int) :: CHAMELEON_zgesv_incpiv_Tile_c type(c_ptr), value :: A type(c_ptr), value :: L type(c_ptr), value :: IPIV type(c_ptr), value :: B - end function MORSE_zgesv_incpiv_Tile_c + end function CHAMELEON_zgesv_incpiv_Tile_c end interface interface - function MORSE_zgesvd_Tile_c(jobu,jobvt,A,S,U,VT,T) & - & bind(c, name='MORSE_zgesvd_Tile') + function CHAMELEON_zgesvd_Tile_c(jobu,jobvt,A,S,U,VT,T) & + & bind(c, name='CHAMELEON_zgesvd_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgesvd_Tile_c + integer(kind=c_int) :: CHAMELEON_zgesvd_Tile_c integer(kind=c_int), value :: jobu integer(kind=c_int), value :: jobvt type(c_ptr), value :: A @@ -1245,85 +1245,85 @@ module morse_z type(c_ptr), value :: U type(c_ptr), value :: VT type(c_ptr), value :: T - end function MORSE_zgesvd_Tile_c + end function CHAMELEON_zgesvd_Tile_c end interface interface - function MORSE_zgetrf_Tile_c(A,IPIV) & - & bind(c, name='MORSE_zgetrf_Tile') + function CHAMELEON_zgetrf_Tile_c(A,IPIV) & + & bind(c, name='CHAMELEON_zgetrf_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrf_Tile_c + integer(kind=c_int) :: CHAMELEON_zgetrf_Tile_c type(c_ptr), value :: A type(c_ptr), value :: IPIV - end function MORSE_zgetrf_Tile_c + end function CHAMELEON_zgetrf_Tile_c end interface interface - function MORSE_zgetrf_incpiv_Tile_c(A,L,IPIV) & - & bind(c, name='MORSE_zgetrf_incpiv_Tile') + function CHAMELEON_zgetrf_incpiv_Tile_c(A,L,IPIV) & + & bind(c, name='CHAMELEON_zgetrf_incpiv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrf_incpiv_Tile_c + integer(kind=c_int) :: CHAMELEON_zgetrf_incpiv_Tile_c type(c_ptr), value :: A type(c_ptr), value :: L type(c_ptr), value :: IPIV - end function MORSE_zgetrf_incpiv_Tile_c + end function CHAMELEON_zgetrf_incpiv_Tile_c end interface interface - function MORSE_zgetrf_nopiv_Tile_c(A) & - & bind(c, name='MORSE_zgetrf_nopiv_Tile') + function CHAMELEON_zgetrf_nopiv_Tile_c(A) & + & bind(c, name='CHAMELEON_zgetrf_nopiv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrf_nopiv_Tile_c + integer(kind=c_int) :: CHAMELEON_zgetrf_nopiv_Tile_c type(c_ptr), value :: A - end function MORSE_zgetrf_nopiv_Tile_c + end function CHAMELEON_zgetrf_nopiv_Tile_c end interface interface - function MORSE_zgetri_Tile_c(A,IPIV) & - & bind(c, name='MORSE_zgetri_Tile') + function CHAMELEON_zgetri_Tile_c(A,IPIV) & + & bind(c, name='CHAMELEON_zgetri_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetri_Tile_c + integer(kind=c_int) :: CHAMELEON_zgetri_Tile_c type(c_ptr), value :: A type(c_ptr), value :: IPIV - end function MORSE_zgetri_Tile_c + end function CHAMELEON_zgetri_Tile_c end interface interface - function MORSE_zgetrs_Tile_c(trans,A,IPIV,B) & - & bind(c, name='MORSE_zgetrs_Tile') + function CHAMELEON_zgetrs_Tile_c(trans,A,IPIV,B) & + & bind(c, name='CHAMELEON_zgetrs_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrs_Tile_c + integer(kind=c_int) :: CHAMELEON_zgetrs_Tile_c integer(kind=c_int), value :: trans type(c_ptr), value :: A type(c_ptr), value :: IPIV type(c_ptr), value :: B - end function MORSE_zgetrs_Tile_c + end function CHAMELEON_zgetrs_Tile_c end interface interface - function MORSE_zgetrs_incpiv_Tile_c(A,L,IPIV,B) & - & bind(c, name='MORSE_zgetrs_incpiv_Tile') + function CHAMELEON_zgetrs_incpiv_Tile_c(A,L,IPIV,B) & + & bind(c, name='CHAMELEON_zgetrs_incpiv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrs_incpiv_Tile_c + integer(kind=c_int) :: CHAMELEON_zgetrs_incpiv_Tile_c type(c_ptr), value :: A type(c_ptr), value :: L type(c_ptr), value :: IPIV type(c_ptr), value :: B - end function MORSE_zgetrs_incpiv_Tile_c + end function CHAMELEON_zgetrs_incpiv_Tile_c end interface interface - function MORSE_zheev_Tile_c(jobz,uplo,A,W,T,Q,LDQ) & - & bind(c, name='MORSE_zheev_Tile') + function CHAMELEON_zheev_Tile_c(jobz,uplo,A,W,T,Q,LDQ) & + & bind(c, name='CHAMELEON_zheev_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zheev_Tile_c + integer(kind=c_int) :: CHAMELEON_zheev_Tile_c integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo type(c_ptr), value :: A @@ -1331,15 +1331,15 @@ module morse_z type(c_ptr), value :: T type(c_ptr), value :: Q integer(kind=c_int), value :: LDQ - end function MORSE_zheev_Tile_c + end function CHAMELEON_zheev_Tile_c end interface interface - function MORSE_zheevd_Tile_c(jobz,uplo,A,W,T,Q,LDQ) & - & bind(c, name='MORSE_zheevd_Tile') + function CHAMELEON_zheevd_Tile_c(jobz,uplo,A,W,T,Q,LDQ) & + & bind(c, name='CHAMELEON_zheevd_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zheevd_Tile_c + integer(kind=c_int) :: CHAMELEON_zheevd_Tile_c integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo type(c_ptr), value :: A @@ -1347,28 +1347,28 @@ module morse_z type(c_ptr), value :: T type(c_ptr), value :: Q integer(kind=c_int), value :: LDQ - end function MORSE_zheevd_Tile_c + end function CHAMELEON_zheevd_Tile_c end interface interface - function MORSE_zhegst_Tile_c(itype,uplo,A,B) & - & bind(c, name='MORSE_zhegst_Tile') + function CHAMELEON_zhegst_Tile_c(itype,uplo,A,B) & + & bind(c, name='CHAMELEON_zhegst_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhegst_Tile_c + integer(kind=c_int) :: CHAMELEON_zhegst_Tile_c integer(kind=c_int), value :: itype integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B - end function MORSE_zhegst_Tile_c + end function CHAMELEON_zhegst_Tile_c end interface interface - function MORSE_zhegv_Tile_c(itype,jobz,uplo,A,B,W,T,Q) & - & bind(c, name='MORSE_zhegv_Tile') + function CHAMELEON_zhegv_Tile_c(itype,jobz,uplo,A,B,W,T,Q) & + & bind(c, name='CHAMELEON_zhegv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhegv_Tile_c + integer(kind=c_int) :: CHAMELEON_zhegv_Tile_c integer(kind=c_int), value :: itype integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo @@ -1377,15 +1377,15 @@ module morse_z type(c_ptr), value :: W type(c_ptr), value :: T type(c_ptr), value :: Q - end function MORSE_zhegv_Tile_c + end function CHAMELEON_zhegv_Tile_c end interface interface - function MORSE_zhegvd_Tile_c(itype,jobz,uplo,A,B,W,T,Q) & - & bind(c, name='MORSE_zhegvd_Tile') + function CHAMELEON_zhegvd_Tile_c(itype,jobz,uplo,A,B,W,T,Q) & + & bind(c, name='CHAMELEON_zhegvd_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhegvd_Tile_c + integer(kind=c_int) :: CHAMELEON_zhegvd_Tile_c integer(kind=c_int), value :: itype integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo @@ -1394,16 +1394,16 @@ module morse_z type(c_ptr), value :: W type(c_ptr), value :: T type(c_ptr), value :: Q - end function MORSE_zhegvd_Tile_c + end function CHAMELEON_zhegvd_Tile_c end interface #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zhemm_Tile_c(side,uplo,alpha,A,B,beta,C) & - & bind(c, name='MORSE_zhemm_Tile') + function CHAMELEON_zhemm_Tile_c(side,uplo,alpha,A,B,beta,C) & + & bind(c, name='CHAMELEON_zhemm_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhemm_Tile_c + integer(kind=c_int) :: CHAMELEON_zhemm_Tile_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo complex(kind=c_double_complex), value :: alpha @@ -1411,17 +1411,17 @@ module morse_z type(c_ptr), value :: B complex(kind=c_double_complex), value :: beta type(c_ptr), value :: C - end function MORSE_zhemm_Tile_c + end function CHAMELEON_zhemm_Tile_c end interface #endif #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zher2k_Tile_c(uplo,trans,alpha,A,B,beta,C) & - & bind(c, name='MORSE_zher2k_Tile') + function CHAMELEON_zher2k_Tile_c(uplo,trans,alpha,A,B,beta,C) & + & bind(c, name='CHAMELEON_zher2k_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zher2k_Tile_c + integer(kind=c_int) :: CHAMELEON_zher2k_Tile_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: trans complex(kind=c_double_complex), value :: alpha @@ -1429,33 +1429,33 @@ module morse_z type(c_ptr), value :: B real(kind=c_double), value :: beta type(c_ptr), value :: C - end function MORSE_zher2k_Tile_c + end function CHAMELEON_zher2k_Tile_c end interface #endif #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zherk_Tile_c(uplo,trans,alpha,A,beta,C) & - & bind(c, name='MORSE_zherk_Tile') + function CHAMELEON_zherk_Tile_c(uplo,trans,alpha,A,beta,C) & + & bind(c, name='CHAMELEON_zherk_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zherk_Tile_c + integer(kind=c_int) :: CHAMELEON_zherk_Tile_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: trans real(kind=c_double), value :: alpha type(c_ptr), value :: A real(kind=c_double), value :: beta type(c_ptr), value :: C - end function MORSE_zherk_Tile_c + end function CHAMELEON_zherk_Tile_c end interface #endif interface - function MORSE_zhetrd_Tile_c(jobz,uplo,A,D,E,T,Q,LDQ) & - & bind(c, name='MORSE_zhetrd_Tile') + function CHAMELEON_zhetrd_Tile_c(jobz,uplo,A,D,E,T,Q,LDQ) & + & bind(c, name='CHAMELEON_zhetrd_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhetrd_Tile_c + integer(kind=c_int) :: CHAMELEON_zhetrd_Tile_c integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo type(c_ptr), value :: A @@ -1464,239 +1464,239 @@ module morse_z type(c_ptr), value :: T type(c_ptr), value :: Q integer(kind=c_int), value :: LDQ - end function MORSE_zhetrd_Tile_c + end function CHAMELEON_zhetrd_Tile_c end interface interface - function MORSE_zlacpy_Tile_c(uplo,A,B) & - & bind(c, name='MORSE_zlacpy_Tile') + function CHAMELEON_zlacpy_Tile_c(uplo,A,B) & + & bind(c, name='CHAMELEON_zlacpy_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlacpy_Tile_c + integer(kind=c_int) :: CHAMELEON_zlacpy_Tile_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B - end function MORSE_zlacpy_Tile_c + end function CHAMELEON_zlacpy_Tile_c end interface interface - function MORSE_zlange_Tile_c(norm,A,work) & - & bind(c, name='MORSE_zlange_Tile') + function CHAMELEON_zlange_Tile_c(norm,A,work) & + & bind(c, name='CHAMELEON_zlange_Tile') use iso_c_binding implicit none - real(kind=c_double) :: MORSE_zlange_Tile_c + real(kind=c_double) :: CHAMELEON_zlange_Tile_c integer(kind=c_int), value :: norm type(c_ptr), value :: A type(c_ptr), value :: work - end function MORSE_zlange_Tile_c + end function CHAMELEON_zlange_Tile_c end interface #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zlanhe_Tile_c(norm,uplo,A,work) & - & bind(c, name='MORSE_zlanhe_Tile') + function CHAMELEON_zlanhe_Tile_c(norm,uplo,A,work) & + & bind(c, name='CHAMELEON_zlanhe_Tile') use iso_c_binding implicit none - real(kind=c_double) :: MORSE_zlanhe_Tile_c + real(kind=c_double) :: CHAMELEON_zlanhe_Tile_c integer(kind=c_int), value :: norm integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: work - end function MORSE_zlanhe_Tile_c + end function CHAMELEON_zlanhe_Tile_c end interface #endif interface - function MORSE_zlansy_Tile_c(norm,uplo,A,work) & - & bind(c, name='MORSE_zlansy_Tile') + function CHAMELEON_zlansy_Tile_c(norm,uplo,A,work) & + & bind(c, name='CHAMELEON_zlansy_Tile') use iso_c_binding implicit none - real(kind=c_double) :: MORSE_zlansy_Tile_c + real(kind=c_double) :: CHAMELEON_zlansy_Tile_c integer(kind=c_int), value :: norm integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: work - end function MORSE_zlansy_Tile_c + end function CHAMELEON_zlansy_Tile_c end interface interface - function MORSE_zlaset_Tile_c(uplo,alpha,beta,A) & - & bind(c, name='MORSE_zlaset_Tile') + function CHAMELEON_zlaset_Tile_c(uplo,alpha,beta,A) & + & bind(c, name='CHAMELEON_zlaset_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlaset_Tile_c + integer(kind=c_int) :: CHAMELEON_zlaset_Tile_c integer(kind=c_int), value :: uplo complex(kind=c_double_complex), value :: alpha complex(kind=c_double_complex), value :: beta type(c_ptr), value :: A - end function MORSE_zlaset_Tile_c + end function CHAMELEON_zlaset_Tile_c end interface interface - function MORSE_zlaswp_Tile_c(A,K1,K2,IPIV,INCX) & - & bind(c, name='MORSE_zlaswp_Tile') + function CHAMELEON_zlaswp_Tile_c(A,K1,K2,IPIV,INCX) & + & bind(c, name='CHAMELEON_zlaswp_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlaswp_Tile_c + integer(kind=c_int) :: CHAMELEON_zlaswp_Tile_c type(c_ptr), value :: A integer(kind=c_int), value :: K1 integer(kind=c_int), value :: K2 type(c_ptr), value :: IPIV integer(kind=c_int), value :: INCX - end function MORSE_zlaswp_Tile_c + end function CHAMELEON_zlaswp_Tile_c end interface interface - function MORSE_zlaswpc_Tile_c(A,K1,K2,IPIV,INCX) & - & bind(c, name='MORSE_zlaswpc_Tile') + function CHAMELEON_zlaswpc_Tile_c(A,K1,K2,IPIV,INCX) & + & bind(c, name='CHAMELEON_zlaswpc_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlaswpc_Tile_c + integer(kind=c_int) :: CHAMELEON_zlaswpc_Tile_c type(c_ptr), value :: A integer(kind=c_int), value :: K1 integer(kind=c_int), value :: K2 type(c_ptr), value :: IPIV integer(kind=c_int), value :: INCX - end function MORSE_zlaswpc_Tile_c + end function CHAMELEON_zlaswpc_Tile_c end interface interface - function MORSE_zlauum_Tile_c(uplo,A) & - & bind(c, name='MORSE_zlauum_Tile') + function CHAMELEON_zlauum_Tile_c(uplo,A) & + & bind(c, name='CHAMELEON_zlauum_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlauum_Tile_c + integer(kind=c_int) :: CHAMELEON_zlauum_Tile_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A - end function MORSE_zlauum_Tile_c + end function CHAMELEON_zlauum_Tile_c end interface #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zplghe_Tile_c(bump,uplo,A,seed) & - & bind(c, name='MORSE_zplghe_Tile') + function CHAMELEON_zplghe_Tile_c(bump,uplo,A,seed) & + & bind(c, name='CHAMELEON_zplghe_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zplghe_Tile_c + integer(kind=c_int) :: CHAMELEON_zplghe_Tile_c real(kind=c_double), value :: bump integer(kind=c_int), value :: uplo type(c_ptr), value :: A integer(kind=c_long_long), value :: seed - end function MORSE_zplghe_Tile_c + end function CHAMELEON_zplghe_Tile_c end interface #endif interface - function MORSE_zplgsy_Tile_c(bump,uplo,A,seed) & - & bind(c, name='MORSE_zplgsy_Tile') + function CHAMELEON_zplgsy_Tile_c(bump,uplo,A,seed) & + & bind(c, name='CHAMELEON_zplgsy_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zplgsy_Tile_c + integer(kind=c_int) :: CHAMELEON_zplgsy_Tile_c complex(kind=c_double_complex), value :: bump integer(kind=c_int), value :: uplo type(c_ptr), value :: A integer(kind=c_long_long), value :: seed - end function MORSE_zplgsy_Tile_c + end function CHAMELEON_zplgsy_Tile_c end interface interface - function MORSE_zplrnt_Tile_c(A,seed) & - & bind(c, name='MORSE_zplrnt_Tile') + function CHAMELEON_zplrnt_Tile_c(A,seed) & + & bind(c, name='CHAMELEON_zplrnt_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zplrnt_Tile_c + integer(kind=c_int) :: CHAMELEON_zplrnt_Tile_c type(c_ptr), value :: A integer(kind=c_long_long), value :: seed - end function MORSE_zplrnt_Tile_c + end function CHAMELEON_zplrnt_Tile_c end interface interface - function MORSE_zposv_Tile_c(uplo,A,B) & - & bind(c, name='MORSE_zposv_Tile') + function CHAMELEON_zposv_Tile_c(uplo,A,B) & + & bind(c, name='CHAMELEON_zposv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zposv_Tile_c + integer(kind=c_int) :: CHAMELEON_zposv_Tile_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B - end function MORSE_zposv_Tile_c + end function CHAMELEON_zposv_Tile_c end interface interface - function MORSE_zsysv_Tile_c(uplo,A,B) & - & bind(c, name='MORSE_zsysv_Tile') + function CHAMELEON_zsysv_Tile_c(uplo,A,B) & + & bind(c, name='CHAMELEON_zsysv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsysv_Tile_c + integer(kind=c_int) :: CHAMELEON_zsysv_Tile_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B - end function MORSE_zsysv_Tile_c + end function CHAMELEON_zsysv_Tile_c end interface interface - function MORSE_zpotrf_Tile_c(uplo,A) & - & bind(c, name='MORSE_zpotrf_Tile') + function CHAMELEON_zpotrf_Tile_c(uplo,A) & + & bind(c, name='CHAMELEON_zpotrf_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zpotrf_Tile_c + integer(kind=c_int) :: CHAMELEON_zpotrf_Tile_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A - end function MORSE_zpotrf_Tile_c + end function CHAMELEON_zpotrf_Tile_c end interface interface - function MORSE_zsytrf_Tile_c(uplo,A) & - & bind(c, name='MORSE_zsytrf_Tile') + function CHAMELEON_zsytrf_Tile_c(uplo,A) & + & bind(c, name='CHAMELEON_zsytrf_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsytrf_Tile_c + integer(kind=c_int) :: CHAMELEON_zsytrf_Tile_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A - end function MORSE_zsytrf_Tile_c + end function CHAMELEON_zsytrf_Tile_c end interface interface - function MORSE_zpotri_Tile_c(uplo,A) & - & bind(c, name='MORSE_zpotri_Tile') + function CHAMELEON_zpotri_Tile_c(uplo,A) & + & bind(c, name='CHAMELEON_zpotri_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zpotri_Tile_c + integer(kind=c_int) :: CHAMELEON_zpotri_Tile_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A - end function MORSE_zpotri_Tile_c + end function CHAMELEON_zpotri_Tile_c end interface interface - function MORSE_zpotrs_Tile_c(uplo,A,B) & - & bind(c, name='MORSE_zpotrs_Tile') + function CHAMELEON_zpotrs_Tile_c(uplo,A,B) & + & bind(c, name='CHAMELEON_zpotrs_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zpotrs_Tile_c + integer(kind=c_int) :: CHAMELEON_zpotrs_Tile_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B - end function MORSE_zpotrs_Tile_c + end function CHAMELEON_zpotrs_Tile_c end interface interface - function MORSE_zsytrs_Tile_c(uplo,A,B) & - & bind(c, name='MORSE_zsytrs_Tile') + function CHAMELEON_zsytrs_Tile_c(uplo,A,B) & + & bind(c, name='CHAMELEON_zsytrs_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsytrs_Tile_c + integer(kind=c_int) :: CHAMELEON_zsytrs_Tile_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B - end function MORSE_zsytrs_Tile_c + end function CHAMELEON_zsytrs_Tile_c end interface interface - function MORSE_zsymm_Tile_c(side,uplo,alpha,A,B,beta,C) & - & bind(c, name='MORSE_zsymm_Tile') + function CHAMELEON_zsymm_Tile_c(side,uplo,alpha,A,B,beta,C) & + & bind(c, name='CHAMELEON_zsymm_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsymm_Tile_c + integer(kind=c_int) :: CHAMELEON_zsymm_Tile_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo complex(kind=c_double_complex), value :: alpha @@ -1704,15 +1704,15 @@ module morse_z type(c_ptr), value :: B complex(kind=c_double_complex), value :: beta type(c_ptr), value :: C - end function MORSE_zsymm_Tile_c + end function CHAMELEON_zsymm_Tile_c end interface interface - function MORSE_zsyr2k_Tile_c(uplo,trans,alpha,A,B,beta,C) & - & bind(c, name='MORSE_zsyr2k_Tile') + function CHAMELEON_zsyr2k_Tile_c(uplo,trans,alpha,A,B,beta,C) & + & bind(c, name='CHAMELEON_zsyr2k_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsyr2k_Tile_c + integer(kind=c_int) :: CHAMELEON_zsyr2k_Tile_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: trans complex(kind=c_double_complex), value :: alpha @@ -1720,30 +1720,30 @@ module morse_z type(c_ptr), value :: B complex(kind=c_double_complex), value :: beta type(c_ptr), value :: C - end function MORSE_zsyr2k_Tile_c + end function CHAMELEON_zsyr2k_Tile_c end interface interface - function MORSE_zsyrk_Tile_c(uplo,trans,alpha,A,beta,C) & - & bind(c, name='MORSE_zsyrk_Tile') + function CHAMELEON_zsyrk_Tile_c(uplo,trans,alpha,A,beta,C) & + & bind(c, name='CHAMELEON_zsyrk_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsyrk_Tile_c + integer(kind=c_int) :: CHAMELEON_zsyrk_Tile_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: trans complex(kind=c_double_complex), value :: alpha type(c_ptr), value :: A complex(kind=c_double_complex), value :: beta type(c_ptr), value :: C - end function MORSE_zsyrk_Tile_c + end function CHAMELEON_zsyrk_Tile_c end interface interface - function MORSE_ztrmm_Tile_c(side,uplo,transA,diag,alpha,A,B) & - & bind(c, name='MORSE_ztrmm_Tile') + function CHAMELEON_ztrmm_Tile_c(side,uplo,transA,diag,alpha,A,B) & + & bind(c, name='CHAMELEON_ztrmm_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrmm_Tile_c + integer(kind=c_int) :: CHAMELEON_ztrmm_Tile_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo integer(kind=c_int), value :: transA @@ -1751,15 +1751,15 @@ module morse_z complex(kind=c_double_complex), value :: alpha type(c_ptr), value :: A type(c_ptr), value :: B - end function MORSE_ztrmm_Tile_c + end function CHAMELEON_ztrmm_Tile_c end interface interface - function MORSE_ztrsm_Tile_c(side,uplo,transA,diag,alpha,A,B) & - & bind(c, name='MORSE_ztrsm_Tile') + function CHAMELEON_ztrsm_Tile_c(side,uplo,transA,diag,alpha,A,B) & + & bind(c, name='CHAMELEON_ztrsm_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrsm_Tile_c + integer(kind=c_int) :: CHAMELEON_ztrsm_Tile_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo integer(kind=c_int), value :: transA @@ -1767,28 +1767,28 @@ module morse_z complex(kind=c_double_complex), value :: alpha type(c_ptr), value :: A type(c_ptr), value :: B - end function MORSE_ztrsm_Tile_c + end function CHAMELEON_ztrsm_Tile_c end interface interface - function MORSE_ztrsmpl_Tile_c(A,L,IPIV,B) & - & bind(c, name='MORSE_ztrsmpl_Tile') + function CHAMELEON_ztrsmpl_Tile_c(A,L,IPIV,B) & + & bind(c, name='CHAMELEON_ztrsmpl_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrsmpl_Tile_c + integer(kind=c_int) :: CHAMELEON_ztrsmpl_Tile_c type(c_ptr), value :: A type(c_ptr), value :: L type(c_ptr), value :: IPIV type(c_ptr), value :: B - end function MORSE_ztrsmpl_Tile_c + end function CHAMELEON_ztrsmpl_Tile_c end interface interface - function MORSE_ztrsmrv_Tile_c(side,uplo,transA,diag,alpha,A,B) & - & bind(c, name='MORSE_ztrsmrv_Tile') + function CHAMELEON_ztrsmrv_Tile_c(side,uplo,transA,diag,alpha,A,B) & + & bind(c, name='CHAMELEON_ztrsmrv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrsmrv_Tile_c + integer(kind=c_int) :: CHAMELEON_ztrsmrv_Tile_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo integer(kind=c_int), value :: transA @@ -1796,139 +1796,139 @@ module morse_z complex(kind=c_double_complex), value :: alpha type(c_ptr), value :: A type(c_ptr), value :: B - end function MORSE_ztrsmrv_Tile_c + end function CHAMELEON_ztrsmrv_Tile_c end interface interface - function MORSE_ztrtri_Tile_c(uplo,diag,A) & - & bind(c, name='MORSE_ztrtri_Tile') + function CHAMELEON_ztrtri_Tile_c(uplo,diag,A) & + & bind(c, name='CHAMELEON_ztrtri_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrtri_Tile_c + integer(kind=c_int) :: CHAMELEON_ztrtri_Tile_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: diag type(c_ptr), value :: A - end function MORSE_ztrtri_Tile_c + end function CHAMELEON_ztrtri_Tile_c end interface interface - function MORSE_zunglq_Tile_c(A,T,B) & - & bind(c, name='MORSE_zunglq_Tile') + function CHAMELEON_zunglq_Tile_c(A,T,B) & + & bind(c, name='CHAMELEON_zunglq_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zunglq_Tile_c + integer(kind=c_int) :: CHAMELEON_zunglq_Tile_c type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B - end function MORSE_zunglq_Tile_c + end function CHAMELEON_zunglq_Tile_c end interface interface - function MORSE_zungqr_Tile_c(A,T,B) & - & bind(c, name='MORSE_zungqr_Tile') + function CHAMELEON_zungqr_Tile_c(A,T,B) & + & bind(c, name='CHAMELEON_zungqr_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zungqr_Tile_c + integer(kind=c_int) :: CHAMELEON_zungqr_Tile_c type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B - end function MORSE_zungqr_Tile_c + end function CHAMELEON_zungqr_Tile_c end interface interface - function MORSE_zunmlq_Tile_c(side,trans,A,T,B) & - & bind(c, name='MORSE_zunmlq_Tile') + function CHAMELEON_zunmlq_Tile_c(side,trans,A,T,B) & + & bind(c, name='CHAMELEON_zunmlq_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zunmlq_Tile_c + integer(kind=c_int) :: CHAMELEON_zunmlq_Tile_c integer(kind=c_int), value :: side integer(kind=c_int), value :: trans type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B - end function MORSE_zunmlq_Tile_c + end function CHAMELEON_zunmlq_Tile_c end interface interface - function MORSE_zunmqr_Tile_c(side,trans,A,T,B) & - & bind(c, name='MORSE_zunmqr_Tile') + function CHAMELEON_zunmqr_Tile_c(side,trans,A,T,B) & + & bind(c, name='CHAMELEON_zunmqr_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zunmqr_Tile_c + integer(kind=c_int) :: CHAMELEON_zunmqr_Tile_c integer(kind=c_int), value :: side integer(kind=c_int), value :: trans type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B - end function MORSE_zunmqr_Tile_c + end function CHAMELEON_zunmqr_Tile_c end interface !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ! FORTRAN API - math functions (asynchronous interface) ! interface - function MORSE_zgebrd_Tile_Async_c(A,D,E,T,sequence,request) & - & bind(c, name='MORSE_zgebrd_Tile_Async') + function CHAMELEON_zgebrd_Tile_Async_c(A,D,E,T,sequence,request) & + & bind(c, name='CHAMELEON_zgebrd_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgebrd_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgebrd_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: D type(c_ptr), value :: E type(c_ptr), value :: T type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgebrd_Tile_Async_c + end function CHAMELEON_zgebrd_Tile_Async_c end interface interface - function MORSE_zgelqf_Tile_Async_c(A,T,sequence,request) & - & bind(c, name='MORSE_zgelqf_Tile_Async') + function CHAMELEON_zgelqf_Tile_Async_c(A,T,sequence,request) & + & bind(c, name='CHAMELEON_zgelqf_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgelqf_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgelqf_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgelqf_Tile_Async_c + end function CHAMELEON_zgelqf_Tile_Async_c end interface interface - function MORSE_zgelqs_Tile_Async_c(A,T,B,sequence,request) & - & bind(c, name='MORSE_zgelqs_Tile_Async') + function CHAMELEON_zgelqs_Tile_Async_c(A,T,B,sequence,request) & + & bind(c, name='CHAMELEON_zgelqs_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgelqs_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgelqs_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgelqs_Tile_Async_c + end function CHAMELEON_zgelqs_Tile_Async_c end interface interface - function MORSE_zgels_Tile_Async_c(trans,A,T,B,sequence,request) & - & bind(c, name='MORSE_zgels_Tile_Async') + function CHAMELEON_zgels_Tile_Async_c(trans,A,T,B,sequence,request) & + & bind(c, name='CHAMELEON_zgels_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgels_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgels_Tile_Async_c integer(kind=c_int), value :: trans type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgels_Tile_Async_c + end function CHAMELEON_zgels_Tile_Async_c end interface interface - function MORSE_zgemm_Tile_Async_c(transA,transB,alpha,A,B,beta,C,sequence,request) & - & bind(c, name='MORSE_zgemm_Tile_Async') + function CHAMELEON_zgemm_Tile_Async_c(transA,transB,alpha,A,B,beta,C,sequence,request) & + & bind(c, name='CHAMELEON_zgemm_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgemm_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgemm_Tile_Async_c integer(kind=c_int), value :: transA integer(kind=c_int), value :: transB complex(kind=c_double_complex), value :: alpha @@ -1938,71 +1938,71 @@ module morse_z type(c_ptr), value :: C type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgemm_Tile_Async_c + end function CHAMELEON_zgemm_Tile_Async_c end interface interface - function MORSE_zgeqrf_Tile_Async_c(A,T,sequence,request) & - & bind(c, name='MORSE_zgeqrf_Tile_Async') + function CHAMELEON_zgeqrf_Tile_Async_c(A,T,sequence,request) & + & bind(c, name='CHAMELEON_zgeqrf_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgeqrf_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgeqrf_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgeqrf_Tile_Async_c + end function CHAMELEON_zgeqrf_Tile_Async_c end interface interface - function MORSE_zgeqrs_Tile_Async_c(A,T,B,sequence,request) & - & bind(c, name='MORSE_zgeqrs_Tile_Async') + function CHAMELEON_zgeqrs_Tile_Async_c(A,T,B,sequence,request) & + & bind(c, name='CHAMELEON_zgeqrs_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgeqrs_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgeqrs_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgeqrs_Tile_Async_c + end function CHAMELEON_zgeqrs_Tile_Async_c end interface interface - function MORSE_zgesv_Tile_Async_c(A,IPIV,B,sequence,request) & - & bind(c, name='MORSE_zgesv_Tile_Async') + function CHAMELEON_zgesv_Tile_Async_c(A,IPIV,B,sequence,request) & + & bind(c, name='CHAMELEON_zgesv_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgesv_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgesv_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: IPIV type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgesv_Tile_Async_c + end function CHAMELEON_zgesv_Tile_Async_c end interface interface - function MORSE_zgesv_incpiv_Tile_Async_c(A,L,IPIV,B,sequence,request) & - & bind(c, name='MORSE_zgesv_incpiv_Tile_Async') + function CHAMELEON_zgesv_incpiv_Tile_Async_c(A,L,IPIV,B,sequence,request) & + & bind(c, name='CHAMELEON_zgesv_incpiv_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgesv_incpiv_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgesv_incpiv_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: L type(c_ptr), value :: IPIV type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgesv_incpiv_Tile_Async_c + end function CHAMELEON_zgesv_incpiv_Tile_Async_c end interface interface - function MORSE_zgesvd_Tile_Async_c(jobu,jobvt,A,S,U,VT,T,sequence,request) & - & bind(c, name='MORSE_zgesvd_Tile_Async') + function CHAMELEON_zgesvd_Tile_Async_c(jobu,jobvt,A,S,U,VT,T,sequence,request) & + & bind(c, name='CHAMELEON_zgesvd_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgesvd_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgesvd_Tile_Async_c integer(kind=c_int), value :: jobu integer(kind=c_int), value :: jobvt type(c_ptr), value :: A @@ -2012,98 +2012,98 @@ module morse_z type(c_ptr), value :: T type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgesvd_Tile_Async_c + end function CHAMELEON_zgesvd_Tile_Async_c end interface interface - function MORSE_zgetrf_Tile_Async_c(A,IPIV,sequence,request) & - & bind(c, name='MORSE_zgetrf_Tile_Async') + function CHAMELEON_zgetrf_Tile_Async_c(A,IPIV,sequence,request) & + & bind(c, name='CHAMELEON_zgetrf_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrf_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgetrf_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: IPIV type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgetrf_Tile_Async_c + end function CHAMELEON_zgetrf_Tile_Async_c end interface interface - function MORSE_zgetrf_incpiv_Tile_Async_c(A,L,IPIV,sequence,request) & - & bind(c, name='MORSE_zgetrf_incpiv_Tile_Async') + function CHAMELEON_zgetrf_incpiv_Tile_Async_c(A,L,IPIV,sequence,request) & + & bind(c, name='CHAMELEON_zgetrf_incpiv_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrf_incpiv_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgetrf_incpiv_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: L type(c_ptr), value :: IPIV type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgetrf_incpiv_Tile_Async_c + end function CHAMELEON_zgetrf_incpiv_Tile_Async_c end interface interface - function MORSE_zgetrf_nopiv_Tile_Async_c(A,sequence,request) & - & bind(c, name='MORSE_zgetrf_nopiv_Tile_Async') + function CHAMELEON_zgetrf_nopiv_Tile_Async_c(A,sequence,request) & + & bind(c, name='CHAMELEON_zgetrf_nopiv_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrf_nopiv_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgetrf_nopiv_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgetrf_nopiv_Tile_Async_c + end function CHAMELEON_zgetrf_nopiv_Tile_Async_c end interface interface - function MORSE_zgetri_Tile_Async_c(A,IPIV,W,sequence,request) & - & bind(c, name='MORSE_zgetri_Tile_Async') + function CHAMELEON_zgetri_Tile_Async_c(A,IPIV,W,sequence,request) & + & bind(c, name='CHAMELEON_zgetri_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetri_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgetri_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: IPIV type(c_ptr), value :: W type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgetri_Tile_Async_c + end function CHAMELEON_zgetri_Tile_Async_c end interface interface - function MORSE_zgetrs_Tile_Async_c(trans,A,IPIV,B,sequence,request) & - & bind(c, name='MORSE_zgetrs_Tile_Async') + function CHAMELEON_zgetrs_Tile_Async_c(trans,A,IPIV,B,sequence,request) & + & bind(c, name='CHAMELEON_zgetrs_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrs_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgetrs_Tile_Async_c integer(kind=c_int), value :: trans type(c_ptr), value :: A type(c_ptr), value :: IPIV type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgetrs_Tile_Async_c + end function CHAMELEON_zgetrs_Tile_Async_c end interface interface - function MORSE_zgetrs_incpiv_Tile_Async_c(A,L,IPIV,B,sequence,request) & - & bind(c, name='MORSE_zgetrs_incpiv_Tile_Async') + function CHAMELEON_zgetrs_incpiv_Tile_Async_c(A,L,IPIV,B,sequence,request) & + & bind(c, name='CHAMELEON_zgetrs_incpiv_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zgetrs_incpiv_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zgetrs_incpiv_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: L type(c_ptr), value :: IPIV type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zgetrs_incpiv_Tile_Async_c + end function CHAMELEON_zgetrs_incpiv_Tile_Async_c end interface interface - function MORSE_zheev_Tile_Async_c(jobz,uplo,A,W,T,Q,LDQ,sequence,request) & - & bind(c, name='MORSE_zheev_Tile_Async') + function CHAMELEON_zheev_Tile_Async_c(jobz,uplo,A,W,T,Q,LDQ,sequence,request) & + & bind(c, name='CHAMELEON_zheev_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zheev_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zheev_Tile_Async_c integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo type(c_ptr), value :: A @@ -2113,15 +2113,15 @@ module morse_z integer(kind=c_int), value :: LDQ type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zheev_Tile_Async_c + end function CHAMELEON_zheev_Tile_Async_c end interface interface - function MORSE_zheevd_Tile_Async_c(jobz,uplo,A,W,T,Q,LDQ,sequence,request) & - & bind(c, name='MORSE_zheevd_Tile_Async') + function CHAMELEON_zheevd_Tile_Async_c(jobz,uplo,A,W,T,Q,LDQ,sequence,request) & + & bind(c, name='CHAMELEON_zheevd_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zheevd_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zheevd_Tile_Async_c integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo type(c_ptr), value :: A @@ -2131,30 +2131,30 @@ module morse_z integer(kind=c_int), value :: LDQ type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zheevd_Tile_Async_c + end function CHAMELEON_zheevd_Tile_Async_c end interface interface - function MORSE_zhegst_Tile_Async_c(itype,uplo,A,B,sequence,request) & - & bind(c, name='MORSE_zhegst_Tile_Async') + function CHAMELEON_zhegst_Tile_Async_c(itype,uplo,A,B,sequence,request) & + & bind(c, name='CHAMELEON_zhegst_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhegst_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zhegst_Tile_Async_c integer(kind=c_int), value :: itype integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zhegst_Tile_Async_c + end function CHAMELEON_zhegst_Tile_Async_c end interface interface - function MORSE_zhegv_Tile_Async_c(itype,jobz,uplo,A,B,W,T,Q,sequence,request) & - & bind(c, name='MORSE_zhegv_Tile_Async') + function CHAMELEON_zhegv_Tile_Async_c(itype,jobz,uplo,A,B,W,T,Q,sequence,request) & + & bind(c, name='CHAMELEON_zhegv_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhegv_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zhegv_Tile_Async_c integer(kind=c_int), value :: itype integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo @@ -2165,15 +2165,15 @@ module morse_z type(c_ptr), value :: Q type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zhegv_Tile_Async_c + end function CHAMELEON_zhegv_Tile_Async_c end interface interface - function MORSE_zhegvd_Tile_Async_c(itype,jobz,uplo,A,B,W,T,Q,sequence,request) & - & bind(c, name='MORSE_zhegvd_Tile_Async') + function CHAMELEON_zhegvd_Tile_Async_c(itype,jobz,uplo,A,B,W,T,Q,sequence,request) & + & bind(c, name='CHAMELEON_zhegvd_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhegvd_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zhegvd_Tile_Async_c integer(kind=c_int), value :: itype integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo @@ -2184,16 +2184,16 @@ module morse_z type(c_ptr), value :: Q type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zhegvd_Tile_Async_c + end function CHAMELEON_zhegvd_Tile_Async_c end interface #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zhemm_Tile_Async_c(side,uplo,alpha,A,B,beta,C,sequence,request) & - & bind(c, name='MORSE_zhemm_Tile_Async') + function CHAMELEON_zhemm_Tile_Async_c(side,uplo,alpha,A,B,beta,C,sequence,request) & + & bind(c, name='CHAMELEON_zhemm_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhemm_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zhemm_Tile_Async_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo complex(kind=c_double_complex), value :: alpha @@ -2203,17 +2203,17 @@ module morse_z type(c_ptr), value :: C type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zhemm_Tile_Async_c + end function CHAMELEON_zhemm_Tile_Async_c end interface #endif #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zher2k_Tile_Async_c(uplo,trans,alpha,A,B,beta,C,sequence,request) & - & bind(c, name='MORSE_zher2k_Tile_Async') + function CHAMELEON_zher2k_Tile_Async_c(uplo,trans,alpha,A,B,beta,C,sequence,request) & + & bind(c, name='CHAMELEON_zher2k_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zher2k_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zher2k_Tile_Async_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: trans complex(kind=c_double_complex), value :: alpha @@ -2223,17 +2223,17 @@ module morse_z type(c_ptr), value :: C type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zher2k_Tile_Async_c + end function CHAMELEON_zher2k_Tile_Async_c end interface #endif #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zherk_Tile_Async_c(uplo,trans,alpha,A,beta,C,sequence,request) & - & bind(c, name='MORSE_zherk_Tile_Async') + function CHAMELEON_zherk_Tile_Async_c(uplo,trans,alpha,A,beta,C,sequence,request) & + & bind(c, name='CHAMELEON_zherk_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zherk_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zherk_Tile_Async_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: trans real(kind=c_double), value :: alpha @@ -2242,16 +2242,16 @@ module morse_z type(c_ptr), value :: C type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zherk_Tile_Async_c + end function CHAMELEON_zherk_Tile_Async_c end interface #endif interface - function MORSE_zhetrd_Tile_Async_c(jobz,uplo,A,D,E,T,Q,LDQ,sequence,request) & - & bind(c, name='MORSE_zhetrd_Tile_Async') + function CHAMELEON_zhetrd_Tile_Async_c(jobz,uplo,A,D,E,T,Q,LDQ,sequence,request) & + & bind(c, name='CHAMELEON_zhetrd_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zhetrd_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zhetrd_Tile_Async_c integer(kind=c_int), value :: jobz integer(kind=c_int), value :: uplo type(c_ptr), value :: A @@ -2262,45 +2262,45 @@ module morse_z integer(kind=c_int), value :: LDQ type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zhetrd_Tile_Async_c + end function CHAMELEON_zhetrd_Tile_Async_c end interface interface - function MORSE_zlacpy_Tile_Async_c(uplo,A,B,sequence,request) & - & bind(c, name='MORSE_zlacpy_Tile_Async') + function CHAMELEON_zlacpy_Tile_Async_c(uplo,A,B,sequence,request) & + & bind(c, name='CHAMELEON_zlacpy_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlacpy_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zlacpy_Tile_Async_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zlacpy_Tile_Async_c + end function CHAMELEON_zlacpy_Tile_Async_c end interface interface - function MORSE_zlange_Tile_Async_c(norm,A,work,value,sequence,request) & - & bind(c, name='MORSE_zlange_Tile_Async') + function CHAMELEON_zlange_Tile_Async_c(norm,A,work,value,sequence,request) & + & bind(c, name='CHAMELEON_zlange_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlange_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zlange_Tile_Async_c integer(kind=c_int), value :: norm type(c_ptr), value :: A type(c_ptr), value :: work type(c_ptr), value :: value type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zlange_Tile_Async_c + end function CHAMELEON_zlange_Tile_Async_c end interface #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zlanhe_Tile_Async_c(norm,uplo,A,work,value,sequence,request) & - & bind(c, name='MORSE_zlanhe_Tile_Async') + function CHAMELEON_zlanhe_Tile_Async_c(norm,uplo,A,work,value,sequence,request) & + & bind(c, name='CHAMELEON_zlanhe_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlanhe_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zlanhe_Tile_Async_c integer(kind=c_int), value :: norm integer(kind=c_int), value :: uplo type(c_ptr), value :: A @@ -2308,16 +2308,16 @@ module morse_z type(c_ptr), value :: value type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zlanhe_Tile_Async_c + end function CHAMELEON_zlanhe_Tile_Async_c end interface #endif interface - function MORSE_zlansy_Tile_Async_c(norm,uplo,A,work,value,sequence,request) & - & bind(c, name='MORSE_zlansy_Tile_Async') + function CHAMELEON_zlansy_Tile_Async_c(norm,uplo,A,work,value,sequence,request) & + & bind(c, name='CHAMELEON_zlansy_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlansy_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zlansy_Tile_Async_c integer(kind=c_int), value :: norm integer(kind=c_int), value :: uplo type(c_ptr), value :: A @@ -2325,30 +2325,30 @@ module morse_z type(c_ptr), value :: value type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zlansy_Tile_Async_c + end function CHAMELEON_zlansy_Tile_Async_c end interface interface - function MORSE_zlaset_Tile_Async_c(uplo,alpha,beta,A,sequence,request) & - & bind(c, name='MORSE_zlaset_Tile_Async') + function CHAMELEON_zlaset_Tile_Async_c(uplo,alpha,beta,A,sequence,request) & + & bind(c, name='CHAMELEON_zlaset_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlaset_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zlaset_Tile_Async_c integer(kind=c_int), value :: uplo complex(kind=c_double_complex), value :: alpha complex(kind=c_double_complex), value :: beta type(c_ptr), value :: A type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zlaset_Tile_Async_c + end function CHAMELEON_zlaset_Tile_Async_c end interface interface - function MORSE_zlaswp_Tile_Async_c(A,K1,K2,IPIV,INCX,sequence,request) & - & bind(c, name='MORSE_zlaswp_Tile_Async') + function CHAMELEON_zlaswp_Tile_Async_c(A,K1,K2,IPIV,INCX,sequence,request) & + & bind(c, name='CHAMELEON_zlaswp_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlaswp_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zlaswp_Tile_Async_c type(c_ptr), value :: A integer(kind=c_int), value :: K1 integer(kind=c_int), value :: K2 @@ -2356,15 +2356,15 @@ module morse_z integer(kind=c_int), value :: INCX type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zlaswp_Tile_Async_c + end function CHAMELEON_zlaswp_Tile_Async_c end interface interface - function MORSE_zlaswpc_Tile_Async_c(A,K1,K2,IPIV,INCX,sequence,request) & - & bind(c, name='MORSE_zlaswpc_Tile_Async') + function CHAMELEON_zlaswpc_Tile_Async_c(A,K1,K2,IPIV,INCX,sequence,request) & + & bind(c, name='CHAMELEON_zlaswpc_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlaswpc_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zlaswpc_Tile_Async_c type(c_ptr), value :: A integer(kind=c_int), value :: K1 integer(kind=c_int), value :: K2 @@ -2372,168 +2372,168 @@ module morse_z integer(kind=c_int), value :: INCX type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zlaswpc_Tile_Async_c + end function CHAMELEON_zlaswpc_Tile_Async_c end interface interface - function MORSE_zlauum_Tile_Async_c(uplo,A,sequence,request) & - & bind(c, name='MORSE_zlauum_Tile_Async') + function CHAMELEON_zlauum_Tile_Async_c(uplo,A,sequence,request) & + & bind(c, name='CHAMELEON_zlauum_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zlauum_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zlauum_Tile_Async_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zlauum_Tile_Async_c + end function CHAMELEON_zlauum_Tile_Async_c end interface #if defined(PRECISION_z) || defined(PRECISION_c) interface - function MORSE_zplghe_Tile_Async_c(bump,uplo,A,seed,sequence,request) & - & bind(c, name='MORSE_zplghe_Tile_Async') + function CHAMELEON_zplghe_Tile_Async_c(bump,uplo,A,seed,sequence,request) & + & bind(c, name='CHAMELEON_zplghe_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zplghe_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zplghe_Tile_Async_c real(kind=c_double), value :: bump integer(kind=c_int), value :: uplo type(c_ptr), value :: A integer(kind=c_long_long), value :: seed type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zplghe_Tile_Async_c + end function CHAMELEON_zplghe_Tile_Async_c end interface #endif interface - function MORSE_zplgsy_Tile_Async_c(bump,uplo,A,seed,sequence,request) & - & bind(c, name='MORSE_zplgsy_Tile_Async') + function CHAMELEON_zplgsy_Tile_Async_c(bump,uplo,A,seed,sequence,request) & + & bind(c, name='CHAMELEON_zplgsy_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zplgsy_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zplgsy_Tile_Async_c complex(kind=c_double_complex), value :: bump integer(kind=c_int), value :: uplo type(c_ptr), value :: A integer(kind=c_long_long), value :: seed type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zplgsy_Tile_Async_c + end function CHAMELEON_zplgsy_Tile_Async_c end interface interface - function MORSE_zplrnt_Tile_Async_c(A,seed,sequence,request) & - & bind(c, name='MORSE_zplrnt_Tile_Async') + function CHAMELEON_zplrnt_Tile_Async_c(A,seed,sequence,request) & + & bind(c, name='CHAMELEON_zplrnt_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zplrnt_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zplrnt_Tile_Async_c type(c_ptr), value :: A integer(kind=c_long_long), value :: seed type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zplrnt_Tile_Async_c + end function CHAMELEON_zplrnt_Tile_Async_c end interface interface - function MORSE_zposv_Tile_Async_c(uplo,A,B,sequence,request) & - & bind(c, name='MORSE_zposv_Tile_Async') + function CHAMELEON_zposv_Tile_Async_c(uplo,A,B,sequence,request) & + & bind(c, name='CHAMELEON_zposv_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zposv_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zposv_Tile_Async_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zposv_Tile_Async_c + end function CHAMELEON_zposv_Tile_Async_c end interface interface - function MORSE_zsysv_Tile_Async_c(uplo,A,B,sequence,request) & - & bind(c, name='MORSE_zsysv_Tile_Async') + function CHAMELEON_zsysv_Tile_Async_c(uplo,A,B,sequence,request) & + & bind(c, name='CHAMELEON_zsysv_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsysv_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zsysv_Tile_Async_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zsysv_Tile_Async_c + end function CHAMELEON_zsysv_Tile_Async_c end interface interface - function MORSE_zpotrf_Tile_Async_c(uplo,A,sequence,request) & - & bind(c, name='MORSE_zpotrf_Tile_Async') + function CHAMELEON_zpotrf_Tile_Async_c(uplo,A,sequence,request) & + & bind(c, name='CHAMELEON_zpotrf_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zpotrf_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zpotrf_Tile_Async_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zpotrf_Tile_Async_c + end function CHAMELEON_zpotrf_Tile_Async_c end interface interface - function MORSE_zsytrf_Tile_Async_c(uplo,A,sequence,request) & - & bind(c, name='MORSE_zsytrf_Tile_Async') + function CHAMELEON_zsytrf_Tile_Async_c(uplo,A,sequence,request) & + & bind(c, name='CHAMELEON_zsytrf_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsytrf_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zsytrf_Tile_Async_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zsytrf_Tile_Async_c + end function CHAMELEON_zsytrf_Tile_Async_c end interface interface - function MORSE_zpotri_Tile_Async_c(uplo,A,sequence,request) & - & bind(c, name='MORSE_zpotri_Tile_Async') + function CHAMELEON_zpotri_Tile_Async_c(uplo,A,sequence,request) & + & bind(c, name='CHAMELEON_zpotri_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zpotri_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zpotri_Tile_Async_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zpotri_Tile_Async_c + end function CHAMELEON_zpotri_Tile_Async_c end interface interface - function MORSE_zpotrs_Tile_Async_c(uplo,A,B,sequence,request) & - & bind(c, name='MORSE_zpotrs_Tile_Async') + function CHAMELEON_zpotrs_Tile_Async_c(uplo,A,B,sequence,request) & + & bind(c, name='CHAMELEON_zpotrs_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zpotrs_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zpotrs_Tile_Async_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zpotrs_Tile_Async_c + end function CHAMELEON_zpotrs_Tile_Async_c end interface interface - function MORSE_zsytrs_Tile_Async_c(uplo,A,B,sequence,request) & - & bind(c, name='MORSE_zsytrs_Tile_Async') + function CHAMELEON_zsytrs_Tile_Async_c(uplo,A,B,sequence,request) & + & bind(c, name='CHAMELEON_zsytrs_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsytrs_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zsytrs_Tile_Async_c integer(kind=c_int), value :: uplo type(c_ptr), value :: A type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zsytrs_Tile_Async_c + end function CHAMELEON_zsytrs_Tile_Async_c end interface interface - function MORSE_zsymm_Tile_Async_c(side,uplo,alpha,A,B,beta,C,sequence,request) & - & bind(c, name='MORSE_zsymm_Tile_Async') + function CHAMELEON_zsymm_Tile_Async_c(side,uplo,alpha,A,B,beta,C,sequence,request) & + & bind(c, name='CHAMELEON_zsymm_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsymm_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zsymm_Tile_Async_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo complex(kind=c_double_complex), value :: alpha @@ -2543,15 +2543,15 @@ module morse_z type(c_ptr), value :: C type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zsymm_Tile_Async_c + end function CHAMELEON_zsymm_Tile_Async_c end interface interface - function MORSE_zsyr2k_Tile_Async_c(uplo,trans,alpha,A,B,beta,C,sequence,request) & - & bind(c, name='MORSE_zsyr2k_Tile_Async') + function CHAMELEON_zsyr2k_Tile_Async_c(uplo,trans,alpha,A,B,beta,C,sequence,request) & + & bind(c, name='CHAMELEON_zsyr2k_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsyr2k_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zsyr2k_Tile_Async_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: trans complex(kind=c_double_complex), value :: alpha @@ -2561,15 +2561,15 @@ module morse_z type(c_ptr), value :: C type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zsyr2k_Tile_Async_c + end function CHAMELEON_zsyr2k_Tile_Async_c end interface interface - function MORSE_zsyrk_Tile_Async_c(uplo,trans,alpha,A,beta,C,sequence,request) & - & bind(c, name='MORSE_zsyrk_Tile_Async') + function CHAMELEON_zsyrk_Tile_Async_c(uplo,trans,alpha,A,beta,C,sequence,request) & + & bind(c, name='CHAMELEON_zsyrk_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zsyrk_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zsyrk_Tile_Async_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: trans complex(kind=c_double_complex), value :: alpha @@ -2578,15 +2578,15 @@ module morse_z type(c_ptr), value :: C type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zsyrk_Tile_Async_c + end function CHAMELEON_zsyrk_Tile_Async_c end interface interface - function MORSE_ztrmm_Tile_Async_c(side,uplo,transA,diag,alpha,A,B,sequence,request) & - & bind(c, name='MORSE_ztrmm_Tile_Async') + function CHAMELEON_ztrmm_Tile_Async_c(side,uplo,transA,diag,alpha,A,B,sequence,request) & + & bind(c, name='CHAMELEON_ztrmm_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrmm_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_ztrmm_Tile_Async_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo integer(kind=c_int), value :: transA @@ -2596,15 +2596,15 @@ module morse_z type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_ztrmm_Tile_Async_c + end function CHAMELEON_ztrmm_Tile_Async_c end interface interface - function MORSE_ztrsm_Tile_Async_c(side,uplo,transA,diag,alpha,A,B,sequence,request) & - & bind(c, name='MORSE_ztrsm_Tile_Async') + function CHAMELEON_ztrsm_Tile_Async_c(side,uplo,transA,diag,alpha,A,B,sequence,request) & + & bind(c, name='CHAMELEON_ztrsm_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrsm_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_ztrsm_Tile_Async_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo integer(kind=c_int), value :: transA @@ -2614,30 +2614,30 @@ module morse_z type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_ztrsm_Tile_Async_c + end function CHAMELEON_ztrsm_Tile_Async_c end interface interface - function MORSE_ztrsmpl_Tile_Async_c(A,L,IPIV,B,sequence,request) & - & bind(c, name='MORSE_ztrsmpl_Tile_Async') + function CHAMELEON_ztrsmpl_Tile_Async_c(A,L,IPIV,B,sequence,request) & + & bind(c, name='CHAMELEON_ztrsmpl_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrsmpl_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_ztrsmpl_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: L type(c_ptr), value :: IPIV type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_ztrsmpl_Tile_Async_c + end function CHAMELEON_ztrsmpl_Tile_Async_c end interface interface - function MORSE_ztrsmrv_Tile_Async_c(side,uplo,transA,diag,alpha,A,B,sequence,request) & - & bind(c, name='MORSE_ztrsmrv_Tile_Async') + function CHAMELEON_ztrsmrv_Tile_Async_c(side,uplo,transA,diag,alpha,A,B,sequence,request) & + & bind(c, name='CHAMELEON_ztrsmrv_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrsmrv_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_ztrsmrv_Tile_Async_c integer(kind=c_int), value :: side integer(kind=c_int), value :: uplo integer(kind=c_int), value :: transA @@ -2647,57 +2647,57 @@ module morse_z type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_ztrsmrv_Tile_Async_c + end function CHAMELEON_ztrsmrv_Tile_Async_c end interface interface - function MORSE_ztrtri_Tile_Async_c(uplo,diag,A,sequence,request) & - & bind(c, name='MORSE_ztrtri_Tile_Async') + function CHAMELEON_ztrtri_Tile_Async_c(uplo,diag,A,sequence,request) & + & bind(c, name='CHAMELEON_ztrtri_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_ztrtri_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_ztrtri_Tile_Async_c integer(kind=c_int), value :: uplo integer(kind=c_int), value :: diag type(c_ptr), value :: A type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_ztrtri_Tile_Async_c + end function CHAMELEON_ztrtri_Tile_Async_c end interface interface - function MORSE_zunglq_Tile_Async_c(A,T,B,sequence,request) & - & bind(c, name='MORSE_zunglq_Tile_Async') + function CHAMELEON_zunglq_Tile_Async_c(A,T,B,sequence,request) & + & bind(c, name='CHAMELEON_zunglq_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zunglq_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zunglq_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zunglq_Tile_Async_c + end function CHAMELEON_zunglq_Tile_Async_c end interface interface - function MORSE_zungqr_Tile_Async_c(A,T,B,sequence,request) & - & bind(c, name='MORSE_zungqr_Tile_Async') + function CHAMELEON_zungqr_Tile_Async_c(A,T,B,sequence,request) & + & bind(c, name='CHAMELEON_zungqr_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zungqr_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zungqr_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: T type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zungqr_Tile_Async_c + end function CHAMELEON_zungqr_Tile_Async_c end interface interface - function MORSE_zunmlq_Tile_Async_c(side,trans,A,T,B,sequence,request) & - & bind(c, name='MORSE_zunmlq_Tile_Async') + function CHAMELEON_zunmlq_Tile_Async_c(side,trans,A,T,B,sequence,request) & + & bind(c, name='CHAMELEON_zunmlq_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zunmlq_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zunmlq_Tile_Async_c integer(kind=c_int), value :: side integer(kind=c_int), value :: trans type(c_ptr), value :: A @@ -2705,15 +2705,15 @@ module morse_z type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zunmlq_Tile_Async_c + end function CHAMELEON_zunmlq_Tile_Async_c end interface interface - function MORSE_zunmqr_Tile_Async_c(side,trans,A,T,B,sequence,request) & - & bind(c, name='MORSE_zunmqr_Tile_Async') + function CHAMELEON_zunmqr_Tile_Async_c(side,trans,A,T,B,sequence,request) & + & bind(c, name='CHAMELEON_zunmqr_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_zunmqr_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_zunmqr_Tile_Async_c integer(kind=c_int), value :: side integer(kind=c_int), value :: trans type(c_ptr), value :: A @@ -2721,291 +2721,291 @@ module morse_z type(c_ptr), value :: B type(c_ptr), value :: sequence type(c_ptr), value :: request - end function MORSE_zunmqr_Tile_Async_c + end function CHAMELEON_zunmqr_Tile_Async_c end interface !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ! FORTRAN API - workspace allocation ! interface - function MORSE_Alloc_Workspace_zgebrd_c(M,N,descT,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgebrd') + function CHAMELEON_Alloc_Workspace_zgebrd_c(M,N,descT,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgebrd') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgebrd_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgebrd_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgebrd_c + end function CHAMELEON_Alloc_Workspace_zgebrd_c end interface interface - function MORSE_Alloc_Workspace_zgeev_c(N,descT,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgeev') + function CHAMELEON_Alloc_Workspace_zgeev_c(N,descT,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgeev') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgeev_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgeev_c integer(kind=c_int), value :: N type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgeev_c + end function CHAMELEON_Alloc_Workspace_zgeev_c end interface interface - function MORSE_Alloc_Workspace_zgehrd_c(N,descT,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgehrd') + function CHAMELEON_Alloc_Workspace_zgehrd_c(N,descT,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgehrd') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgehrd_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgehrd_c integer(kind=c_int), value :: N type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgehrd_c + end function CHAMELEON_Alloc_Workspace_zgehrd_c end interface interface - function MORSE_Alloc_Workspace_zgelqf_c(M,N,T,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgelqf') + function CHAMELEON_Alloc_Workspace_zgelqf_c(M,N,T,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgelqf') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgelqf_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgelqf_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: T ! T is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgelqf_c + end function CHAMELEON_Alloc_Workspace_zgelqf_c end interface interface - function MORSE_Alloc_Workspace_zgelqf_Tile_c(M,N,descT,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgelqf_Tile') + function CHAMELEON_Alloc_Workspace_zgelqf_Tile_c(M,N,descT,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgelqf_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgelqf_Tile_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgelqf_Tile_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgelqf_Tile_c + end function CHAMELEON_Alloc_Workspace_zgelqf_Tile_c end interface interface - function MORSE_Alloc_Workspace_zgels_c(M,N,T,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgels') + function CHAMELEON_Alloc_Workspace_zgels_c(M,N,T,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgels') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgels_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgels_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: T ! T is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgels_c + end function CHAMELEON_Alloc_Workspace_zgels_c end interface interface - function MORSE_Alloc_Workspace_zgels_Tile_c(M,N,descT,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgels_Tile') + function CHAMELEON_Alloc_Workspace_zgels_Tile_c(M,N,descT,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgels_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgels_Tile_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgels_Tile_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgels_Tile_c + end function CHAMELEON_Alloc_Workspace_zgels_Tile_c end interface interface - function MORSE_Alloc_Workspace_zgeqrf_c(M,N,T,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgeqrf') + function CHAMELEON_Alloc_Workspace_zgeqrf_c(M,N,T,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgeqrf') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgeqrf_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgeqrf_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: T ! T is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgeqrf_c + end function CHAMELEON_Alloc_Workspace_zgeqrf_c end interface interface - function MORSE_Alloc_Workspace_zgeqrf_Tile_c(M,N,descT,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgeqrf_Tile') + function CHAMELEON_Alloc_Workspace_zgeqrf_Tile_c(M,N,descT,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgeqrf_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgeqrf_Tile_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgeqrf_Tile_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgeqrf_Tile_c + end function CHAMELEON_Alloc_Workspace_zgeqrf_Tile_c end interface interface - function MORSE_Alloc_Workspace_zgesv_incpiv_c(N,descL,IPIV,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgesv_incpiv') + function CHAMELEON_Alloc_Workspace_zgesv_incpiv_c(N,descL,IPIV,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgesv_incpiv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgesv_incpiv_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgesv_incpiv_c integer(kind=c_int), value :: N type(c_ptr) :: descL ! descL is **, so pass by reference type(c_ptr) :: IPIV ! IPIV is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgesv_incpiv_c + end function CHAMELEON_Alloc_Workspace_zgesv_incpiv_c end interface interface - function MORSE_Alloc_Workspace_zgesv_incpiv_Tile_c(N,descL,IPIV,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgesv_incpiv_Tile') + function CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile_c(N,descL,IPIV,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgesv_incpiv_Tile_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile_c integer(kind=c_int), value :: N type(c_ptr) :: descL ! descL is **, so pass by reference type(c_ptr) :: IPIV ! IPIV is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgesv_incpiv_Tile_c + end function CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile_c end interface interface - function MORSE_Alloc_Workspace_zgesvd_c(M,N,descT,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgesvd') + function CHAMELEON_Alloc_Workspace_zgesvd_c(M,N,descT,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgesvd') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgesvd_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgesvd_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgesvd_c + end function CHAMELEON_Alloc_Workspace_zgesvd_c end interface interface - function MORSE_Alloc_Workspace_zgetrf_incpiv_c(M,N,descL,IPIV,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgetrf_incpiv') + function CHAMELEON_Alloc_Workspace_zgetrf_incpiv_c(M,N,descL,IPIV,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgetrf_incpiv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgetrf_incpiv_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgetrf_incpiv_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: descL ! descL is **, so pass by reference type(c_ptr) :: IPIV ! IPIV is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgetrf_incpiv_c + end function CHAMELEON_Alloc_Workspace_zgetrf_incpiv_c end interface interface - function MORSE_Alloc_Workspace_zgetrf_incpiv_Tile_c(N,descL,IPIV,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zgetrf_incpiv_Tile') + function CHAMELEON_Alloc_Workspace_zgetrf_incpiv_Tile_c(N,descL,IPIV,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgetrf_incpiv_Tile') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgetrf_incpiv_Tile_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgetrf_incpiv_Tile_c integer(kind=c_int), value :: N type(c_ptr) :: descL ! descL is **, so pass by reference type(c_ptr) :: IPIV ! IPIV is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zgetrf_incpiv_Tile_c + end function CHAMELEON_Alloc_Workspace_zgetrf_incpiv_Tile_c end interface interface - function MORSE_Alloc_Workspace_zgetri_Tile_Async_c(A,W) & - & bind(c, name='MORSE_Alloc_Workspace_zgetri_Tile_Async') + function CHAMELEON_Alloc_Workspace_zgetri_Tile_Async_c(A,W) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zgetri_Tile_Async') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zgetri_Tile_Async_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zgetri_Tile_Async_c type(c_ptr), value :: A type(c_ptr), value :: W - end function MORSE_Alloc_Workspace_zgetri_Tile_Async_c + end function CHAMELEON_Alloc_Workspace_zgetri_Tile_Async_c end interface interface - function MORSE_Alloc_Workspace_zheev_c(M,N,descT,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zheev') + function CHAMELEON_Alloc_Workspace_zheev_c(M,N,descT,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zheev') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zheev_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zheev_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zheev_c + end function CHAMELEON_Alloc_Workspace_zheev_c end interface interface - function MORSE_Alloc_Workspace_zheevd_c(M,N,descT,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zheevd') + function CHAMELEON_Alloc_Workspace_zheevd_c(M,N,descT,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zheevd') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zheevd_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zheevd_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zheevd_c + end function CHAMELEON_Alloc_Workspace_zheevd_c end interface interface - function MORSE_Alloc_Workspace_zhegv_c(M,N,descT,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zhegv') + function CHAMELEON_Alloc_Workspace_zhegv_c(M,N,descT,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zhegv') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zhegv_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zhegv_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zhegv_c + end function CHAMELEON_Alloc_Workspace_zhegv_c end interface interface - function MORSE_Alloc_Workspace_zhegvd_c(M,N,descT,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zhegvd') + function CHAMELEON_Alloc_Workspace_zhegvd_c(M,N,descT,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zhegvd') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zhegvd_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zhegvd_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zhegvd_c + end function CHAMELEON_Alloc_Workspace_zhegvd_c end interface interface - function MORSE_Alloc_Workspace_zhetrd_c(M,N,descT,p,q) & - & bind(c, name='MORSE_Alloc_Workspace_zhetrd') + function CHAMELEON_Alloc_Workspace_zhetrd_c(M,N,descT,p,q) & + & bind(c, name='CHAMELEON_Alloc_Workspace_zhetrd') use iso_c_binding implicit none - integer(kind=c_int) :: MORSE_Alloc_Workspace_zhetrd_c + integer(kind=c_int) :: CHAMELEON_Alloc_Workspace_zhetrd_c integer(kind=c_int), value :: M integer(kind=c_int), value :: N type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - end function MORSE_Alloc_Workspace_zhetrd_c + end function CHAMELEON_Alloc_Workspace_zhetrd_c end interface contains - subroutine MORSE_zgebrd(M,N,A,LDA,D,E,T,info) + subroutine CHAMELEON_zgebrd(M,N,A,LDA,D,E,T,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3015,11 +3015,11 @@ module morse_z complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) real(kind=c_double), intent(out), target :: D(*) real(kind=c_double), intent(out), target :: E(*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgebrd_c(M,N,c_loc(A),LDA,c_loc(D),c_loc(E),T) - end subroutine MORSE_zgebrd + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgebrd_c(M,N,c_loc(A),LDA,c_loc(D),c_loc(E),T) + end subroutine CHAMELEON_zgebrd - subroutine MORSE_zgelqf(M,N,A,LDA,T,info) + subroutine CHAMELEON_zgelqf(M,N,A,LDA,T,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3027,11 +3027,11 @@ module morse_z integer(kind=c_int), intent(in) :: M integer(kind=c_int), intent(in) :: N complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgelqf_c(M,N,c_loc(A),LDA,T) - end subroutine MORSE_zgelqf + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgelqf_c(M,N,c_loc(A),LDA,T) + end subroutine CHAMELEON_zgelqf - subroutine MORSE_zgelqs(M,N,NRHS,A,LDA,T,B,LDB,info) + subroutine CHAMELEON_zgelqs(M,N,NRHS,A,LDA,T,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3042,11 +3042,11 @@ module morse_z integer(kind=c_int), intent(in) :: NRHS complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgelqs_c(M,N,NRHS,c_loc(A),LDA,T,c_loc(B),LDB) - end subroutine MORSE_zgelqs + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgelqs_c(M,N,NRHS,c_loc(A),LDA,T,c_loc(B),LDB) + end subroutine CHAMELEON_zgelqs - subroutine MORSE_zgels(trans,M,N,NRHS,A,LDA,T,B,LDB,info) + subroutine CHAMELEON_zgels(trans,M,N,NRHS,A,LDA,T,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3058,11 +3058,11 @@ module morse_z integer(kind=c_int), intent(in) :: trans complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgels_c(trans,M,N,NRHS,c_loc(A),LDA,T,c_loc(B),LDB) - end subroutine MORSE_zgels + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgels_c(trans,M,N,NRHS,c_loc(A),LDA,T,c_loc(B),LDB) + end subroutine CHAMELEON_zgels - subroutine MORSE_zgemm(transA,transB,M,N,K,alpha,A,LDA,B,LDB,beta,C,LDC,info) + subroutine CHAMELEON_zgemm(transA,transB,M,N,K,alpha,A,LDA,B,LDB,beta,C,LDC,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3079,10 +3079,10 @@ module morse_z complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(in), target :: B(LDB,*) complex(kind=c_double_complex), intent(inout), target :: C(LDC,*) - info = MORSE_zgemm_c(transA,transB,M,N,K,alpha,c_loc(A),LDA,c_loc(B),LDB,beta,c_loc(C),LDC) - end subroutine MORSE_zgemm + info = CHAMELEON_zgemm_c(transA,transB,M,N,K,alpha,c_loc(A),LDA,c_loc(B),LDB,beta,c_loc(C),LDC) + end subroutine CHAMELEON_zgemm - subroutine MORSE_zgeqrf(M,N,A,LDA,T,info) + subroutine CHAMELEON_zgeqrf(M,N,A,LDA,T,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3090,11 +3090,11 @@ module morse_z integer(kind=c_int), intent(in) :: M integer(kind=c_int), intent(in) :: N complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgeqrf_c(M,N,c_loc(A),LDA,T) - end subroutine MORSE_zgeqrf + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgeqrf_c(M,N,c_loc(A),LDA,T) + end subroutine CHAMELEON_zgeqrf - subroutine MORSE_zgeqrs(M,N,NRHS,A,LDA,T,B,LDB,info) + subroutine CHAMELEON_zgeqrs(M,N,NRHS,A,LDA,T,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3105,11 +3105,11 @@ module morse_z integer(kind=c_int), intent(in) :: NRHS complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgeqrs_c(M,N,NRHS,c_loc(A),LDA,T,c_loc(B),LDB) - end subroutine MORSE_zgeqrs + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgeqrs_c(M,N,NRHS,c_loc(A),LDA,T,c_loc(B),LDB) + end subroutine CHAMELEON_zgeqrs - subroutine MORSE_zgesv(N,NRHS,A,LDA,IPIV,B,LDB,info) + subroutine CHAMELEON_zgesv(N,NRHS,A,LDA,IPIV,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3120,10 +3120,10 @@ module morse_z integer(kind=c_int), intent(out), target :: IPIV(*) complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - info = MORSE_zgesv_c(N,NRHS,c_loc(A),LDA,c_loc(IPIV),c_loc(B),LDB) - end subroutine MORSE_zgesv + info = CHAMELEON_zgesv_c(N,NRHS,c_loc(A),LDA,c_loc(IPIV),c_loc(B),LDB) + end subroutine CHAMELEON_zgesv - subroutine MORSE_zgesv_incpiv(N,NRHS,A,LDA,L,IPIV,B,LDB,info) + subroutine CHAMELEON_zgesv_incpiv(N,NRHS,A,LDA,L,IPIV,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3133,12 +3133,12 @@ module morse_z integer(kind=c_int), intent(in) :: NRHS complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - type(c_ptr), value :: IPIV ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: L ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgesv_incpiv_c(N,NRHS,c_loc(A),LDA,L,IPIV,c_loc(B),LDB) - end subroutine MORSE_zgesv_incpiv + type(c_ptr), value :: IPIV ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: L ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgesv_incpiv_c(N,NRHS,c_loc(A),LDA,L,IPIV,c_loc(B),LDB) + end subroutine CHAMELEON_zgesv_incpiv - subroutine MORSE_zgesvd(jobu,jobvt,M,N,A,LDA,S,U,LDU,VT,LDVT,T,info) + subroutine CHAMELEON_zgesvd(jobu,jobvt,M,N,A,LDA,S,U,LDU,VT,LDVT,T,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3153,11 +3153,11 @@ module morse_z complex(kind=c_double_complex), intent(out), target :: U(LDU,*) complex(kind=c_double_complex), intent(out), target :: VT(LDVT,*) real(kind=c_double), intent(out), target :: S(*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgesvd_c(jobu,jobvt,M,N,c_loc(A),LDA,c_loc(S),c_loc(U),LDU,c_loc(VT),LDVT,T) - end subroutine MORSE_zgesvd + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgesvd_c(jobu,jobvt,M,N,c_loc(A),LDA,c_loc(S),c_loc(U),LDU,c_loc(VT),LDVT,T) + end subroutine CHAMELEON_zgesvd - subroutine MORSE_zgetrf(M,N,A,LDA,IPIV,info) + subroutine CHAMELEON_zgetrf(M,N,A,LDA,IPIV,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3166,10 +3166,10 @@ module morse_z integer(kind=c_int), intent(in) :: N integer(kind=c_int), intent(out), target :: IPIV(*) complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - info = MORSE_zgetrf_c(M,N,c_loc(A),LDA,c_loc(IPIV)) - end subroutine MORSE_zgetrf + info = CHAMELEON_zgetrf_c(M,N,c_loc(A),LDA,c_loc(IPIV)) + end subroutine CHAMELEON_zgetrf - subroutine MORSE_zgetrf_incpiv(M,N,A,LDA,L,IPIV,info) + subroutine CHAMELEON_zgetrf_incpiv(M,N,A,LDA,L,IPIV,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3177,12 +3177,12 @@ module morse_z integer(kind=c_int), intent(in) :: M integer(kind=c_int), intent(in) :: N complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - type(c_ptr), value :: IPIV ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: L ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetrf_incpiv_c(M,N,c_loc(A),LDA,L,IPIV) - end subroutine MORSE_zgetrf_incpiv + type(c_ptr), value :: IPIV ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: L ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetrf_incpiv_c(M,N,c_loc(A),LDA,L,IPIV) + end subroutine CHAMELEON_zgetrf_incpiv - subroutine MORSE_zgetrf_nopiv(M,N,A,LDA,info) + subroutine CHAMELEON_zgetrf_nopiv(M,N,A,LDA,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3190,10 +3190,10 @@ module morse_z integer(kind=c_int), intent(in) :: M integer(kind=c_int), intent(in) :: N complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - info = MORSE_zgetrf_nopiv_c(M,N,c_loc(A),LDA) - end subroutine MORSE_zgetrf_nopiv + info = CHAMELEON_zgetrf_nopiv_c(M,N,c_loc(A),LDA) + end subroutine CHAMELEON_zgetrf_nopiv - subroutine MORSE_zgetrs(trans,N,NRHS,A,LDA,IPIV,B,LDB,info) + subroutine CHAMELEON_zgetrs(trans,N,NRHS,A,LDA,IPIV,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3205,10 +3205,10 @@ module morse_z integer(kind=c_int), intent(in), target :: IPIV(*) complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - info = MORSE_zgetrs_c(trans,N,NRHS,c_loc(A),LDA,c_loc(IPIV),c_loc(B),LDB) - end subroutine MORSE_zgetrs + info = CHAMELEON_zgetrs_c(trans,N,NRHS,c_loc(A),LDA,c_loc(IPIV),c_loc(B),LDB) + end subroutine CHAMELEON_zgetrs - subroutine MORSE_zgetrs_incpiv(trans,N,NRHS,A,LDA,L,IPIV,B,LDB,info) + subroutine CHAMELEON_zgetrs_incpiv(trans,N,NRHS,A,LDA,L,IPIV,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3219,13 +3219,13 @@ module morse_z integer(kind=c_int), intent(in) :: trans complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - type(c_ptr), value :: IPIV ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: L ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetrs_incpiv_c(trans,N,NRHS,c_loc(A),LDA,L,IPIV,c_loc(B),LDB) - end subroutine MORSE_zgetrs_incpiv + type(c_ptr), value :: IPIV ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: L ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetrs_incpiv_c(trans,N,NRHS,c_loc(A),LDA,L,IPIV,c_loc(B),LDB) + end subroutine CHAMELEON_zgetrs_incpiv #if defined(PRECISION_z) || defined(PRECISION_c) - subroutine MORSE_zhemm(side,uplo,M,N,alpha,A,LDA,B,LDB,beta,C,LDC,info) + subroutine CHAMELEON_zhemm(side,uplo,M,N,alpha,A,LDA,B,LDB,beta,C,LDC,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3241,10 +3241,10 @@ module morse_z complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(in), target :: B(LDB,*) complex(kind=c_double_complex), intent(inout), target :: C(LDC,*) - info = MORSE_zhemm_c(side,uplo,M,N,alpha,c_loc(A),LDA,c_loc(B),LDB,beta,c_loc(C),LDC) - end subroutine MORSE_zhemm + info = CHAMELEON_zhemm_c(side,uplo,M,N,alpha,c_loc(A),LDA,c_loc(B),LDB,beta,c_loc(C),LDC) + end subroutine CHAMELEON_zhemm - subroutine MORSE_zherk(uplo,trans,N,K,alpha,A,LDA,beta,C,LDC,info) + subroutine CHAMELEON_zherk(uplo,trans,N,K,alpha,A,LDA,beta,C,LDC,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3258,10 +3258,10 @@ module morse_z complex(kind=c_double_complex), intent(inout), target :: C(LDC,*) real(kind=c_double), intent(in) :: alpha real(kind=c_double), intent(in) :: beta - info = MORSE_zherk_c(uplo,trans,N,K,alpha,c_loc(A),LDA,beta,c_loc(C),LDC) - end subroutine MORSE_zherk + info = CHAMELEON_zherk_c(uplo,trans,N,K,alpha,c_loc(A),LDA,beta,c_loc(C),LDC) + end subroutine CHAMELEON_zherk - subroutine MORSE_zher2k(uplo,trans,N,K,alpha,A,LDA,B,LDB,beta,C,LDC,info) + subroutine CHAMELEON_zher2k(uplo,trans,N,K,alpha,A,LDA,B,LDB,beta,C,LDC,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3277,11 +3277,11 @@ module morse_z complex(kind=c_double_complex), intent(in), target :: B(LDB,*) complex(kind=c_double_complex), intent(inout), target :: C(LDC,*) real(kind=c_double), intent(in) :: beta - info = MORSE_zher2k_c(uplo,trans,N,K,alpha,c_loc(A),LDA,c_loc(B),LDB,beta,c_loc(C),LDC) - end subroutine MORSE_zher2k + info = CHAMELEON_zher2k_c(uplo,trans,N,K,alpha,c_loc(A),LDA,c_loc(B),LDB,beta,c_loc(C),LDC) + end subroutine CHAMELEON_zher2k #endif - subroutine MORSE_zheev(jobz,uplo,N,A,LDA,W,T,Q,LDQ,info) + subroutine CHAMELEON_zheev(jobz,uplo,N,A,LDA,W,T,Q,LDQ,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3293,11 +3293,11 @@ module morse_z complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) real(kind=c_double), intent(out), target :: W(*) complex(kind=c_double_complex), intent(out), target :: Q(LDQ,*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zheev_c(jobz,uplo,N,c_loc(A),LDA,c_loc(W),T,c_loc(Q),LDQ) - end subroutine MORSE_zheev + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zheev_c(jobz,uplo,N,c_loc(A),LDA,c_loc(W),T,c_loc(Q),LDQ) + end subroutine CHAMELEON_zheev - subroutine MORSE_zheevd(jobz,uplo,N,A,LDA,W,T,Q,LDQ,info) + subroutine CHAMELEON_zheevd(jobz,uplo,N,A,LDA,W,T,Q,LDQ,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3309,11 +3309,11 @@ module morse_z complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) real(kind=c_double), intent(out), target :: W(*) complex(kind=c_double_complex), intent(out), target :: Q(LDQ,*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zheevd_c(jobz,uplo,N,c_loc(A),LDA,c_loc(W),T,c_loc(Q),LDQ) - end subroutine MORSE_zheevd + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zheevd_c(jobz,uplo,N,c_loc(A),LDA,c_loc(W),T,c_loc(Q),LDQ) + end subroutine CHAMELEON_zheevd - subroutine MORSE_zhegv(itype,jobz,uplo,N,A,LDA,B,LDB,W,T,Q,LDQ,info) + subroutine CHAMELEON_zhegv(itype,jobz,uplo,N,A,LDA,B,LDB,W,T,Q,LDQ,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3328,11 +3328,11 @@ module morse_z complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) real(kind=c_double), intent(out), target :: W(*) complex(kind=c_double_complex), intent(out), target :: Q(LDQ,*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zhegv_c(itype,jobz,uplo,N,c_loc(A),LDA,c_loc(B),LDB,c_loc(W),T,c_loc(Q),LDQ) - end subroutine MORSE_zhegv + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zhegv_c(itype,jobz,uplo,N,c_loc(A),LDA,c_loc(B),LDB,c_loc(W),T,c_loc(Q),LDQ) + end subroutine CHAMELEON_zhegv - subroutine MORSE_zhegvd(itype,jobz,uplo,N,A,LDA,B,LDB,W,T,Q,LDQ,info) + subroutine CHAMELEON_zhegvd(itype,jobz,uplo,N,A,LDA,B,LDB,W,T,Q,LDQ,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3347,11 +3347,11 @@ module morse_z complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) real(kind=c_double), intent(out), target :: W(*) complex(kind=c_double_complex), intent(out), target :: Q(LDQ,*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zhegvd_c(itype,jobz,uplo,N,c_loc(A),LDA,c_loc(B),LDB,c_loc(W),T,c_loc(Q),LDQ) - end subroutine MORSE_zhegvd + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zhegvd_c(itype,jobz,uplo,N,c_loc(A),LDA,c_loc(B),LDB,c_loc(W),T,c_loc(Q),LDQ) + end subroutine CHAMELEON_zhegvd - subroutine MORSE_zhegst(itype,uplo,N,A,LDA,B,LDB,info) + subroutine CHAMELEON_zhegst(itype,uplo,N,A,LDA,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3362,10 +3362,10 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in), target :: B(LDB,*) complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - info = MORSE_zhegst_c(itype,uplo,N,c_loc(A),LDA,c_loc(B),LDB) - end subroutine MORSE_zhegst + info = CHAMELEON_zhegst_c(itype,uplo,N,c_loc(A),LDA,c_loc(B),LDB) + end subroutine CHAMELEON_zhegst - subroutine MORSE_zhetrd(jobz,uplo,N,A,LDA,D,E,descT,Q,LDQ,info) + subroutine CHAMELEON_zhetrd(jobz,uplo,N,A,LDA,D,E,descT,Q,LDQ,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3377,53 +3377,53 @@ module morse_z complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) real(kind=c_double), intent(out), target :: D(*) real(kind=c_double), intent(out), target :: E(*) - type(c_ptr), value :: descT ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: descT ! Arg managed by CHAMELEON: opaque to Fortran complex(kind=c_double_complex), intent(inout), target :: Q(LDQ,*) - info = MORSE_zhetrd_c(jobz,uplo,N,c_loc(A),LDA,c_loc(D),c_loc(E),descT,c_loc(Q),LDQ) - end subroutine MORSE_zhetrd + info = CHAMELEON_zhetrd_c(jobz,uplo,N,c_loc(A),LDA,c_loc(D),c_loc(E),descT,c_loc(Q),LDQ) + end subroutine CHAMELEON_zhetrd - function MORSE_zlange(norm,M,N,A,LDA,work) + function CHAMELEON_zlange(norm,M,N,A,LDA,work) use iso_c_binding implicit none - real(kind=c_double) :: MORSE_zlange + real(kind=c_double) :: CHAMELEON_zlange real(kind=c_double), intent(inout), target :: work(*) integer(kind=c_int), intent(in) :: norm integer(kind=c_int), intent(in) :: LDA integer(kind=c_int), intent(in) :: M integer(kind=c_int), intent(in) :: N complex(kind=c_double_complex), intent(in), target :: A(LDA,*) - MORSE_zlange = MORSE_zlange_c(norm,M,N,c_loc(A),LDA,c_loc(work)) - end function MORSE_zlange + CHAMELEON_zlange = CHAMELEON_zlange_c(norm,M,N,c_loc(A),LDA,c_loc(work)) + end function CHAMELEON_zlange #if defined(PRECISION_z) || defined(PRECISION_c) - function MORSE_zlanhe(norm,uplo,N,A,LDA,work) + function CHAMELEON_zlanhe(norm,uplo,N,A,LDA,work) use iso_c_binding implicit none - real(kind=c_double) :: MORSE_zlanhe + real(kind=c_double) :: CHAMELEON_zlanhe real(kind=c_double), intent(inout), target :: work(*) integer(kind=c_int), intent(in) :: norm integer(kind=c_int), intent(in) :: uplo integer(kind=c_int), intent(in) :: LDA integer(kind=c_int), intent(in) :: N complex(kind=c_double_complex), intent(in), target :: A(LDA,*) - MORSE_zlanhe = MORSE_zlanhe_c(norm,uplo,N,c_loc(A),LDA,c_loc(work)) - end function MORSE_zlanhe + CHAMELEON_zlanhe = CHAMELEON_zlanhe_c(norm,uplo,N,c_loc(A),LDA,c_loc(work)) + end function CHAMELEON_zlanhe #endif - function MORSE_zlansy(norm,uplo,N,A,LDA,work) + function CHAMELEON_zlansy(norm,uplo,N,A,LDA,work) use iso_c_binding implicit none - real(kind=c_double) :: MORSE_zlansy + real(kind=c_double) :: CHAMELEON_zlansy real(kind=c_double), intent(inout), target :: work(*) integer(kind=c_int), intent(in) :: norm integer(kind=c_int), intent(in) :: uplo integer(kind=c_int), intent(in) :: LDA integer(kind=c_int), intent(in) :: N complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - MORSE_zlansy = MORSE_zlansy_c(norm,uplo,N,c_loc(A),LDA,c_loc(work)) - end function MORSE_zlansy + CHAMELEON_zlansy = CHAMELEON_zlansy_c(norm,uplo,N,c_loc(A),LDA,c_loc(work)) + end function CHAMELEON_zlansy - subroutine MORSE_zlaswp(N,A,LDA,K1,K2,IPIV,INCX,info) + subroutine CHAMELEON_zlaswp(N,A,LDA,K1,K2,IPIV,INCX,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3434,10 +3434,10 @@ module morse_z integer(kind=c_int), intent(in) :: N integer(kind=c_int), intent(in), target :: IPIV(*) complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - info = MORSE_zlaswp_c(N,c_loc(A),LDA,K1,K2,c_loc(IPIV),INCX) - end subroutine MORSE_zlaswp + info = CHAMELEON_zlaswp_c(N,c_loc(A),LDA,K1,K2,c_loc(IPIV),INCX) + end subroutine CHAMELEON_zlaswp - subroutine MORSE_zlauum(uplo,N,A,LDA,info) + subroutine CHAMELEON_zlauum(uplo,N,A,LDA,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3445,11 +3445,11 @@ module morse_z integer(kind=c_int), intent(in) :: N integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - info = MORSE_zlauum_c(uplo,N,c_loc(A),LDA) - end subroutine MORSE_zlauum + info = CHAMELEON_zlauum_c(uplo,N,c_loc(A),LDA) + end subroutine CHAMELEON_zlauum #if defined(PRECISION_z) || defined(PRECISION_c) - subroutine MORSE_zplghe(bump,uplo,N,A,LDA,seed,info) + subroutine CHAMELEON_zplghe(bump,uplo,N,A,LDA,seed,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3459,11 +3459,11 @@ module morse_z integer(kind=c_int), intent(in) :: LDA integer(kind=c_long_long), intent(in) :: seed complex(kind=c_double_complex), intent(out), target :: A(LDA,*) - info = MORSE_zplghe_c(bump,N,c_loc(A),LDA,seed) - end subroutine MORSE_zplghe + info = CHAMELEON_zplghe_c(bump,N,c_loc(A),LDA,seed) + end subroutine CHAMELEON_zplghe #endif - subroutine MORSE_zplgsy(bump,uplo,N,A,LDA,seed,info) + subroutine CHAMELEON_zplgsy(bump,uplo,N,A,LDA,seed,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3473,10 +3473,10 @@ module morse_z integer(kind=c_int), intent(in) :: LDA integer(kind=c_long_long), intent(in) :: seed complex(kind=c_double_complex), intent(out), target :: A(LDA,*) - info = MORSE_zplgsy_c(bump,N,c_loc(A),LDA,seed) - end subroutine MORSE_zplgsy + info = CHAMELEON_zplgsy_c(bump,N,c_loc(A),LDA,seed) + end subroutine CHAMELEON_zplgsy - subroutine MORSE_zplrnt(M,N,A,LDA,seed,info) + subroutine CHAMELEON_zplrnt(M,N,A,LDA,seed,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3485,10 +3485,10 @@ module morse_z integer(kind=c_int), intent(in) :: LDA integer(kind=c_long_long), intent(in) :: seed complex(kind=c_double_complex), intent(out), target :: A(LDA,*) - info = MORSE_zplrnt_c(M,N,c_loc(A),LDA,seed) - end subroutine MORSE_zplrnt + info = CHAMELEON_zplrnt_c(M,N,c_loc(A),LDA,seed) + end subroutine CHAMELEON_zplrnt - subroutine MORSE_zposv(uplo,N,NRHS,A,LDA,B,LDB,info) + subroutine CHAMELEON_zposv(uplo,N,NRHS,A,LDA,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3499,10 +3499,10 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - info = MORSE_zposv_c(uplo,N,NRHS,c_loc(A),LDA,c_loc(B),LDB) - end subroutine MORSE_zposv + info = CHAMELEON_zposv_c(uplo,N,NRHS,c_loc(A),LDA,c_loc(B),LDB) + end subroutine CHAMELEON_zposv - subroutine MORSE_zpotrf(uplo,N,A,LDA,info) + subroutine CHAMELEON_zpotrf(uplo,N,A,LDA,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3510,10 +3510,10 @@ module morse_z integer(kind=c_int), intent(in) :: N integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - info = MORSE_zpotrf_c(uplo,N,c_loc(A),LDA) - end subroutine MORSE_zpotrf + info = CHAMELEON_zpotrf_c(uplo,N,c_loc(A),LDA) + end subroutine CHAMELEON_zpotrf - subroutine MORSE_zsytrf(uplo,N,A,LDA,info) + subroutine CHAMELEON_zsytrf(uplo,N,A,LDA,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3521,10 +3521,10 @@ module morse_z integer(kind=c_int), intent(in) :: N integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - info = MORSE_zsytrf_c(uplo,N,c_loc(A),LDA) - end subroutine MORSE_zsytrf + info = CHAMELEON_zsytrf_c(uplo,N,c_loc(A),LDA) + end subroutine CHAMELEON_zsytrf - subroutine MORSE_zpotri(uplo,N,A,LDA,info) + subroutine CHAMELEON_zpotri(uplo,N,A,LDA,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3532,10 +3532,10 @@ module morse_z integer(kind=c_int), intent(in) :: N integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - info = MORSE_zpotri_c(uplo,N,c_loc(A),LDA) - end subroutine MORSE_zpotri + info = CHAMELEON_zpotri_c(uplo,N,c_loc(A),LDA) + end subroutine CHAMELEON_zpotri - subroutine MORSE_zpotrs(uplo,N,NRHS,A,LDA,B,LDB,info) + subroutine CHAMELEON_zpotrs(uplo,N,NRHS,A,LDA,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3546,10 +3546,10 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - info = MORSE_zpotrs_c(uplo,N,NRHS,c_loc(A),LDA,c_loc(B),LDB) - end subroutine MORSE_zpotrs + info = CHAMELEON_zpotrs_c(uplo,N,NRHS,c_loc(A),LDA,c_loc(B),LDB) + end subroutine CHAMELEON_zpotrs - subroutine MORSE_zsytrs(uplo,N,NRHS,A,LDA,B,LDB,info) + subroutine CHAMELEON_zsytrs(uplo,N,NRHS,A,LDA,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3560,10 +3560,10 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - info = MORSE_zsytrs_c(uplo,N,NRHS,c_loc(A),LDA,c_loc(B),LDB) - end subroutine MORSE_zsytrs + info = CHAMELEON_zsytrs_c(uplo,N,NRHS,c_loc(A),LDA,c_loc(B),LDB) + end subroutine CHAMELEON_zsytrs - subroutine MORSE_zsymm(side,uplo,M,N,alpha,A,LDA,B,LDB,beta,C,LDC,info) + subroutine CHAMELEON_zsymm(side,uplo,M,N,alpha,A,LDA,B,LDB,beta,C,LDC,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3579,10 +3579,10 @@ module morse_z complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(in), target :: B(LDB,*) complex(kind=c_double_complex), intent(inout), target :: C(LDC,*) - info = MORSE_zsymm_c(side,uplo,M,N,alpha,c_loc(A),LDA,c_loc(B),LDB,beta,c_loc(C),LDC) - end subroutine MORSE_zsymm + info = CHAMELEON_zsymm_c(side,uplo,M,N,alpha,c_loc(A),LDA,c_loc(B),LDB,beta,c_loc(C),LDC) + end subroutine CHAMELEON_zsymm - subroutine MORSE_zsyrk(uplo,trans,N,K,alpha,A,LDA,beta,C,LDC,info) + subroutine CHAMELEON_zsyrk(uplo,trans,N,K,alpha,A,LDA,beta,C,LDC,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3596,10 +3596,10 @@ module morse_z complex(kind=c_double_complex), intent(in) :: beta complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: C(LDC,*) - info = MORSE_zsyrk_c(uplo,trans,N,K,alpha,c_loc(A),LDA,beta,c_loc(C),LDC) - end subroutine MORSE_zsyrk + info = CHAMELEON_zsyrk_c(uplo,trans,N,K,alpha,c_loc(A),LDA,beta,c_loc(C),LDC) + end subroutine CHAMELEON_zsyrk - subroutine MORSE_zsyr2k(uplo,trans,N,K,alpha,A,LDA,B,LDB,beta,C,LDC,info) + subroutine CHAMELEON_zsyr2k(uplo,trans,N,K,alpha,A,LDA,B,LDB,beta,C,LDC,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3615,10 +3615,10 @@ module morse_z complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(in), target :: B(LDB,*) complex(kind=c_double_complex), intent(inout), target :: C(LDC,*) - info = MORSE_zsyr2k_c(uplo,trans,N,K,alpha,c_loc(A),LDA,c_loc(B),LDB,beta,c_loc(C),LDC) - end subroutine MORSE_zsyr2k + info = CHAMELEON_zsyr2k_c(uplo,trans,N,K,alpha,c_loc(A),LDA,c_loc(B),LDB,beta,c_loc(C),LDC) + end subroutine CHAMELEON_zsyr2k - subroutine MORSE_ztrmm(side,uplo,transA,diag,N,NRHS,alpha,A,LDA,B,LDB,info) + subroutine CHAMELEON_ztrmm(side,uplo,transA,diag,N,NRHS,alpha,A,LDA,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3633,10 +3633,10 @@ module morse_z complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - info = MORSE_ztrmm_c(side,uplo,transA,diag,N,NRHS,alpha,c_loc(A),LDA,c_loc(B),LDB) - end subroutine MORSE_ztrmm + info = CHAMELEON_ztrmm_c(side,uplo,transA,diag,N,NRHS,alpha,c_loc(A),LDA,c_loc(B),LDB) + end subroutine CHAMELEON_ztrmm - subroutine MORSE_ztrsm(side,uplo,transA,diag,N,NRHS,alpha,A,LDA,B,LDB,info) + subroutine CHAMELEON_ztrsm(side,uplo,transA,diag,N,NRHS,alpha,A,LDA,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3651,10 +3651,10 @@ module morse_z complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - info = MORSE_ztrsm_c(side,uplo,transA,diag,N,NRHS,alpha,c_loc(A),LDA,c_loc(B),LDB) - end subroutine MORSE_ztrsm + info = CHAMELEON_ztrsm_c(side,uplo,transA,diag,N,NRHS,alpha,c_loc(A),LDA,c_loc(B),LDB) + end subroutine CHAMELEON_ztrsm - subroutine MORSE_ztrsmpl(N,NRHS,A,LDA,L,IPIV,B,LDB,info) + subroutine CHAMELEON_ztrsmpl(N,NRHS,A,LDA,L,IPIV,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3663,13 +3663,13 @@ module morse_z integer(kind=c_int), intent(in) :: N integer(kind=c_int), intent(in) :: NRHS complex(kind=c_double_complex), intent(in), target :: A(LDA,*) - type(c_ptr), value :: L ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: IPIV ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: L ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: IPIV ! Arg managed by CHAMELEON: opaque to Fortran complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - info = MORSE_ztrsmpl_c(N,NRHS,c_loc(A),LDA,L,IPIV,c_loc(B),LDB) - end subroutine MORSE_ztrsmpl + info = CHAMELEON_ztrsmpl_c(N,NRHS,c_loc(A),LDA,L,IPIV,c_loc(B),LDB) + end subroutine CHAMELEON_ztrsmpl - subroutine MORSE_ztrtri(uplo,diag,N,A,LDA,info) + subroutine CHAMELEON_ztrtri(uplo,diag,N,A,LDA,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3678,14 +3678,14 @@ module morse_z integer(kind=c_int), intent(in) :: diag integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - info = MORSE_ztrtri_c(uplo,diag,N,c_loc(A),LDA) - end subroutine MORSE_ztrtri + info = CHAMELEON_ztrtri_c(uplo,diag,N,c_loc(A),LDA) + end subroutine CHAMELEON_ztrtri - subroutine MORSE_zunglq(M,N,K,A,LDA,T,B,LDB,info) + subroutine CHAMELEON_zunglq(M,N,K,A,LDA,T,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran integer(kind=c_int), intent(in) :: K integer(kind=c_int), intent(in) :: LDA integer(kind=c_int), intent(in) :: LDB @@ -3693,14 +3693,14 @@ module morse_z integer(kind=c_int), intent(in) :: N complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) complex(kind=c_double_complex), intent(out), target :: B(LDB,*) - info = MORSE_zunglq_c(M,N,K,c_loc(A),LDA,T,c_loc(B),LDB) - end subroutine MORSE_zunglq + info = CHAMELEON_zunglq_c(M,N,K,c_loc(A),LDA,T,c_loc(B),LDB) + end subroutine CHAMELEON_zunglq - subroutine MORSE_zungqr(M,N,K,A,LDA,T,B,LDB,info) + subroutine CHAMELEON_zungqr(M,N,K,A,LDA,T,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran integer(kind=c_int), intent(in) :: K integer(kind=c_int), intent(in) :: LDA integer(kind=c_int), intent(in) :: LDB @@ -3708,14 +3708,14 @@ module morse_z integer(kind=c_int), intent(in) :: N complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) complex(kind=c_double_complex), intent(out), target :: B(LDB,*) - info = MORSE_zungqr_c(M,N,K,c_loc(A),LDA,T,c_loc(B),LDB) - end subroutine MORSE_zungqr + info = CHAMELEON_zungqr_c(M,N,K,c_loc(A),LDA,T,c_loc(B),LDB) + end subroutine CHAMELEON_zungqr - subroutine MORSE_zunmlq(side,trans,M,N,K,A,LDA,T,B,LDB,info) + subroutine CHAMELEON_zunmlq(side,trans,M,N,K,A,LDA,T,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran integer(kind=c_int), intent(in) :: K integer(kind=c_int), intent(in) :: LDA integer(kind=c_int), intent(in) :: LDB @@ -3725,14 +3725,14 @@ module morse_z integer(kind=c_int), intent(in) :: trans complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - info = MORSE_zunmlq_c(side,trans,M,N,K,c_loc(A),LDA,T,c_loc(B),LDB) - end subroutine MORSE_zunmlq + info = CHAMELEON_zunmlq_c(side,trans,M,N,K,c_loc(A),LDA,T,c_loc(B),LDB) + end subroutine CHAMELEON_zunmlq - subroutine MORSE_zunmqr(side,trans,M,N,K,A,LDA,T,B,LDB,info) + subroutine CHAMELEON_zunmqr(side,trans,M,N,K,A,LDA,T,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran integer(kind=c_int), intent(in) :: K integer(kind=c_int), intent(in) :: LDA integer(kind=c_int), intent(in) :: LDB @@ -3742,10 +3742,10 @@ module morse_z integer(kind=c_int), intent(in) :: trans complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - info = MORSE_zunmqr_c(side,trans,M,N,K,c_loc(A),LDA,T,c_loc(B),LDB) - end subroutine MORSE_zunmqr + info = CHAMELEON_zunmqr_c(side,trans,M,N,K,c_loc(A),LDA,T,c_loc(B),LDB) + end subroutine CHAMELEON_zunmqr - subroutine MORSE_zgecfi(m,n,A,fin,imb,inb,fout,omb,onb,info) + subroutine CHAMELEON_zgecfi(m,n,A,fin,imb,inb,fout,omb,onb,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3758,10 +3758,10 @@ module morse_z integer(kind=c_int), intent(in) :: onb integer(kind=c_int), intent(in) :: m integer(kind=c_int), intent(in) :: n - info = MORSE_zgecfi_c(m,n,c_loc(A),fin,imb,inb,fout,omb,onb) - end subroutine MORSE_zgecfi + info = CHAMELEON_zgecfi_c(m,n,c_loc(A),fin,imb,inb,fout,omb,onb) + end subroutine CHAMELEON_zgecfi - subroutine MORSE_zgetmi(m,n,A,fin,mb,nb,info) + subroutine CHAMELEON_zgetmi(m,n,A,fin,mb,nb,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3771,10 +3771,10 @@ module morse_z integer(kind=c_int), intent(in) :: nb integer(kind=c_int), intent(in) :: m integer(kind=c_int), intent(in) :: n - info = MORSE_zgetmi_c(m,n,c_loc(A),fin,mb,nb) - end subroutine MORSE_zgetmi + info = CHAMELEON_zgetmi_c(m,n,c_loc(A),fin,mb,nb) + end subroutine CHAMELEON_zgetmi - subroutine MORSE_zgetri(N,A,LDA,IPIV,info) + subroutine CHAMELEON_zgetri(N,A,LDA,IPIV,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3782,10 +3782,10 @@ module morse_z integer(kind=c_int), intent(in) :: N integer(kind=c_int), intent(in), target :: IPIV(*) complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - info = MORSE_zgetri_c(N,c_loc(A),LDA,c_loc(IPIV)) - end subroutine MORSE_zgetri + info = CHAMELEON_zgetri_c(N,c_loc(A),LDA,c_loc(IPIV)) + end subroutine CHAMELEON_zgetri - subroutine MORSE_zlacpy(uplo,M,N,A,LDA,B,LDB,info) + subroutine CHAMELEON_zlacpy(uplo,M,N,A,LDA,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3796,10 +3796,10 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(out), target :: B(LDB,*) - info = MORSE_zlacpy_c(uplo,M,N,c_loc(A),LDA,c_loc(B),LDB) - end subroutine MORSE_zlacpy + info = CHAMELEON_zlacpy_c(uplo,M,N,c_loc(A),LDA,c_loc(B),LDB) + end subroutine CHAMELEON_zlacpy - subroutine MORSE_zlaset(uplo,M,N,alpha,beta,A,LDA,info) + subroutine CHAMELEON_zlaset(uplo,M,N,alpha,beta,A,LDA,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3810,10 +3810,10 @@ module morse_z complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - info = MORSE_zlaset_c(uplo,M,N,alpha,beta,c_loc(A),LDA) - end subroutine MORSE_zlaset + info = CHAMELEON_zlaset_c(uplo,M,N,alpha,beta,c_loc(A),LDA) + end subroutine CHAMELEON_zlaset - subroutine MORSE_zlaswpc(N,A,LDA,K1,K2,IPIV,INCX,info) + subroutine CHAMELEON_zlaswpc(N,A,LDA,K1,K2,IPIV,INCX,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3824,10 +3824,10 @@ module morse_z integer(kind=c_int), intent(in) :: LDA integer(kind=c_int), intent(in) :: N complex(kind=c_double_complex), intent(inout), target :: A(LDA,*) - info = MORSE_zlaswpc_c(N,c_loc(A),LDA,K1,K2,c_loc(IPIV),INCX) - end subroutine MORSE_zlaswpc + info = CHAMELEON_zlaswpc_c(N,c_loc(A),LDA,K1,K2,c_loc(IPIV),INCX) + end subroutine CHAMELEON_zlaswpc - subroutine MORSE_ztrsmrv(side,uplo,transA,diag,N,NRHS,alpha,A,LDA,B,LDB,info) + subroutine CHAMELEON_ztrsmrv(side,uplo,transA,diag,N,NRHS,alpha,A,LDA,B,LDB,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3842,51 +3842,51 @@ module morse_z complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in), target :: A(LDA,*) complex(kind=c_double_complex), intent(inout), target :: B(LDB,*) - info = MORSE_ztrsmrv_c(side,uplo,transA,diag,N,NRHS,alpha,c_loc(A),LDA,c_loc(B),LDB) - end subroutine MORSE_ztrsmrv + info = CHAMELEON_ztrsmrv_c(side,uplo,transA,diag,N,NRHS,alpha,c_loc(A),LDA,c_loc(B),LDB) + end subroutine CHAMELEON_ztrsmrv - subroutine MORSE_zgebrd_Tile(A,D,E,T,info) + subroutine CHAMELEON_zgebrd_Tile(A,D,E,T,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info real(kind=c_double), intent(out), target :: D(*) real(kind=c_double), intent(out), target :: E(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgebrd_Tile_c(A,c_loc(D),c_loc(E),T) - end subroutine MORSE_zgebrd_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgebrd_Tile_c(A,c_loc(D),c_loc(E),T) + end subroutine CHAMELEON_zgebrd_Tile - subroutine MORSE_zgelqf_Tile(A,T,info) + subroutine CHAMELEON_zgelqf_Tile(A,T,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgelqf_Tile_c(A,T) - end subroutine MORSE_zgelqf_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgelqf_Tile_c(A,T) + end subroutine CHAMELEON_zgelqf_Tile - subroutine MORSE_zgelqs_Tile(A,T,B,info) + subroutine CHAMELEON_zgelqs_Tile(A,T,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgelqs_Tile_c(A,T,B) - end subroutine MORSE_zgelqs_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgelqs_Tile_c(A,T,B) + end subroutine CHAMELEON_zgelqs_Tile - subroutine MORSE_zgels_Tile(trans,A,T,B,info) + subroutine CHAMELEON_zgels_Tile(trans,A,T,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: trans - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgels_Tile_c(trans,A,T,B) - end subroutine MORSE_zgels_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgels_Tile_c(trans,A,T,B) + end subroutine CHAMELEON_zgels_Tile - subroutine MORSE_zgemm_Tile(transA,transB,alpha,A,B,beta,C,info) + subroutine CHAMELEON_zgemm_Tile(transA,transB,alpha,A,B,beta,C,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -3894,117 +3894,117 @@ module morse_z integer(kind=c_int), intent(in) :: transB complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgemm_Tile_c(transA,transB,alpha,A,B,beta,C) - end subroutine MORSE_zgemm_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgemm_Tile_c(transA,transB,alpha,A,B,beta,C) + end subroutine CHAMELEON_zgemm_Tile - subroutine MORSE_zgeqrf_Tile(A,T,info) + subroutine CHAMELEON_zgeqrf_Tile(A,T,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgeqrf_Tile_c(A,T) - end subroutine MORSE_zgeqrf_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgeqrf_Tile_c(A,T) + end subroutine CHAMELEON_zgeqrf_Tile - subroutine MORSE_zgeqrs_Tile(A,T,B,info) + subroutine CHAMELEON_zgeqrs_Tile(A,T,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgeqrs_Tile_c(A,T,B) - end subroutine MORSE_zgeqrs_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgeqrs_Tile_c(A,T,B) + end subroutine CHAMELEON_zgeqrs_Tile - subroutine MORSE_zgesv_Tile(A,IPIV,B,info) + subroutine CHAMELEON_zgesv_Tile(A,IPIV,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(out), target :: IPIV(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgesv_Tile_c(A,c_loc(IPIV),B) - end subroutine MORSE_zgesv_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgesv_Tile_c(A,c_loc(IPIV),B) + end subroutine CHAMELEON_zgesv_Tile - subroutine MORSE_zgesv_incpiv_Tile(A,L,IPIV,B,info) + subroutine CHAMELEON_zgesv_incpiv_Tile(A,L,IPIV,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: IPIV ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: L ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgesv_incpiv_Tile_c(A,L,IPIV,B) - end subroutine MORSE_zgesv_incpiv_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: IPIV ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: L ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgesv_incpiv_Tile_c(A,L,IPIV,B) + end subroutine CHAMELEON_zgesv_incpiv_Tile - subroutine MORSE_zgesvd_Tile(jobu,jobvt,A,S,U,VT,T,info) + subroutine CHAMELEON_zgesvd_Tile(jobu,jobvt,A,S,U,VT,T,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: jobu integer(kind=c_int), intent(in) :: jobvt real(kind=c_double), intent(out), target :: S(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: U ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: VT ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgesvd_Tile_c(jobu,jobvt,A,c_loc(S),U,VT,T) - end subroutine MORSE_zgesvd_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: U ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: VT ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgesvd_Tile_c(jobu,jobvt,A,c_loc(S),U,VT,T) + end subroutine CHAMELEON_zgesvd_Tile - subroutine MORSE_zgetrf_Tile(A,IPIV,info) + subroutine CHAMELEON_zgetrf_Tile(A,IPIV,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(out), target :: IPIV(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetrf_Tile_c(A,c_loc(IPIV)) - end subroutine MORSE_zgetrf_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetrf_Tile_c(A,c_loc(IPIV)) + end subroutine CHAMELEON_zgetrf_Tile - subroutine MORSE_zgetrf_incpiv_Tile(A,L,IPIV,info) + subroutine CHAMELEON_zgetrf_incpiv_Tile(A,L,IPIV,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: IPIV ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: L ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetrf_incpiv_Tile_c(A,L,IPIV) - end subroutine MORSE_zgetrf_incpiv_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: IPIV ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: L ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetrf_incpiv_Tile_c(A,L,IPIV) + end subroutine CHAMELEON_zgetrf_incpiv_Tile - subroutine MORSE_zgetrf_nopiv_Tile(A,info) + subroutine CHAMELEON_zgetrf_nopiv_Tile(A,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetrf_nopiv_Tile_c(A) - end subroutine MORSE_zgetrf_nopiv_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetrf_nopiv_Tile_c(A) + end subroutine CHAMELEON_zgetrf_nopiv_Tile - subroutine MORSE_zgetrs_Tile(trans,A,IPIV,B,info) + subroutine CHAMELEON_zgetrs_Tile(trans,A,IPIV,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: trans - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran integer(kind=c_int), intent(in), target :: IPIV(*) - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetrs_Tile_c(trans,A,c_loc(IPIV),B) - end subroutine MORSE_zgetrs_Tile + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetrs_Tile_c(trans,A,c_loc(IPIV),B) + end subroutine CHAMELEON_zgetrs_Tile - subroutine MORSE_zgetrs_incpiv_Tile(A,L,IPIV,B,info) + subroutine CHAMELEON_zgetrs_incpiv_Tile(A,L,IPIV,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: L ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: IPIV ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetrs_incpiv_Tile_c(A,L,IPIV,B) - end subroutine MORSE_zgetrs_incpiv_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: L ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: IPIV ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetrs_incpiv_Tile_c(A,L,IPIV,B) + end subroutine CHAMELEON_zgetrs_incpiv_Tile #if defined(PRECISION_z) || defined(PRECISION_c) - subroutine MORSE_zhemm_Tile(side,uplo,alpha,A,B,beta,C,info) + subroutine CHAMELEON_zhemm_Tile(side,uplo,alpha,A,B,beta,C,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4012,13 +4012,13 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zhemm_Tile_c(side,uplo,alpha,A,B,beta,C) - end subroutine MORSE_zhemm_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zhemm_Tile_c(side,uplo,alpha,A,B,beta,C) + end subroutine CHAMELEON_zhemm_Tile - subroutine MORSE_zherk_Tile(uplo,trans,alpha,A,beta,C,info) + subroutine CHAMELEON_zherk_Tile(uplo,trans,alpha,A,beta,C,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4026,12 +4026,12 @@ module morse_z integer(kind=c_int), intent(in) :: uplo real(kind=c_double), intent(in) :: alpha real(kind=c_double), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zherk_Tile_c(uplo,trans,alpha,A,beta,C) - end subroutine MORSE_zherk_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zherk_Tile_c(uplo,trans,alpha,A,beta,C) + end subroutine CHAMELEON_zherk_Tile - subroutine MORSE_zher2k_Tile(uplo,trans,alpha,A,B,beta,C,info) + subroutine CHAMELEON_zher2k_Tile(uplo,trans,alpha,A,B,beta,C,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4039,14 +4039,14 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha real(kind=c_double), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zher2k_Tile_c(uplo,trans,alpha,A,B,beta,C) - end subroutine MORSE_zher2k_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zher2k_Tile_c(uplo,trans,alpha,A,B,beta,C) + end subroutine CHAMELEON_zher2k_Tile #endif - subroutine MORSE_zheev_Tile(jobz,uplo,A,W,T,Q,LDQ,info) + subroutine CHAMELEON_zheev_Tile(jobz,uplo,A,W,T,Q,LDQ,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4054,13 +4054,13 @@ module morse_z integer(kind=c_int), intent(in) :: uplo integer(kind=c_int), intent(in) :: LDQ real(kind=c_double), intent(out), target :: W(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran complex(kind=c_double_complex), intent(out), target :: Q(LDQ,*) - info = MORSE_zheev_Tile_c(jobz,uplo,A,c_loc(W),T,c_loc(Q),LDQ) - end subroutine MORSE_zheev_Tile + info = CHAMELEON_zheev_Tile_c(jobz,uplo,A,c_loc(W),T,c_loc(Q),LDQ) + end subroutine CHAMELEON_zheev_Tile - subroutine MORSE_zheevd_Tile(jobz,uplo,A,W,T,Q,LDQ,info) + subroutine CHAMELEON_zheevd_Tile(jobz,uplo,A,W,T,Q,LDQ,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4068,13 +4068,13 @@ module morse_z integer(kind=c_int), intent(in) :: uplo integer(kind=c_int), intent(in) :: LDQ real(kind=c_double), intent(out), target :: W(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran complex(kind=c_double_complex), intent(out), target :: Q(LDQ,*) - info = MORSE_zheevd_Tile_c(jobz,uplo,A,c_loc(W),T,c_loc(Q),LDQ) - end subroutine MORSE_zheevd_Tile + info = CHAMELEON_zheevd_Tile_c(jobz,uplo,A,c_loc(W),T,c_loc(Q),LDQ) + end subroutine CHAMELEON_zheevd_Tile - subroutine MORSE_zhegv_Tile(itype,jobz,uplo,A,B,W,T,Q,info) + subroutine CHAMELEON_zhegv_Tile(itype,jobz,uplo,A,B,W,T,Q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4082,14 +4082,14 @@ module morse_z integer(kind=c_int), intent(in) :: jobz integer(kind=c_int), intent(in) :: uplo real(kind=c_double), intent(out), target :: W(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: Q ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zhegv_Tile_c(itype,jobz,uplo,A,B,c_loc(W),T,Q) - end subroutine MORSE_zhegv_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: Q ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zhegv_Tile_c(itype,jobz,uplo,A,B,c_loc(W),T,Q) + end subroutine CHAMELEON_zhegv_Tile - subroutine MORSE_zhegvd_Tile(itype,jobz,uplo,A,B,W,T,Q,info) + subroutine CHAMELEON_zhegvd_Tile(itype,jobz,uplo,A,B,W,T,Q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4097,74 +4097,74 @@ module morse_z integer(kind=c_int), intent(in) :: jobz integer(kind=c_int), intent(in) :: uplo real(kind=c_double), intent(out), target :: W(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: Q ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zhegvd_Tile_c(itype,jobz,uplo,A,B,c_loc(W),T,Q) - end subroutine MORSE_zhegvd_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: Q ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zhegvd_Tile_c(itype,jobz,uplo,A,B,c_loc(W),T,Q) + end subroutine CHAMELEON_zhegvd_Tile - subroutine MORSE_zhegst_Tile(itype,uplo,A,B,info) + subroutine CHAMELEON_zhegst_Tile(itype,uplo,A,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: itype integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zhegst_Tile_c(itype,uplo,A,B) - end subroutine MORSE_zhegst_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zhegst_Tile_c(itype,uplo,A,B) + end subroutine CHAMELEON_zhegst_Tile - subroutine MORSE_zhetrd_Tile(jobz,uplo,A,D,E,T,Q,LDQ,info) + subroutine CHAMELEON_zhetrd_Tile(jobz,uplo,A,D,E,T,Q,LDQ,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: jobz integer(kind=c_int), intent(in) :: uplo integer(kind=c_int), intent(in) :: LDQ - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran real(kind=c_double), intent(out), target :: D(*) real(kind=c_double), intent(out), target :: E(*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran complex(kind=c_double_complex), intent(out), target :: Q(LDQ,*) - info = MORSE_zhetrd_Tile_c(jobz,uplo,A,c_loc(D),c_loc(E),T,c_loc(Q),LDQ) - end subroutine MORSE_zhetrd_Tile + info = CHAMELEON_zhetrd_Tile_c(jobz,uplo,A,c_loc(D),c_loc(E),T,c_loc(Q),LDQ) + end subroutine CHAMELEON_zhetrd_Tile - function MORSE_zlange_Tile(norm,A,work) + function CHAMELEON_zlange_Tile(norm,A,work) use iso_c_binding implicit none - real(kind=c_double) :: MORSE_zlange_Tile + real(kind=c_double) :: CHAMELEON_zlange_Tile integer(kind=c_int), intent(in) :: norm - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran real(kind=c_double), intent(inout), target :: work(*) - MORSE_zlange_Tile = MORSE_zlange_Tile_c(norm,A,c_loc(work)) - end function MORSE_zlange_Tile + CHAMELEON_zlange_Tile = CHAMELEON_zlange_Tile_c(norm,A,c_loc(work)) + end function CHAMELEON_zlange_Tile #if defined(PRECISION_z) || defined(PRECISION_c) - function MORSE_zlanhe_Tile(norm,uplo,A,work) + function CHAMELEON_zlanhe_Tile(norm,uplo,A,work) use iso_c_binding implicit none - real(kind=c_double) :: MORSE_zlanhe_Tile + real(kind=c_double) :: CHAMELEON_zlanhe_Tile real(kind=c_double), intent(inout), target :: work(*) integer(kind=c_int), intent(in) :: norm integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - MORSE_zlanhe_Tile = MORSE_zlanhe_Tile_c(norm,uplo,A,c_loc(work)) - end function MORSE_zlanhe_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + CHAMELEON_zlanhe_Tile = CHAMELEON_zlanhe_Tile_c(norm,uplo,A,c_loc(work)) + end function CHAMELEON_zlanhe_Tile #endif - function MORSE_zlansy_Tile(norm,uplo,A,work) + function CHAMELEON_zlansy_Tile(norm,uplo,A,work) use iso_c_binding implicit none - real(kind=c_double) :: MORSE_zlansy_Tile + real(kind=c_double) :: CHAMELEON_zlansy_Tile real(kind=c_double), intent(inout), target :: work(*) integer(kind=c_int), intent(in) :: norm integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - MORSE_zlansy_Tile = MORSE_zlansy_Tile_c(norm,uplo,A,c_loc(work)) - end function MORSE_zlansy_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + CHAMELEON_zlansy_Tile = CHAMELEON_zlansy_Tile_c(norm,uplo,A,c_loc(work)) + end function CHAMELEON_zlansy_Tile - subroutine MORSE_zlaswp_Tile(A,K1,K2,IPIV,INCX,info) + subroutine CHAMELEON_zlaswp_Tile(A,K1,K2,IPIV,INCX,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4172,110 +4172,110 @@ module morse_z integer(kind=c_int), intent(in) :: K1 integer(kind=c_int), intent(in) :: K2 integer(kind=c_int), intent(in), target :: IPIV(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlaswp_Tile_c(A,K1,K2,c_loc(IPIV),INCX) - end subroutine MORSE_zlaswp_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlaswp_Tile_c(A,K1,K2,c_loc(IPIV),INCX) + end subroutine CHAMELEON_zlaswp_Tile - subroutine MORSE_zlauum_Tile(uplo,A,info) + subroutine CHAMELEON_zlauum_Tile(uplo,A,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlauum_Tile_c(uplo,A) - end subroutine MORSE_zlauum_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlauum_Tile_c(uplo,A) + end subroutine CHAMELEON_zlauum_Tile #if defined(PRECISION_z) || defined(PRECISION_c) - subroutine MORSE_zplghe_Tile(bump,uplo,A,seed,info) + subroutine CHAMELEON_zplghe_Tile(bump,uplo,A,seed,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info real(kind=c_double), intent(in) :: bump integer(kind=c_int), intent(in) :: uplo integer(kind=c_long_long), intent(in) :: seed - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zplghe_Tile_c(bump,A,seed) - end subroutine MORSE_zplghe_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zplghe_Tile_c(bump,A,seed) + end subroutine CHAMELEON_zplghe_Tile #endif - subroutine MORSE_zplgsy_Tile(bump,uplo,A,seed,info) + subroutine CHAMELEON_zplgsy_Tile(bump,uplo,A,seed,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info complex(kind=c_double_complex), intent(in) :: bump integer(kind=c_int), intent(in) :: uplo integer(kind=c_long_long), intent(in) :: seed - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zplgsy_Tile_c(bump,A,seed) - end subroutine MORSE_zplgsy_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zplgsy_Tile_c(bump,A,seed) + end subroutine CHAMELEON_zplgsy_Tile - subroutine MORSE_zplrnt_Tile(A,seed,info) + subroutine CHAMELEON_zplrnt_Tile(A,seed,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_long_long), intent(in) :: seed - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zplrnt_Tile_c(A,seed) - end subroutine MORSE_zplrnt_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zplrnt_Tile_c(A,seed) + end subroutine CHAMELEON_zplrnt_Tile - subroutine MORSE_zposv_Tile(uplo,A,B,info) + subroutine CHAMELEON_zposv_Tile(uplo,A,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zposv_Tile_c(uplo,A,B) - end subroutine MORSE_zposv_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zposv_Tile_c(uplo,A,B) + end subroutine CHAMELEON_zposv_Tile - subroutine MORSE_zpotrf_Tile(uplo,A,info) + subroutine CHAMELEON_zpotrf_Tile(uplo,A,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zpotrf_Tile_c(uplo,A) - end subroutine MORSE_zpotrf_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zpotrf_Tile_c(uplo,A) + end subroutine CHAMELEON_zpotrf_Tile - subroutine MORSE_zsytrf_Tile(uplo,A,info) + subroutine CHAMELEON_zsytrf_Tile(uplo,A,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zsytrf_Tile_c(uplo,A) - end subroutine MORSE_zsytrf_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zsytrf_Tile_c(uplo,A) + end subroutine CHAMELEON_zsytrf_Tile - subroutine MORSE_zpotri_Tile(uplo,A,info) + subroutine CHAMELEON_zpotri_Tile(uplo,A,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zpotri_Tile_c(uplo,A) - end subroutine MORSE_zpotri_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zpotri_Tile_c(uplo,A) + end subroutine CHAMELEON_zpotri_Tile - subroutine MORSE_zpotrs_Tile(uplo,A,B,info) + subroutine CHAMELEON_zpotrs_Tile(uplo,A,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zpotrs_Tile_c(uplo,A,B) - end subroutine MORSE_zpotrs_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zpotrs_Tile_c(uplo,A,B) + end subroutine CHAMELEON_zpotrs_Tile - subroutine MORSE_zsytrs_Tile(uplo,A,B,info) + subroutine CHAMELEON_zsytrs_Tile(uplo,A,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zsytrs_Tile_c(uplo,A,B) - end subroutine MORSE_zsytrs_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zsytrs_Tile_c(uplo,A,B) + end subroutine CHAMELEON_zsytrs_Tile - subroutine MORSE_zsymm_Tile(side,uplo,alpha,A,B,beta,C,info) + subroutine CHAMELEON_zsymm_Tile(side,uplo,alpha,A,B,beta,C,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4283,13 +4283,13 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zsymm_Tile_c(side,uplo,alpha,A,B,beta,C) - end subroutine MORSE_zsymm_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zsymm_Tile_c(side,uplo,alpha,A,B,beta,C) + end subroutine CHAMELEON_zsymm_Tile - subroutine MORSE_zsyrk_Tile(uplo,trans,alpha,A,beta,C,info) + subroutine CHAMELEON_zsyrk_Tile(uplo,trans,alpha,A,beta,C,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4297,12 +4297,12 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zsyrk_Tile_c(uplo,trans,alpha,A,beta,C) - end subroutine MORSE_zsyrk_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zsyrk_Tile_c(uplo,trans,alpha,A,beta,C) + end subroutine CHAMELEON_zsyrk_Tile - subroutine MORSE_zsyr2k_Tile(uplo,trans,alpha,A,B,beta,C,info) + subroutine CHAMELEON_zsyr2k_Tile(uplo,trans,alpha,A,B,beta,C,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4310,13 +4310,13 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zsyr2k_Tile_c(uplo,trans,alpha,A,B,beta,C) - end subroutine MORSE_zsyr2k_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zsyr2k_Tile_c(uplo,trans,alpha,A,B,beta,C) + end subroutine CHAMELEON_zsyr2k_Tile - subroutine MORSE_ztrmm_Tile(side,uplo,transA,diag,alpha,A,B,info) + subroutine CHAMELEON_ztrmm_Tile(side,uplo,transA,diag,alpha,A,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4325,12 +4325,12 @@ module morse_z integer(kind=c_int), intent(in) :: transA integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - info = MORSE_ztrmm_Tile_c(side,uplo,transA,diag,alpha,A,B) - end subroutine MORSE_ztrmm_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_ztrmm_Tile_c(side,uplo,transA,diag,alpha,A,B) + end subroutine CHAMELEON_ztrmm_Tile - subroutine MORSE_ztrsm_Tile(side,uplo,transA,diag,alpha,A,B,info) + subroutine CHAMELEON_ztrsm_Tile(side,uplo,transA,diag,alpha,A,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4339,107 +4339,107 @@ module morse_z integer(kind=c_int), intent(in) :: transA integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - info = MORSE_ztrsm_Tile_c(side,uplo,transA,diag,alpha,A,B) - end subroutine MORSE_ztrsm_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_ztrsm_Tile_c(side,uplo,transA,diag,alpha,A,B) + end subroutine CHAMELEON_ztrsm_Tile - subroutine MORSE_ztrsmpl_Tile(A,L,IPIV,B,info) + subroutine CHAMELEON_ztrsmpl_Tile(A,L,IPIV,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: L ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: IPIV ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - info = MORSE_ztrsmpl_Tile_c(A,L,IPIV,B) - end subroutine MORSE_ztrsmpl_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: L ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: IPIV ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_ztrsmpl_Tile_c(A,L,IPIV,B) + end subroutine CHAMELEON_ztrsmpl_Tile - subroutine MORSE_ztrtri_Tile(uplo,diag,A,info) + subroutine CHAMELEON_ztrtri_Tile(uplo,diag,A,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: diag integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_ztrtri_Tile_c(uplo,diag,A) - end subroutine MORSE_ztrtri_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_ztrtri_Tile_c(uplo,diag,A) + end subroutine CHAMELEON_ztrtri_Tile - subroutine MORSE_zunglq_Tile(A,T,B,info) + subroutine CHAMELEON_zunglq_Tile(A,T,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zunglq_Tile_c(A,T,B) - end subroutine MORSE_zunglq_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zunglq_Tile_c(A,T,B) + end subroutine CHAMELEON_zunglq_Tile - subroutine MORSE_zungqr_Tile(A,T,B,info) + subroutine CHAMELEON_zungqr_Tile(A,T,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zungqr_Tile_c(A,T,B) - end subroutine MORSE_zungqr_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zungqr_Tile_c(A,T,B) + end subroutine CHAMELEON_zungqr_Tile - subroutine MORSE_zunmlq_Tile(side,trans,A,T,B,info) + subroutine CHAMELEON_zunmlq_Tile(side,trans,A,T,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: side integer(kind=c_int), intent(in) :: trans - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zunmlq_Tile_c(side,trans,A,T,B) - end subroutine MORSE_zunmlq_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zunmlq_Tile_c(side,trans,A,T,B) + end subroutine CHAMELEON_zunmlq_Tile - subroutine MORSE_zunmqr_Tile(side,trans,A,T,B,info) + subroutine CHAMELEON_zunmqr_Tile(side,trans,A,T,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: side integer(kind=c_int), intent(in) :: trans - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zunmqr_Tile_c(side,trans,A,T,B) - end subroutine MORSE_zunmqr_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zunmqr_Tile_c(side,trans,A,T,B) + end subroutine CHAMELEON_zunmqr_Tile - subroutine MORSE_zgetri_Tile(A,IPIV,info) + subroutine CHAMELEON_zgetri_Tile(A,IPIV,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in), target :: IPIV(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetri_Tile_c(A,c_loc(IPIV)) - end subroutine MORSE_zgetri_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetri_Tile_c(A,c_loc(IPIV)) + end subroutine CHAMELEON_zgetri_Tile - subroutine MORSE_zlacpy_Tile(uplo,A,B,info) + subroutine CHAMELEON_zlacpy_Tile(uplo,A,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlacpy_Tile_c(uplo,A,B) - end subroutine MORSE_zlacpy_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlacpy_Tile_c(uplo,A,B) + end subroutine CHAMELEON_zlacpy_Tile - subroutine MORSE_zlaset_Tile(uplo,alpha,beta,A,info) + subroutine CHAMELEON_zlaset_Tile(uplo,alpha,beta,A,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlaset_Tile_c(uplo,alpha,beta,A) - end subroutine MORSE_zlaset_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlaset_Tile_c(uplo,alpha,beta,A) + end subroutine CHAMELEON_zlaset_Tile - subroutine MORSE_zlaswpc_Tile(A,K1,K2,IPIV,INCX,info) + subroutine CHAMELEON_zlaswpc_Tile(A,K1,K2,IPIV,INCX,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4447,11 +4447,11 @@ module morse_z integer(kind=c_int), intent(in) :: INCX integer(kind=c_int), intent(in) :: K1 integer(kind=c_int), intent(in) :: K2 - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlaswpc_Tile_c(A,K1,K2,c_loc(IPIV),INCX) - end subroutine MORSE_zlaswpc_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlaswpc_Tile_c(A,K1,K2,c_loc(IPIV),INCX) + end subroutine CHAMELEON_zlaswpc_Tile - subroutine MORSE_ztrsmrv_Tile(side,uplo,transA,diag,alpha,A,B,info) + subroutine CHAMELEON_ztrsmrv_Tile(side,uplo,transA,diag,alpha,A,B,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4460,37 +4460,37 @@ module morse_z integer(kind=c_int), intent(in) :: transA integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - info = MORSE_ztrsmrv_Tile_c(side,uplo,transA,diag,alpha,A,B) - end subroutine MORSE_ztrsmrv_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_ztrsmrv_Tile_c(side,uplo,transA,diag,alpha,A,B) + end subroutine CHAMELEON_ztrsmrv_Tile - subroutine MORSE_zgetri_Tile_Async(A,IPIV,W,sequence,request,info) + subroutine CHAMELEON_zgetri_Tile_Async(A,IPIV,W,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in), target :: IPIV(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: W ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetri_Tile_Async_c(A,c_loc(IPIV),W,sequence,request) - end subroutine MORSE_zgetri_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: W ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetri_Tile_Async_c(A,c_loc(IPIV),W,sequence,request) + end subroutine CHAMELEON_zgetri_Tile_Async - subroutine MORSE_zlange_Tile_Async(norm,A,work,value,sequence,request,info) + subroutine CHAMELEON_zlange_Tile_Async(norm,A,work,value,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int) :: info real(kind=c_double), intent(out), target :: value real(kind=c_double), intent(inout), target :: work(*) integer(kind=c_int), intent(in) :: norm - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlange_Tile_Async_c(norm,A,c_loc(work),c_loc(value),sequence,request) - end subroutine MORSE_zlange_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlange_Tile_Async_c(norm,A,c_loc(work),c_loc(value),sequence,request) + end subroutine CHAMELEON_zlange_Tile_Async - subroutine MORSE_zlansy_Tile_Async(norm,uplo,A,work,value,sequence,request,info) + subroutine CHAMELEON_zlansy_Tile_Async(norm,uplo,A,work,value,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int) :: info @@ -4498,26 +4498,26 @@ module morse_z real(kind=c_double), intent(inout), target :: work(*) integer(kind=c_int), intent(in) :: norm integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlansy_Tile_Async_c(norm,uplo,A,c_loc(work),c_loc(value),sequence,request) - end subroutine MORSE_zlansy_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlansy_Tile_Async_c(norm,uplo,A,c_loc(work),c_loc(value),sequence,request) + end subroutine CHAMELEON_zlansy_Tile_Async - subroutine MORSE_zgebrd_Tile_Async(A,D,E,T,sequence,request,info) + subroutine CHAMELEON_zgebrd_Tile_Async(A,D,E,T,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info real(kind=c_double), intent(out), target :: D(*) real(kind=c_double), intent(out), target :: E(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgebrd_Tile_Async_c(A,c_loc(D),c_loc(E),T,sequence,request) - end subroutine MORSE_zgebrd_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgebrd_Tile_Async_c(A,c_loc(D),c_loc(E),T,sequence,request) + end subroutine CHAMELEON_zgebrd_Tile_Async - subroutine MORSE_zgecfi_Async(m,n,A,fin,imb,inb,fout,omb,onb,sequence,request,info) + subroutine CHAMELEON_zgecfi_Async(m,n,A,fin,imb,inb,fout,omb,onb,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4530,48 +4530,48 @@ module morse_z integer(kind=c_int), intent(in) :: onb integer(kind=c_int), intent(in) :: m integer(kind=c_int), intent(in) :: n - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgecfi_Async_c(m,n,c_loc(A),fin,imb,inb,fout,omb,onb,sequence,request) - end subroutine MORSE_zgecfi_Async + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgecfi_Async_c(m,n,c_loc(A),fin,imb,inb,fout,omb,onb,sequence,request) + end subroutine CHAMELEON_zgecfi_Async - subroutine MORSE_zgelqf_Tile_Async(A,T,sequence,request,info) + subroutine CHAMELEON_zgelqf_Tile_Async(A,T,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgelqf_Tile_Async_c(A,T,sequence,request) - end subroutine MORSE_zgelqf_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgelqf_Tile_Async_c(A,T,sequence,request) + end subroutine CHAMELEON_zgelqf_Tile_Async - subroutine MORSE_zgelqs_Tile_Async(A,T,B,sequence,request,info) + subroutine CHAMELEON_zgelqs_Tile_Async(A,T,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgelqs_Tile_Async_c(A,T,B,sequence,request) - end subroutine MORSE_zgelqs_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgelqs_Tile_Async_c(A,T,B,sequence,request) + end subroutine CHAMELEON_zgelqs_Tile_Async - subroutine MORSE_zgels_Tile_Async(trans,A,T,B,sequence,request,info) + subroutine CHAMELEON_zgels_Tile_Async(trans,A,T,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: trans - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgels_Tile_Async_c(trans,A,T,B,sequence,request) - end subroutine MORSE_zgels_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgels_Tile_Async_c(trans,A,T,B,sequence,request) + end subroutine CHAMELEON_zgels_Tile_Async - subroutine MORSE_zgemm_Tile_Async(transA,transB,alpha,A,B,beta,C,sequence,request,info) + subroutine CHAMELEON_zgemm_Tile_Async(transA,transB,alpha,A,B,beta,C,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4579,79 +4579,79 @@ module morse_z integer(kind=c_int), intent(in) :: transB complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgemm_Tile_Async_c(transA,transB,alpha,A,B,beta,C,sequence,request) - end subroutine MORSE_zgemm_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgemm_Tile_Async_c(transA,transB,alpha,A,B,beta,C,sequence,request) + end subroutine CHAMELEON_zgemm_Tile_Async - subroutine MORSE_zgeqrf_Tile_Async(A,T,sequence,request,info) + subroutine CHAMELEON_zgeqrf_Tile_Async(A,T,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgeqrf_Tile_Async_c(A,T,sequence,request) - end subroutine MORSE_zgeqrf_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgeqrf_Tile_Async_c(A,T,sequence,request) + end subroutine CHAMELEON_zgeqrf_Tile_Async - subroutine MORSE_zgeqrs_Tile_Async(A,T,B,sequence,request,info) + subroutine CHAMELEON_zgeqrs_Tile_Async(A,T,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgeqrs_Tile_Async_c(A,T,B,sequence,request) - end subroutine MORSE_zgeqrs_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgeqrs_Tile_Async_c(A,T,B,sequence,request) + end subroutine CHAMELEON_zgeqrs_Tile_Async - subroutine MORSE_zgesv_Tile_Async(A,IPIV,B,sequence,request,info) + subroutine CHAMELEON_zgesv_Tile_Async(A,IPIV,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(out), target :: IPIV(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgesv_Tile_Async_c(A,c_loc(IPIV),B,sequence,request) - end subroutine MORSE_zgesv_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgesv_Tile_Async_c(A,c_loc(IPIV),B,sequence,request) + end subroutine CHAMELEON_zgesv_Tile_Async - subroutine MORSE_zgesv_incpiv_Tile_Async(A,L,IPIV,B,sequence,request,info) + subroutine CHAMELEON_zgesv_incpiv_Tile_Async(A,L,IPIV,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: IPIV ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: L ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgesv_incpiv_Tile_Async_c(A,L,IPIV,B,sequence,request) - end subroutine MORSE_zgesv_incpiv_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: IPIV ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: L ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgesv_incpiv_Tile_Async_c(A,L,IPIV,B,sequence,request) + end subroutine CHAMELEON_zgesv_incpiv_Tile_Async - subroutine MORSE_zgesvd_Tile_Async(jobu,jobvt,A,S,U,VT,T,sequence,request,info) + subroutine CHAMELEON_zgesvd_Tile_Async(jobu,jobvt,A,S,U,VT,T,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: jobu integer(kind=c_int), intent(in) :: jobvt real(kind=c_double), intent(out), target :: S(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: U ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: VT ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgesvd_Tile_Async_c(jobu,jobvt,A,c_loc(S),U,VT,T,sequence,request) - end subroutine MORSE_zgesvd_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: U ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: VT ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgesvd_Tile_Async_c(jobu,jobvt,A,c_loc(S),U,VT,T,sequence,request) + end subroutine CHAMELEON_zgesvd_Tile_Async - subroutine MORSE_zgetmi_Async(m,n,A,fin,mb,nb,sequence,request,info) + subroutine CHAMELEON_zgetmi_Async(m,n,A,fin,mb,nb,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4661,72 +4661,72 @@ module morse_z integer(kind=c_int), intent(in) :: nb integer(kind=c_int), intent(in) :: m integer(kind=c_int), intent(in) :: n - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetmi_Async_c(m,n,c_loc(A),fin,mb,nb,sequence,request) - end subroutine MORSE_zgetmi_Async + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetmi_Async_c(m,n,c_loc(A),fin,mb,nb,sequence,request) + end subroutine CHAMELEON_zgetmi_Async - subroutine MORSE_zgetrf_Tile_Async(A,IPIV,sequence,request,info) + subroutine CHAMELEON_zgetrf_Tile_Async(A,IPIV,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(out), target :: IPIV(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetrf_Tile_Async_c(A,c_loc(IPIV),sequence,request) - end subroutine MORSE_zgetrf_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetrf_Tile_Async_c(A,c_loc(IPIV),sequence,request) + end subroutine CHAMELEON_zgetrf_Tile_Async - subroutine MORSE_zgetrf_incpiv_Tile_Async(A,L,IPIV,sequence,request,info) + subroutine CHAMELEON_zgetrf_incpiv_Tile_Async(A,L,IPIV,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: IPIV ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: L ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetrf_incpiv_Tile_Async_c(A,L,IPIV,sequence,request) - end subroutine MORSE_zgetrf_incpiv_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: IPIV ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: L ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetrf_incpiv_Tile_Async_c(A,L,IPIV,sequence,request) + end subroutine CHAMELEON_zgetrf_incpiv_Tile_Async - subroutine MORSE_zgetrf_nopiv_Tile_Async(A,sequence,request,info) + subroutine CHAMELEON_zgetrf_nopiv_Tile_Async(A,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetrf_nopiv_Tile_Async_c(A,sequence,request) - end subroutine MORSE_zgetrf_nopiv_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetrf_nopiv_Tile_Async_c(A,sequence,request) + end subroutine CHAMELEON_zgetrf_nopiv_Tile_Async - subroutine MORSE_zgetrs_Tile_Async(trans,A,IPIV,B,sequence,request,info) + subroutine CHAMELEON_zgetrs_Tile_Async(trans,A,IPIV,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: trans - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran integer(kind=c_int), intent(in), target :: IPIV(*) - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetrs_Tile_Async_c(trans,A,c_loc(IPIV),B,sequence,request) - end subroutine MORSE_zgetrs_Tile_Async + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetrs_Tile_Async_c(trans,A,c_loc(IPIV),B,sequence,request) + end subroutine CHAMELEON_zgetrs_Tile_Async - subroutine MORSE_zgetrs_incpiv_Tile_Async(A,L,IPIV,B,sequence,request,info) + subroutine CHAMELEON_zgetrs_incpiv_Tile_Async(A,L,IPIV,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: L ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: IPIV ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zgetrs_incpiv_Tile_Async_c(A,L,IPIV,B,sequence,request) - end subroutine MORSE_zgetrs_incpiv_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: L ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: IPIV ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zgetrs_incpiv_Tile_Async_c(A,L,IPIV,B,sequence,request) + end subroutine CHAMELEON_zgetrs_incpiv_Tile_Async #if defined(PRECISION_z) || defined(PRECISION_c) - subroutine MORSE_zhemm_Tile_Async(side,uplo,alpha,A,B,beta,C,sequence,request,info) + subroutine CHAMELEON_zhemm_Tile_Async(side,uplo,alpha,A,B,beta,C,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4734,15 +4734,15 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zhemm_Tile_Async_c(side,uplo,alpha,A,B,beta,C,sequence,request) - end subroutine MORSE_zhemm_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zhemm_Tile_Async_c(side,uplo,alpha,A,B,beta,C,sequence,request) + end subroutine CHAMELEON_zhemm_Tile_Async - subroutine MORSE_zherk_Tile_Async(uplo,trans,alpha,A,beta,C,sequence,request,info) + subroutine CHAMELEON_zherk_Tile_Async(uplo,trans,alpha,A,beta,C,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4750,14 +4750,14 @@ module morse_z integer(kind=c_int), intent(in) :: uplo real(kind=c_double), intent(in) :: alpha real(kind=c_double), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zherk_Tile_Async_c(uplo,trans,alpha,A,beta,C,sequence,request) - end subroutine MORSE_zherk_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zherk_Tile_Async_c(uplo,trans,alpha,A,beta,C,sequence,request) + end subroutine CHAMELEON_zherk_Tile_Async - subroutine MORSE_zher2k_Tile_Async(uplo,trans,alpha,A,B,beta,C,sequence,request,info) + subroutine CHAMELEON_zher2k_Tile_Async(uplo,trans,alpha,A,B,beta,C,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4765,48 +4765,48 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha real(kind=c_double), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zher2k_Tile_Async_c(uplo,trans,alpha,A,B,beta,C,sequence,request) - end subroutine MORSE_zher2k_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zher2k_Tile_Async_c(uplo,trans,alpha,A,B,beta,C,sequence,request) + end subroutine CHAMELEON_zher2k_Tile_Async #endif - subroutine MORSE_zheev_Tile_Async(jobz,uplo,A,W,T,Q,LDQ,sequence,request,info) + subroutine CHAMELEON_zheev_Tile_Async(jobz,uplo,A,W,T,Q,LDQ,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: jobz integer(kind=c_int), intent(in) :: uplo integer(kind=c_int), intent(in) :: LDQ - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran real(kind=c_double), intent(out), target :: W(*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran complex(kind=c_double_complex), intent(out), target :: Q(LDQ, *) - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zheev_Tile_Async_c(jobz,uplo,A,c_loc(W),T,c_loc(Q),LDQ,sequence,request) - end subroutine MORSE_zheev_Tile_Async + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zheev_Tile_Async_c(jobz,uplo,A,c_loc(W),T,c_loc(Q),LDQ,sequence,request) + end subroutine CHAMELEON_zheev_Tile_Async - subroutine MORSE_zheevd_Tile_Async(jobz,uplo,A,W,T,Q,LDQ,sequence,request,info) + subroutine CHAMELEON_zheevd_Tile_Async(jobz,uplo,A,W,T,Q,LDQ,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: jobz integer(kind=c_int), intent(in) :: uplo integer(kind=c_int), intent(in) :: LDQ - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran real(kind=c_double), intent(out), target :: W(*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran complex(kind=c_double_complex), intent(out), target :: Q(LDQ, *) - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zheevd_Tile_Async_c(jobz,uplo,A,c_loc(W),T,c_loc(Q),LDQ,sequence,request) - end subroutine MORSE_zheevd_Tile_Async + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zheevd_Tile_Async_c(jobz,uplo,A,c_loc(W),T,c_loc(Q),LDQ,sequence,request) + end subroutine CHAMELEON_zheevd_Tile_Async - subroutine MORSE_zhegv_Tile_Async(itype,jobz,uplo,A,B,W,T,Q,sequence,request,info) + subroutine CHAMELEON_zhegv_Tile_Async(itype,jobz,uplo,A,B,W,T,Q,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4814,16 +4814,16 @@ module morse_z integer(kind=c_int), intent(in) :: jobz integer(kind=c_int), intent(in) :: uplo real(kind=c_double), intent(out), target :: W(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: Q ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zhegv_Tile_Async_c(itype,jobz,uplo,A,B,c_loc(W),T,Q,sequence,request) - end subroutine MORSE_zhegv_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: Q ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zhegv_Tile_Async_c(itype,jobz,uplo,A,B,c_loc(W),T,Q,sequence,request) + end subroutine CHAMELEON_zhegv_Tile_Async - subroutine MORSE_zhegvd_Tile_Async(itype,jobz,uplo,A,B,W,T,Q,sequence,request,info) + subroutine CHAMELEON_zhegvd_Tile_Async(itype,jobz,uplo,A,B,W,T,Q,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4831,47 +4831,47 @@ module morse_z integer(kind=c_int), intent(in) :: jobz integer(kind=c_int), intent(in) :: uplo real(kind=c_double), intent(out), target :: W(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: Q ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zhegvd_Tile_Async_c(itype,jobz,uplo,A,B,c_loc(W),T,Q,sequence,request) - end subroutine MORSE_zhegvd_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: Q ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zhegvd_Tile_Async_c(itype,jobz,uplo,A,B,c_loc(W),T,Q,sequence,request) + end subroutine CHAMELEON_zhegvd_Tile_Async - subroutine MORSE_zhegst_Tile_Async(itype,uplo,A,B,sequence,request,info) + subroutine CHAMELEON_zhegst_Tile_Async(itype,uplo,A,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: itype integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zhegst_Tile_Async_c(itype,uplo,A,B,sequence,request) - end subroutine MORSE_zhegst_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zhegst_Tile_Async_c(itype,uplo,A,B,sequence,request) + end subroutine CHAMELEON_zhegst_Tile_Async - subroutine MORSE_zhetrd_Tile_Async(jobz,uplo,A,D,E,T,Q,LDQ,sequence,request,info) + subroutine CHAMELEON_zhetrd_Tile_Async(jobz,uplo,A,D,E,T,Q,LDQ,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: jobz integer(kind=c_int), intent(in) :: uplo integer(kind=c_int), intent(in) :: LDQ - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran real(kind=c_double), intent(out), target :: D(*) real(kind=c_double), intent(out), target :: E(*) - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran complex(kind=c_double_complex), intent(out), target :: Q(LDQ, *) - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zhetrd_Tile_Async_c(jobz,uplo,A,c_loc(D),c_loc(E),T,c_loc(Q),LDQ,sequence,request) - end subroutine MORSE_zhetrd_Tile_Async + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zhetrd_Tile_Async_c(jobz,uplo,A,c_loc(D),c_loc(E),T,c_loc(Q),LDQ,sequence,request) + end subroutine CHAMELEON_zhetrd_Tile_Async #if defined(PRECISION_z) || defined(PRECISION_c) - subroutine MORSE_zlanhe_Tile_Async(norm,uplo,A,work,value,sequence,request,info) + subroutine CHAMELEON_zlanhe_Tile_Async(norm,uplo,A,work,value,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4879,14 +4879,14 @@ module morse_z integer(kind=c_int), intent(in) :: norm integer(kind=c_int), intent(in) :: uplo integer(kind=c_int), intent(out), target :: value - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlanhe_Tile_Async_c(norm,uplo,A,c_loc(work),c_loc(value),sequence,request) - end subroutine MORSE_zlanhe_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlanhe_Tile_Async_c(norm,uplo,A,c_loc(work),c_loc(value),sequence,request) + end subroutine CHAMELEON_zlanhe_Tile_Async #endif - subroutine MORSE_zlaswp_Tile_Async(A,K1,K2,IPIV,INCX,sequence,request,info) + subroutine CHAMELEON_zlaswp_Tile_Async(A,K1,K2,IPIV,INCX,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -4894,132 +4894,132 @@ module morse_z integer(kind=c_int), intent(in) :: K1 integer(kind=c_int), intent(in) :: K2 integer(kind=c_int), intent(in), target :: IPIV(*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlaswp_Tile_Async_c(A,K1,K2,c_loc(IPIV),INCX,sequence,request) - end subroutine MORSE_zlaswp_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlaswp_Tile_Async_c(A,K1,K2,c_loc(IPIV),INCX,sequence,request) + end subroutine CHAMELEON_zlaswp_Tile_Async - subroutine MORSE_zlauum_Tile_Async(uplo,A,sequence,request,info) + subroutine CHAMELEON_zlauum_Tile_Async(uplo,A,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlauum_Tile_Async_c(uplo,A,sequence,request) - end subroutine MORSE_zlauum_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlauum_Tile_Async_c(uplo,A,sequence,request) + end subroutine CHAMELEON_zlauum_Tile_Async #if defined(PRECISION_z) || defined(PRECISION_c) - subroutine MORSE_zplghe_Tile_Async(bump,uplo,A,seed,sequence,request,info) + subroutine CHAMELEON_zplghe_Tile_Async(bump,uplo,A,seed,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info real(kind=c_double), intent(in) :: bump integer(kind=c_int), intent(in) :: uplo integer(kind=c_long_long), intent(in) :: seed - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zplghe_Tile_Async_c(bump,A,seed,sequence,request) - end subroutine MORSE_zplghe_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zplghe_Tile_Async_c(bump,A,seed,sequence,request) + end subroutine CHAMELEON_zplghe_Tile_Async #endif - subroutine MORSE_zplgsy_Tile_Async(bump,uplo,A,seed,sequence,request,info) + subroutine CHAMELEON_zplgsy_Tile_Async(bump,uplo,A,seed,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info complex(kind=c_double_complex), intent(in) :: bump integer(kind=c_int), intent(in) :: uplo integer(kind=c_long_long), intent(in) :: seed - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zplgsy_Tile_Async_c(bump,A,seed,sequence,request) - end subroutine MORSE_zplgsy_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zplgsy_Tile_Async_c(bump,A,seed,sequence,request) + end subroutine CHAMELEON_zplgsy_Tile_Async - subroutine MORSE_zplrnt_Tile_Async(A,seed,sequence,request,info) + subroutine CHAMELEON_zplrnt_Tile_Async(A,seed,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_long_long), intent(in) :: seed - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zplrnt_Tile_Async_c(A,seed,sequence,request) - end subroutine MORSE_zplrnt_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zplrnt_Tile_Async_c(A,seed,sequence,request) + end subroutine CHAMELEON_zplrnt_Tile_Async - subroutine MORSE_zposv_Tile_Async(uplo,A,B,sequence,request,info) + subroutine CHAMELEON_zposv_Tile_Async(uplo,A,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zposv_Tile_Async_c(uplo,A,B,sequence,request) - end subroutine MORSE_zposv_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zposv_Tile_Async_c(uplo,A,B,sequence,request) + end subroutine CHAMELEON_zposv_Tile_Async - subroutine MORSE_zpotrf_Tile_Async(uplo,A,sequence,request,info) + subroutine CHAMELEON_zpotrf_Tile_Async(uplo,A,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zpotrf_Tile_Async_c(uplo,A,sequence,request) - end subroutine MORSE_zpotrf_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zpotrf_Tile_Async_c(uplo,A,sequence,request) + end subroutine CHAMELEON_zpotrf_Tile_Async - subroutine MORSE_zsytrf_Tile_Async(uplo,A,sequence,request,info) + subroutine CHAMELEON_zsytrf_Tile_Async(uplo,A,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zsytrf_Tile_Async_c(uplo,A,sequence,request) - end subroutine MORSE_zsytrf_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zsytrf_Tile_Async_c(uplo,A,sequence,request) + end subroutine CHAMELEON_zsytrf_Tile_Async - subroutine MORSE_zpotri_Tile_Async(uplo,A,sequence,request,info) + subroutine CHAMELEON_zpotri_Tile_Async(uplo,A,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zpotri_Tile_Async_c(uplo,A,sequence,request) - end subroutine MORSE_zpotri_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zpotri_Tile_Async_c(uplo,A,sequence,request) + end subroutine CHAMELEON_zpotri_Tile_Async - subroutine MORSE_zpotrs_Tile_Async(uplo,A,B,sequence,request,info) + subroutine CHAMELEON_zpotrs_Tile_Async(uplo,A,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zpotrs_Tile_Async_c(uplo,A,B,sequence,request) - end subroutine MORSE_zpotrs_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zpotrs_Tile_Async_c(uplo,A,B,sequence,request) + end subroutine CHAMELEON_zpotrs_Tile_Async - subroutine MORSE_zsytrs_Tile_Async(uplo,A,B,sequence,request,info) + subroutine CHAMELEON_zsytrs_Tile_Async(uplo,A,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zsytrs_Tile_Async_c(uplo,A,B,sequence,request) - end subroutine MORSE_zsytrs_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zsytrs_Tile_Async_c(uplo,A,B,sequence,request) + end subroutine CHAMELEON_zsytrs_Tile_Async - subroutine MORSE_zsymm_Tile_Async(side,uplo,alpha,A,B,beta,C,sequence,request,info) + subroutine CHAMELEON_zsymm_Tile_Async(side,uplo,alpha,A,B,beta,C,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5027,15 +5027,15 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zsymm_Tile_Async_c(side,uplo,alpha,A,B,beta,C,sequence,request) - end subroutine MORSE_zsymm_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zsymm_Tile_Async_c(side,uplo,alpha,A,B,beta,C,sequence,request) + end subroutine CHAMELEON_zsymm_Tile_Async - subroutine MORSE_zsyrk_Tile_Async(uplo,trans,alpha,A,beta,C,sequence,request,info) + subroutine CHAMELEON_zsyrk_Tile_Async(uplo,trans,alpha,A,beta,C,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5043,14 +5043,14 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zsyrk_Tile_Async_c(uplo,trans,alpha,A,beta,C,sequence,request) - end subroutine MORSE_zsyrk_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zsyrk_Tile_Async_c(uplo,trans,alpha,A,beta,C,sequence,request) + end subroutine CHAMELEON_zsyrk_Tile_Async - subroutine MORSE_zsyr2k_Tile_Async(uplo,trans,alpha,A,B,beta,C,sequence,request,info) + subroutine CHAMELEON_zsyr2k_Tile_Async(uplo,trans,alpha,A,B,beta,C,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5058,15 +5058,15 @@ module morse_z integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: C ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zsyr2k_Tile_Async_c(uplo,trans,alpha,A,B,beta,C,sequence,request) - end subroutine MORSE_zsyr2k_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: C ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zsyr2k_Tile_Async_c(uplo,trans,alpha,A,B,beta,C,sequence,request) + end subroutine CHAMELEON_zsyr2k_Tile_Async - subroutine MORSE_ztrmm_Tile_Async(side,uplo,transA,diag,alpha,A,B,sequence,request,info) + subroutine CHAMELEON_ztrmm_Tile_Async(side,uplo,transA,diag,alpha,A,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5075,14 +5075,14 @@ module morse_z integer(kind=c_int), intent(in) :: transA integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_ztrmm_Tile_Async_c(side,uplo,transA,diag,alpha,A,B,sequence,request) - end subroutine MORSE_ztrmm_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_ztrmm_Tile_Async_c(side,uplo,transA,diag,alpha,A,B,sequence,request) + end subroutine CHAMELEON_ztrmm_Tile_Async - subroutine MORSE_ztrsm_Tile_Async(side,uplo,transA,diag,alpha,A,B,sequence,request,info) + subroutine CHAMELEON_ztrsm_Tile_Async(side,uplo,transA,diag,alpha,A,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5091,116 +5091,116 @@ module morse_z integer(kind=c_int), intent(in) :: transA integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_ztrsm_Tile_Async_c(side,uplo,transA,diag,alpha,A,B,sequence,request) - end subroutine MORSE_ztrsm_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_ztrsm_Tile_Async_c(side,uplo,transA,diag,alpha,A,B,sequence,request) + end subroutine CHAMELEON_ztrsm_Tile_Async - subroutine MORSE_ztrsmpl_Tile_Async(A,L,IPIV,B,sequence,request,info) + subroutine CHAMELEON_ztrsmpl_Tile_Async(A,L,IPIV,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: L ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: IPIV ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_ztrsmpl_Tile_Async_c(A,L,IPIV,B,sequence,request) - end subroutine MORSE_ztrsmpl_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: L ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: IPIV ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_ztrsmpl_Tile_Async_c(A,L,IPIV,B,sequence,request) + end subroutine CHAMELEON_ztrsmpl_Tile_Async - subroutine MORSE_ztrtri_Tile_Async(uplo,diag,A,sequence,request,info) + subroutine CHAMELEON_ztrtri_Tile_Async(uplo,diag,A,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: diag integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_ztrtri_Tile_Async_c(uplo,diag,A,sequence,request) - end subroutine MORSE_ztrtri_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_ztrtri_Tile_Async_c(uplo,diag,A,sequence,request) + end subroutine CHAMELEON_ztrtri_Tile_Async - subroutine MORSE_zunglq_Tile_Async(A,T,B,sequence,request,info) + subroutine CHAMELEON_zunglq_Tile_Async(A,T,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zunglq_Tile_Async_c(A,T,B,sequence,request) - end subroutine MORSE_zunglq_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zunglq_Tile_Async_c(A,T,B,sequence,request) + end subroutine CHAMELEON_zunglq_Tile_Async - subroutine MORSE_zungqr_Tile_Async(A,T,B,sequence,request,info) + subroutine CHAMELEON_zungqr_Tile_Async(A,T,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zungqr_Tile_Async_c(A,T,B,sequence,request) - end subroutine MORSE_zungqr_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zungqr_Tile_Async_c(A,T,B,sequence,request) + end subroutine CHAMELEON_zungqr_Tile_Async - subroutine MORSE_zunmlq_Tile_Async(side,trans,A,T,B,sequence,request,info) + subroutine CHAMELEON_zunmlq_Tile_Async(side,trans,A,T,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: side integer(kind=c_int), intent(in) :: trans - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zunmlq_Tile_Async_c(side,trans,A,T,B,sequence,request) - end subroutine MORSE_zunmlq_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zunmlq_Tile_Async_c(side,trans,A,T,B,sequence,request) + end subroutine CHAMELEON_zunmlq_Tile_Async - subroutine MORSE_zunmqr_Tile_Async(side,trans,A,T,B,sequence,request,info) + subroutine CHAMELEON_zunmqr_Tile_Async(side,trans,A,T,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: side integer(kind=c_int), intent(in) :: trans - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: T ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zunmqr_Tile_Async_c(side,trans,A,T,B,sequence,request) - end subroutine MORSE_zunmqr_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: T ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zunmqr_Tile_Async_c(side,trans,A,T,B,sequence,request) + end subroutine CHAMELEON_zunmqr_Tile_Async - subroutine MORSE_zlacpy_Tile_Async(uplo,A,B,sequence,request,info) + subroutine CHAMELEON_zlacpy_Tile_Async(uplo,A,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlacpy_Tile_Async_c(uplo,A,B,sequence,request) - end subroutine MORSE_zlacpy_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlacpy_Tile_Async_c(uplo,A,B,sequence,request) + end subroutine CHAMELEON_zlacpy_Tile_Async - subroutine MORSE_zlaset_Tile_Async(uplo,alpha,beta,A,sequence,request,info) + subroutine CHAMELEON_zlaset_Tile_Async(uplo,alpha,beta,A,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha complex(kind=c_double_complex), intent(in) :: beta - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlaset_Tile_Async_c(uplo,alpha,beta,A,sequence,request) - end subroutine MORSE_zlaset_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlaset_Tile_Async_c(uplo,alpha,beta,A,sequence,request) + end subroutine CHAMELEON_zlaset_Tile_Async - subroutine MORSE_zlaswpc_Tile_Async(A,K1,K2,IPIV,INCX,sequence,request,info) + subroutine CHAMELEON_zlaswpc_Tile_Async(A,K1,K2,IPIV,INCX,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5208,13 +5208,13 @@ module morse_z integer(kind=c_int), intent(in) :: INCX integer(kind=c_int), intent(in) :: K1 integer(kind=c_int), intent(in) :: K2 - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zlaswpc_Tile_Async_c(A,K1,K2,c_loc(IPIV),INCX,sequence,request) - end subroutine MORSE_zlaswpc_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zlaswpc_Tile_Async_c(A,K1,K2,c_loc(IPIV),INCX,sequence,request) + end subroutine CHAMELEON_zlaswpc_Tile_Async - subroutine MORSE_ztrsmrv_Tile_Async(side,uplo,transA,diag,alpha,A,B,sequence,request,info) + subroutine CHAMELEON_ztrsmrv_Tile_Async(side,uplo,transA,diag,alpha,A,B,sequence,request,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5223,44 +5223,44 @@ module morse_z integer(kind=c_int), intent(in) :: transA integer(kind=c_int), intent(in) :: uplo complex(kind=c_double_complex), intent(in) :: alpha - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: B ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: sequence ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: request ! Arg managed by MORSE: opaque to Fortran - info = MORSE_ztrsmrv_Tile_Async_c(side,uplo,transA,diag,alpha,A,B,sequence,request) - end subroutine MORSE_ztrsmrv_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: B ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: sequence ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: request ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_ztrsmrv_Tile_Async_c(side,uplo,transA,diag,alpha,A,B,sequence,request) + end subroutine CHAMELEON_ztrsmrv_Tile_Async - subroutine MORSE_Alloc_Workspace_zgelqf(M,N,T,info) + subroutine CHAMELEON_Alloc_Workspace_zgelqf(M,N,T,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: M integer(kind=c_int), intent(in) :: N type(c_ptr) :: T ! T is **, so pass by reference - info = MORSE_Alloc_Workspace_zgelqf_c(M,N,T) - end subroutine MORSE_Alloc_Workspace_zgelqf + info = CHAMELEON_Alloc_Workspace_zgelqf_c(M,N,T) + end subroutine CHAMELEON_Alloc_Workspace_zgelqf - subroutine MORSE_Alloc_Workspace_zgels(M,N,T,info) + subroutine CHAMELEON_Alloc_Workspace_zgels(M,N,T,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: M integer(kind=c_int), intent(in) :: N type(c_ptr) :: T ! T is **, so pass by reference - info = MORSE_Alloc_Workspace_zgels_c(M,N,T) - end subroutine MORSE_Alloc_Workspace_zgels + info = CHAMELEON_Alloc_Workspace_zgels_c(M,N,T) + end subroutine CHAMELEON_Alloc_Workspace_zgels - subroutine MORSE_Alloc_Workspace_zgeqrf(M,N,T,info) + subroutine CHAMELEON_Alloc_Workspace_zgeqrf(M,N,T,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: M integer(kind=c_int), intent(in) :: N type(c_ptr) :: T ! T is **, so pass by reference - info = MORSE_Alloc_Workspace_zgeqrf_c(M,N,T) - end subroutine MORSE_Alloc_Workspace_zgeqrf + info = CHAMELEON_Alloc_Workspace_zgeqrf_c(M,N,T) + end subroutine CHAMELEON_Alloc_Workspace_zgeqrf - subroutine MORSE_Alloc_Workspace_zgesv_incpiv(N,L,IPIV,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zgesv_incpiv(N,L,IPIV,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5269,10 +5269,10 @@ module morse_z type(c_ptr) :: L ! L is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zgesv_incpiv_c(N,L,IPIV,p,q) - end subroutine MORSE_Alloc_Workspace_zgesv_incpiv + info = CHAMELEON_Alloc_Workspace_zgesv_incpiv_c(N,L,IPIV,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zgesv_incpiv - subroutine MORSE_Alloc_Workspace_zgetrf_incpiv(M,N,L,IPIV,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zgetrf_incpiv(M,N,L,IPIV,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5282,19 +5282,19 @@ module morse_z type(c_ptr) :: L ! L is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zgetrf_incpiv_c(M,N,L,IPIV,p,q) - end subroutine MORSE_Alloc_Workspace_zgetrf_incpiv + info = CHAMELEON_Alloc_Workspace_zgetrf_incpiv_c(M,N,L,IPIV,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zgetrf_incpiv - subroutine MORSE_Alloc_Workspace_zgeev(N,T,info) + subroutine CHAMELEON_Alloc_Workspace_zgeev(N,T,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: N type(c_ptr) :: T ! T is **, so pass by reference - info = MORSE_Alloc_Workspace_zgeev_c(N,T) - end subroutine MORSE_Alloc_Workspace_zgeev + info = CHAMELEON_Alloc_Workspace_zgeev_c(N,T) + end subroutine CHAMELEON_Alloc_Workspace_zgeev - subroutine MORSE_Alloc_Workspace_zgebrd(M,N,T,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zgebrd(M,N,T,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5303,10 +5303,10 @@ module morse_z type(c_ptr) :: T ! T is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zgebrd_c(M,N,T,p,q) - end subroutine MORSE_Alloc_Workspace_zgebrd + info = CHAMELEON_Alloc_Workspace_zgebrd_c(M,N,T,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zgebrd - subroutine MORSE_Alloc_Workspace_zgehrd(N,T,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zgehrd(N,T,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5314,10 +5314,10 @@ module morse_z type(c_ptr) :: T ! T is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zgehrd_c(N,T,p,q) - end subroutine MORSE_Alloc_Workspace_zgehrd + info = CHAMELEON_Alloc_Workspace_zgehrd_c(N,T,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zgehrd - subroutine MORSE_Alloc_Workspace_zgesvd(M,N,T,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zgesvd(M,N,T,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5326,10 +5326,10 @@ module morse_z type(c_ptr) :: T ! T is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zgesvd_c(M,N,T,p,q) - end subroutine MORSE_Alloc_Workspace_zgesvd + info = CHAMELEON_Alloc_Workspace_zgesvd_c(M,N,T,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zgesvd - subroutine MORSE_Alloc_Workspace_zheev(M,N,T,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zheev(M,N,T,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5338,10 +5338,10 @@ module morse_z type(c_ptr) :: T ! T is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zheev_c(M,N,T,p,q) - end subroutine MORSE_Alloc_Workspace_zheev + info = CHAMELEON_Alloc_Workspace_zheev_c(M,N,T,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zheev - subroutine MORSE_Alloc_Workspace_zheevd(M,N,T,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zheevd(M,N,T,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5350,10 +5350,10 @@ module morse_z type(c_ptr) :: T ! T is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zheevd_c(M,N,T,p,q) - end subroutine MORSE_Alloc_Workspace_zheevd + info = CHAMELEON_Alloc_Workspace_zheevd_c(M,N,T,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zheevd - subroutine MORSE_Alloc_Workspace_zhegv(M,N,T,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zhegv(M,N,T,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5362,10 +5362,10 @@ module morse_z type(c_ptr) :: T ! T is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zhegv_c(M,N,T,p,q) - end subroutine MORSE_Alloc_Workspace_zhegv + info = CHAMELEON_Alloc_Workspace_zhegv_c(M,N,T,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zhegv - subroutine MORSE_Alloc_Workspace_zhegvd(M,N,T,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zhegvd(M,N,T,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5374,10 +5374,10 @@ module morse_z type(c_ptr) :: T ! T is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zhegvd_c(M,N,T,p,q) - end subroutine MORSE_Alloc_Workspace_zhegvd + info = CHAMELEON_Alloc_Workspace_zhegvd_c(M,N,T,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zhegvd - subroutine MORSE_Alloc_Workspace_zhetrd(M,N,T,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zhetrd(M,N,T,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5386,10 +5386,10 @@ module morse_z type(c_ptr) :: T ! T is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zhetrd_c(M,N,T,p,q) - end subroutine MORSE_Alloc_Workspace_zhetrd + info = CHAMELEON_Alloc_Workspace_zhetrd_c(M,N,T,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zhetrd - subroutine MORSE_Alloc_Workspace_zgelqf_Tile(M,N,descT,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zgelqf_Tile(M,N,descT,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5398,10 +5398,10 @@ module morse_z type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zgelqf_Tile_c(M,N,descT,p,q) - end subroutine MORSE_Alloc_Workspace_zgelqf_Tile + info = CHAMELEON_Alloc_Workspace_zgelqf_Tile_c(M,N,descT,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zgelqf_Tile - subroutine MORSE_Alloc_Workspace_zgels_Tile(M,N,descT,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zgels_Tile(M,N,descT,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5410,10 +5410,10 @@ module morse_z type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zgels_Tile_c(M,N,descT,p,q) - end subroutine MORSE_Alloc_Workspace_zgels_Tile + info = CHAMELEON_Alloc_Workspace_zgels_Tile_c(M,N,descT,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zgels_Tile - subroutine MORSE_Alloc_Workspace_zgeqrf_Tile(M,N,descT,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zgeqrf_Tile(M,N,descT,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5422,10 +5422,10 @@ module morse_z type(c_ptr) :: descT ! descT is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zgeqrf_Tile_c(M,N,descT,p,q) - end subroutine MORSE_Alloc_Workspace_zgeqrf_Tile + info = CHAMELEON_Alloc_Workspace_zgeqrf_Tile_c(M,N,descT,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zgeqrf_Tile - subroutine MORSE_Alloc_Workspace_zgesv_incpiv_Tile(N,descL,IPIV,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile(N,descL,IPIV,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5434,10 +5434,10 @@ module morse_z type(c_ptr) :: descL ! descL is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zgesv_incpiv_Tile_c(N,descL,IPIV,p,q) - end subroutine MORSE_Alloc_Workspace_zgesv_incpiv_Tile + info = CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile_c(N,descL,IPIV,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile - subroutine MORSE_Alloc_Workspace_zgetrf_incpiv_Tile(N,descL,IPIV,p,q,info) + subroutine CHAMELEON_Alloc_Workspace_zgetrf_incpiv_Tile(N,descL,IPIV,p,q,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info @@ -5446,36 +5446,36 @@ module morse_z type(c_ptr) :: descL ! descL is **, so pass by reference integer(kind=c_int), value :: p integer(kind=c_int), value :: q - info = MORSE_Alloc_Workspace_zgetrf_incpiv_Tile_c(N,descL,IPIV,p,q) - end subroutine MORSE_Alloc_Workspace_zgetrf_incpiv_Tile + info = CHAMELEON_Alloc_Workspace_zgetrf_incpiv_Tile_c(N,descL,IPIV,p,q) + end subroutine CHAMELEON_Alloc_Workspace_zgetrf_incpiv_Tile - subroutine MORSE_Alloc_Workspace_zgetri_Tile_Async(A,W,info) + subroutine CHAMELEON_Alloc_Workspace_zgetri_Tile_Async(A,W,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - type(c_ptr), value :: W ! Arg managed by MORSE: opaque to Fortran - info = MORSE_Alloc_Workspace_zgetri_Tile_Async_c(A,W) - end subroutine MORSE_Alloc_Workspace_zgetri_Tile_Async + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + type(c_ptr), value :: W ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_Alloc_Workspace_zgetri_Tile_Async_c(A,W) + end subroutine CHAMELEON_Alloc_Workspace_zgetri_Tile_Async - subroutine MORSE_zLapack_to_Tile(Af77,LDA,A,info) + subroutine CHAMELEON_zLapack_to_Tile(Af77,LDA,A,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: LDA complex(kind=c_double_complex), intent(in), target :: Af77(LDA,*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zLapack_to_Tile_c(c_loc(Af77),LDA,A) - end subroutine MORSE_zLapack_to_Tile + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zLapack_to_Tile_c(c_loc(Af77),LDA,A) + end subroutine CHAMELEON_zLapack_to_Tile - subroutine MORSE_zTile_to_Lapack(A,Af77,LDA,info) + subroutine CHAMELEON_zTile_to_Lapack(A,Af77,LDA,info) use iso_c_binding implicit none integer(kind=c_int), intent(out) :: info integer(kind=c_int), intent(in) :: LDA complex(kind=c_double_complex), intent(out), target :: Af77(LDA,*) - type(c_ptr), value :: A ! Arg managed by MORSE: opaque to Fortran - info = MORSE_zTile_to_Lapack_c(A,c_loc(Af77),LDA) - end subroutine MORSE_zTile_to_Lapack + type(c_ptr), value :: A ! Arg managed by CHAMELEON: opaque to Fortran + info = CHAMELEON_zTile_to_Lapack_c(A,c_loc(Af77),LDA) + end subroutine CHAMELEON_zTile_to_Lapack -end module morse_z +end module chameleon_z diff --git a/control/morse_zf90_wrappers.F90 b/control/chameleon_zf90_wrappers.F90 similarity index 65% rename from control/morse_zf90_wrappers.F90 rename to control/chameleon_zf90_wrappers.F90 index ac77a3ea68e06ae9ff5fb0cbf874005714577a75..b1a957ddb9cc8640f802437704465fd44dbceb65 100644 --- a/control/morse_zf90_wrappers.F90 +++ b/control/chameleon_zf90_wrappers.F90 @@ -66,8 +66,8 @@ ! ! ! -! MORSE fortran wrapper for BLAS and LAPACK subroutines. -! MORSE is a software package provided by Univ. of Tennessee, +! CHAMELEON fortran wrapper for BLAS and LAPACK subroutines. +! CHAMELEON is a software package provided by Univ. of Tennessee, ! Univ. of California Berkeley and Univ. of Colorado Denver ! ! @version 1.0.0 @@ -79,41 +79,41 @@ ! @precisions normal z -> c d s ! ! -! Wrappers to MORSE functions are provided for the following BLAS -! subroutines since the MORSE and BLAS interfaces match exactly: -! ZGEMM MORSE_zgemm -! ZHEMM MORSE_zhemm -! ZHER2K MORSE_zher2k -! ZHERK MORSE_zherk -! ZSYMM MORSE_zsymm -! ZSYR2K MORSE_zsyr2k -! ZSYRK MORSE_zsyrk -! ZTRMM MORSE_ztrmm -! ZTRSM MORSE_ztrsm +! Wrappers to CHAMELEON functions are provided for the following BLAS +! subroutines since the CHAMELEON and BLAS interfaces match exactly: +! ZGEMM CHAMELEON_zgemm +! ZHEMM CHAMELEON_zhemm +! ZHER2K CHAMELEON_zher2k +! ZHERK CHAMELEON_zherk +! ZSYMM CHAMELEON_zsymm +! ZSYR2K CHAMELEON_zsyr2k +! ZSYRK CHAMELEON_zsyrk +! ZTRMM CHAMELEON_ztrmm +! ZTRSM CHAMELEON_ztrsm ! -! Wrappers to MORSE functions are provided for the following LAPACK -! subroutines since the MORSE and LAPACK interfaces match exactly: -! ZGESV MORSE_zgesv -! ZGETRF MORSE_zgetrf -! ZGETRS MORSE_zgetrs -! ZHEGST MORSE_zhegst -! ZLASWP MORSE_zlaswp -! ZLAUUM MORSE_zlauum -! ZPOSV MORSE_zposv -! ZSYSV MORSE_zsysv -! ZPOTRF MORSE_zpotrf -! ZSYTRF MORSE_zsytrf -! ZPOTRI MORSE_zpotri -! ZPOTRS MORSE_zpotrs -! ZSYTRS MORSE_zsytrs -! ZTRTRI MORSE_ztrtri -! ZLACPY MORSE_zlacpy -! ZLASET MORSE_zlaset +! Wrappers to CHAMELEON functions are provided for the following LAPACK +! subroutines since the CHAMELEON and LAPACK interfaces match exactly: +! ZGESV CHAMELEON_zgesv +! ZGETRF CHAMELEON_zgetrf +! ZGETRS CHAMELEON_zgetrs +! ZHEGST CHAMELEON_zhegst +! ZLASWP CHAMELEON_zlaswp +! ZLAUUM CHAMELEON_zlauum +! ZPOSV CHAMELEON_zposv +! ZSYSV CHAMELEON_zsysv +! ZPOTRF CHAMELEON_zpotrf +! ZSYTRF CHAMELEON_zsytrf +! ZPOTRI CHAMELEON_zpotri +! ZPOTRS CHAMELEON_zpotrs +! ZSYTRS CHAMELEON_zsytrs +! ZTRTRI CHAMELEON_ztrtri +! ZLACPY CHAMELEON_zlacpy +! ZLASET CHAMELEON_zlaset #define PRECISION_z - subroutine morse_wrap_ZGESV(N,NRHS,A,LDA,IPIV,B,LDB,INFO) + subroutine chameleon_wrap_ZGESV(N,NRHS,A,LDA,IPIV,B,LDB,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -124,14 +124,14 @@ integer, intent(out), target :: IPIV(*) complex(kind=wp), intent(inout), target :: A(LDA,*) complex(kind=wp), intent(inout), target :: B(LDB,*) - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZGESV" - call MORSE_ZGESV(N,NRHS,A,LDA,IPIV,B,LDB,INFO) - end subroutine morse_wrap_ZGESV + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZGESV" + call CHAMELEON_ZGESV(N,NRHS,A,LDA,IPIV,B,LDB,INFO) + end subroutine chameleon_wrap_ZGESV - subroutine morse_wrap_ZGETRF(M,N,A,LDA,IPIV,INFO) + subroutine chameleon_wrap_ZGETRF(M,N,A,LDA,IPIV,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -140,14 +140,14 @@ integer, intent(out) :: INFO integer, intent(out), target :: IPIV(*) complex(kind=wp), intent(inout), target :: A(LDA,*) - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZGETRF" - call MORSE_ZGETRF(M,N,A,LDA,IPIV,INFO) - end subroutine morse_wrap_ZGETRF + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZGETRF" + call CHAMELEON_ZGETRF(M,N,A,LDA,IPIV,INFO) + end subroutine chameleon_wrap_ZGETRF - subroutine morse_wrap_ZGETRS(TRANS,N,NRHS,A,LDA,IPIV,B,LDB,INFO) + subroutine chameleon_wrap_ZGETRS(TRANS,N,NRHS,A,LDA,IPIV,B,LDB,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -161,22 +161,22 @@ complex(kind=wp), intent(inout), target :: B(LDB,*) integer :: local_TRANS if(TRANS=='N' .or. TRANS=='n')then - local_TRANS = MorseNoTrans + local_TRANS = ChamNoTrans else if(TRANS=='T' .or. TRANS=='t')then - local_TRANS = MorseTrans + local_TRANS = ChamTrans else if(TRANS=='C' .or. TRANS=='c')then - local_TRANS = MorseConjTrans + local_TRANS = ChamConjTrans else local_TRANS = -1 end if - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZGETRS" - call MORSE_ZGETRS(local_TRANS,N,NRHS,A,LDA,IPIV,B,LDB,INFO) - end subroutine morse_wrap_ZGETRS + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZGETRS" + call CHAMELEON_ZGETRS(local_TRANS,N,NRHS,A,LDA,IPIV,B,LDB,INFO) + end subroutine chameleon_wrap_ZGETRS - subroutine morse_wrap_ZHEGST(ITYPE,UPLO,N,A,LDA,B,LDB,INFO) + subroutine chameleon_wrap_ZHEGST(ITYPE,UPLO,N,A,LDA,B,LDB,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: ITYPE @@ -189,20 +189,20 @@ complex(kind=wp), intent(inout), target :: A(LDA,*) integer :: local_UPLO if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZHEGST" - call MORSE_ZHEGST(ITYPE,local_UPLO,N,A,LDA,B,LDB,INFO) - end subroutine morse_wrap_ZHEGST + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZHEGST" + call CHAMELEON_ZHEGST(ITYPE,local_UPLO,N,A,LDA,B,LDB,INFO) + end subroutine chameleon_wrap_ZHEGST - subroutine morse_wrap_ZLASWP(N,A,LDA,K1,K2,IPIV,INCX) + subroutine chameleon_wrap_ZLASWP(N,A,LDA,K1,K2,IPIV,INCX) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: INCX @@ -213,14 +213,14 @@ integer, intent(in), target :: IPIV(*) complex(kind=wp), intent(inout), target :: A(LDA,*) integer :: local_ret - if (.not. morse_initialized) call morse_init(24,local_ret) - ! write(*,*) " Calling MORSE_ZLASWP" - call MORSE_ZLASWP(N,A,LDA,K1,K2,IPIV,INCX,local_ret) - end subroutine morse_wrap_ZLASWP + if (.not. chameleon_initialized) call chameleon_init(24,local_ret) + ! write(*,*) " Calling CHAMELEON_ZLASWP" + call CHAMELEON_ZLASWP(N,A,LDA,K1,K2,IPIV,INCX,local_ret) + end subroutine chameleon_wrap_ZLASWP - subroutine morse_wrap_ZLAUUM(UPLO,N,A,LDA,INFO) + subroutine chameleon_wrap_ZLAUUM(UPLO,N,A,LDA,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -230,20 +230,20 @@ complex(kind=wp), intent(inout), target :: A(LDA,*) integer :: local_UPLO if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZLAUUM" - call MORSE_ZLAUUM(local_UPLO,N,A,LDA,INFO) - end subroutine morse_wrap_ZLAUUM + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZLAUUM" + call CHAMELEON_ZLAUUM(local_UPLO,N,A,LDA,INFO) + end subroutine chameleon_wrap_ZLAUUM - subroutine morse_wrap_ZPOSV(UPLO,N,NRHS,A,LDA,B,LDB,INFO) + subroutine chameleon_wrap_ZPOSV(UPLO,N,NRHS,A,LDA,B,LDB,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -256,20 +256,20 @@ complex(kind=wp), intent(inout), target :: B(LDB,*) integer :: local_UPLO if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZPOSV" - call MORSE_ZPOSV(local_UPLO,N,NRHS,A,LDA,B,LDB,INFO) - end subroutine morse_wrap_ZPOSV + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZPOSV" + call CHAMELEON_ZPOSV(local_UPLO,N,NRHS,A,LDA,B,LDB,INFO) + end subroutine chameleon_wrap_ZPOSV - subroutine morse_wrap_ZSYSV(UPLO,N,NRHS,A,LDA,B,LDB,INFO) + subroutine chameleon_wrap_ZSYSV(UPLO,N,NRHS,A,LDA,B,LDB,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -282,20 +282,20 @@ complex(kind=wp), intent(inout), target :: B(LDB,*) integer :: local_UPLO if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZSYSV" - call MORSE_ZSYSV(local_UPLO,N,NRHS,A,LDA,B,LDB,INFO) - end subroutine morse_wrap_ZSYSV + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZSYSV" + call CHAMELEON_ZSYSV(local_UPLO,N,NRHS,A,LDA,B,LDB,INFO) + end subroutine chameleon_wrap_ZSYSV - subroutine morse_wrap_ZPOTRF(UPLO,N,A,LDA,INFO) + subroutine chameleon_wrap_ZPOTRF(UPLO,N,A,LDA,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -305,20 +305,20 @@ complex(kind=wp), intent(inout), target :: A(LDA,*) integer :: local_UPLO if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZPOTRF" - call MORSE_ZPOTRF(local_UPLO,N,A,LDA,INFO) - end subroutine morse_wrap_ZPOTRF + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZPOTRF" + call CHAMELEON_ZPOTRF(local_UPLO,N,A,LDA,INFO) + end subroutine chameleon_wrap_ZPOTRF - subroutine morse_wrap_ZSYTRF(UPLO,N,A,LDA,INFO) + subroutine chameleon_wrap_ZSYTRF(UPLO,N,A,LDA,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -328,20 +328,20 @@ complex(kind=wp), intent(inout), target :: A(LDA,*) integer :: local_UPLO if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZSYTRF" - call MORSE_ZSYTRF(local_UPLO,N,A,LDA,INFO) - end subroutine morse_wrap_ZSYTRF + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZSYTRF" + call CHAMELEON_ZSYTRF(local_UPLO,N,A,LDA,INFO) + end subroutine chameleon_wrap_ZSYTRF - subroutine morse_wrap_ZPOTRI(UPLO,N,A,LDA,INFO) + subroutine chameleon_wrap_ZPOTRI(UPLO,N,A,LDA,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -351,20 +351,20 @@ complex(kind=wp), intent(inout), target :: A(LDA,*) integer :: local_UPLO if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZPOTRI" - call MORSE_ZPOTRI(local_UPLO,N,A,LDA,INFO) - end subroutine morse_wrap_ZPOTRI + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZPOTRI" + call CHAMELEON_ZPOTRI(local_UPLO,N,A,LDA,INFO) + end subroutine chameleon_wrap_ZPOTRI - subroutine morse_wrap_ZPOTRS(UPLO,N,NRHS,A,LDA,B,LDB,INFO) + subroutine chameleon_wrap_ZPOTRS(UPLO,N,NRHS,A,LDA,B,LDB,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -377,20 +377,20 @@ complex(kind=wp), intent(inout), target :: B(LDB,*) integer :: local_UPLO if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZPOTRS" - call MORSE_ZPOTRS(local_UPLO,N,NRHS,A,LDA,B,LDB,INFO) - end subroutine morse_wrap_ZPOTRS + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZPOTRS" + call CHAMELEON_ZPOTRS(local_UPLO,N,NRHS,A,LDA,B,LDB,INFO) + end subroutine chameleon_wrap_ZPOTRS - subroutine morse_wrap_ZSYTRS(UPLO,N,NRHS,A,LDA,B,LDB,INFO) + subroutine chameleon_wrap_ZSYTRS(UPLO,N,NRHS,A,LDA,B,LDB,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -403,20 +403,20 @@ complex(kind=wp), intent(inout), target :: B(LDB,*) integer :: local_UPLO if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZSYTRS" - call MORSE_ZSYTRS(local_UPLO,N,NRHS,A,LDA,B,LDB,INFO) - end subroutine morse_wrap_ZSYTRS + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZSYTRS" + call CHAMELEON_ZSYTRS(local_UPLO,N,NRHS,A,LDA,B,LDB,INFO) + end subroutine chameleon_wrap_ZSYTRS - subroutine morse_wrap_ZTRTRI(UPLO,DIAG,N,A,LDA,INFO) + subroutine chameleon_wrap_ZTRTRI(UPLO,DIAG,N,A,LDA,INFO) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -428,27 +428,27 @@ integer :: local_DIAG integer :: local_UPLO if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if if(DIAG=='U' .or. DIAG=='u')then - local_DIAG = MorseUnit + local_DIAG = ChamUnit else if(DIAG=='N' .or. DIAG=='n')then - local_DIAG = MorseNonUnit + local_DIAG = ChamNonUnit else local_DIAG = -1 end if - if (.not. morse_initialized) call morse_init(24,INFO) - ! write(*,*) " Calling MORSE_ZTRTRI" - call MORSE_ZTRTRI(local_UPLO,local_DIAG,N,A,LDA,INFO) - end subroutine morse_wrap_ZTRTRI + if (.not. chameleon_initialized) call chameleon_init(24,INFO) + ! write(*,*) " Calling CHAMELEON_ZTRTRI" + call CHAMELEON_ZTRTRI(local_UPLO,local_DIAG,N,A,LDA,INFO) + end subroutine chameleon_wrap_ZTRTRI - subroutine morse_wrap_ZGEMM(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC) + subroutine chameleon_wrap_ZGEMM(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: K @@ -468,32 +468,32 @@ integer :: local_TRANSB integer :: local_ret if(TRANSA=='N' .or. TRANSA=='n')then - local_TRANSA = MorseNoTrans + local_TRANSA = ChamNoTrans else if(TRANSA=='T' .or. TRANSA=='t')then - local_TRANSA = MorseTrans + local_TRANSA = ChamTrans else if(TRANSA=='C' .or. TRANSA=='c')then - local_TRANSA = MorseConjTrans + local_TRANSA = ChamConjTrans else local_TRANSA = -1 end if if(TRANSB=='N' .or. TRANSB=='n')then - local_TRANSB = MorseNoTrans + local_TRANSB = ChamNoTrans else if(TRANSB=='T' .or. TRANSB=='t')then - local_TRANSB = MorseTrans + local_TRANSB = ChamTrans else if(TRANSB=='C' .or. TRANSB=='c')then - local_TRANSB = MorseConjTrans + local_TRANSB = ChamConjTrans else local_TRANSB = -1 end if - if (.not. morse_initialized) call morse_init(24,local_ret) - ! write(*,*) " Calling MORSE_ZGEMM" - call MORSE_ZGEMM(local_TRANSA,local_TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC,local_ret) - end subroutine morse_wrap_ZGEMM + if (.not. chameleon_initialized) call chameleon_init(24,local_ret) + ! write(*,*) " Calling CHAMELEON_ZGEMM" + call CHAMELEON_ZGEMM(local_TRANSA,local_TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC,local_ret) + end subroutine chameleon_wrap_ZGEMM #if defined(PRECISION_z) || defined(PRECISION_c) - subroutine morse_wrap_ZHEMM(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC) + subroutine chameleon_wrap_ZHEMM(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -512,27 +512,27 @@ integer :: local_UPLO integer :: local_ret if(SIDE=='L' .or. SIDE=='l')then - local_SIDE = MorseLeft + local_SIDE = ChamLeft else if(SIDE=='R' .or. SIDE=='r')then - local_SIDE = MorseRight + local_SIDE = ChamRight else local_SIDE = -1 end if if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,local_ret) - ! write(*,*) " Calling MORSE_ZHEMM" - call MORSE_ZHEMM(local_SIDE,local_UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC,local_ret) - end subroutine morse_wrap_ZHEMM + if (.not. chameleon_initialized) call chameleon_init(24,local_ret) + ! write(*,*) " Calling CHAMELEON_ZHEMM" + call CHAMELEON_ZHEMM(local_SIDE,local_UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC,local_ret) + end subroutine chameleon_wrap_ZHEMM - subroutine morse_wrap_ZHER2K(UPLO,TRANS,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC) + subroutine chameleon_wrap_ZHER2K(UPLO,TRANS,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: K @@ -551,29 +551,29 @@ integer :: local_UPLO integer :: local_ret if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if if(TRANS=='N' .or. TRANS=='n')then - local_TRANS = MorseNoTrans + local_TRANS = ChamNoTrans else if(TRANS=='T' .or. TRANS=='t')then - local_TRANS = MorseTrans + local_TRANS = ChamTrans else if(TRANS=='C' .or. TRANS=='c')then - local_TRANS = MorseConjTrans + local_TRANS = ChamConjTrans else local_TRANS = -1 end if - if (.not. morse_initialized) call morse_init(24,local_ret) - ! write(*,*) " Calling MORSE_ZHER2K" - call MORSE_ZHER2K(local_UPLO,local_TRANS,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC,local_ret) - end subroutine morse_wrap_ZHER2K + if (.not. chameleon_initialized) call chameleon_init(24,local_ret) + ! write(*,*) " Calling CHAMELEON_ZHER2K" + call CHAMELEON_ZHER2K(local_UPLO,local_TRANS,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC,local_ret) + end subroutine chameleon_wrap_ZHER2K - subroutine morse_wrap_ZHERK(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC) + subroutine chameleon_wrap_ZHERK(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: K @@ -590,30 +590,30 @@ integer :: local_UPLO integer :: local_ret if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if if(TRANS=='N' .or. TRANS=='n')then - local_TRANS = MorseNoTrans + local_TRANS = ChamNoTrans else if(TRANS=='T' .or. TRANS=='t')then - local_TRANS = MorseTrans + local_TRANS = ChamTrans else if(TRANS=='C' .or. TRANS=='c')then - local_TRANS = MorseConjTrans + local_TRANS = ChamConjTrans else local_TRANS = -1 end if - if (.not. morse_initialized) call morse_init(24,local_ret) - ! write(*,*) " Calling MORSE_ZHERK" - call MORSE_ZHERK(local_UPLO,local_TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC,local_ret) - end subroutine morse_wrap_ZHERK + if (.not. chameleon_initialized) call chameleon_init(24,local_ret) + ! write(*,*) " Calling CHAMELEON_ZHERK" + call CHAMELEON_ZHERK(local_UPLO,local_TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC,local_ret) + end subroutine chameleon_wrap_ZHERK #endif - subroutine morse_wrap_ZSYMM(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC) + subroutine chameleon_wrap_ZSYMM(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -632,27 +632,27 @@ integer :: local_UPLO integer :: local_ret if(SIDE=='L' .or. SIDE=='l')then - local_SIDE = MorseLeft + local_SIDE = ChamLeft else if(SIDE=='R' .or. SIDE=='r')then - local_SIDE = MorseRight + local_SIDE = ChamRight else local_SIDE = -1 end if if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,local_ret) - ! write(*,*) " Calling MORSE_ZSYMM" - call MORSE_ZSYMM(local_SIDE,local_UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC,local_ret) - end subroutine morse_wrap_ZSYMM + if (.not. chameleon_initialized) call chameleon_init(24,local_ret) + ! write(*,*) " Calling CHAMELEON_ZSYMM" + call CHAMELEON_ZSYMM(local_SIDE,local_UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC,local_ret) + end subroutine chameleon_wrap_ZSYMM - subroutine morse_wrap_ZSYR2K(UPLO,TRANS,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC) + subroutine chameleon_wrap_ZSYR2K(UPLO,TRANS,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: K @@ -671,29 +671,29 @@ integer :: local_UPLO integer :: local_ret if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if if(TRANS=='N' .or. TRANS=='n')then - local_TRANS = MorseNoTrans + local_TRANS = ChamNoTrans else if(TRANS=='T' .or. TRANS=='t')then - local_TRANS = MorseTrans + local_TRANS = ChamTrans else if(TRANS=='C' .or. TRANS=='c')then - local_TRANS = MorseConjTrans + local_TRANS = ChamConjTrans else local_TRANS = -1 end if - if (.not. morse_initialized) call morse_init(24,local_ret) - ! write(*,*) " Calling MORSE_ZSYR2K" - call MORSE_ZSYR2K(local_UPLO,local_TRANS,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC,local_ret) - end subroutine morse_wrap_ZSYR2K + if (.not. chameleon_initialized) call chameleon_init(24,local_ret) + ! write(*,*) " Calling CHAMELEON_ZSYR2K" + call CHAMELEON_ZSYR2K(local_UPLO,local_TRANS,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC,local_ret) + end subroutine chameleon_wrap_ZSYR2K - subroutine morse_wrap_ZSYRK(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC) + subroutine chameleon_wrap_ZSYRK(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: K @@ -710,29 +710,29 @@ integer :: local_UPLO integer :: local_ret if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if if(TRANS=='N' .or. TRANS=='n')then - local_TRANS = MorseNoTrans + local_TRANS = ChamNoTrans else if(TRANS=='T' .or. TRANS=='t')then - local_TRANS = MorseTrans + local_TRANS = ChamTrans else if(TRANS=='C' .or. TRANS=='c')then - local_TRANS = MorseConjTrans + local_TRANS = ChamConjTrans else local_TRANS = -1 end if - if (.not. morse_initialized) call morse_init(24,local_ret) - ! write(*,*) " Calling MORSE_ZSYRK" - call MORSE_ZSYRK(local_UPLO,local_TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC,local_ret) - end subroutine morse_wrap_ZSYRK + if (.not. chameleon_initialized) call chameleon_init(24,local_ret) + ! write(*,*) " Calling CHAMELEON_ZSYRK" + call CHAMELEON_ZSYRK(local_UPLO,local_TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC,local_ret) + end subroutine chameleon_wrap_ZSYRK - subroutine morse_wrap_ZTRMM(SIDE,UPLO,TRANSA,DIAG,M,N,ALPHA,A,LDA,B,LDB) + subroutine chameleon_wrap_ZTRMM(SIDE,UPLO,TRANSA,DIAG,M,N,ALPHA,A,LDA,B,LDB) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -752,43 +752,43 @@ integer :: local_UPLO integer :: local_ret if(SIDE=='L' .or. SIDE=='l')then - local_SIDE = MorseLeft + local_SIDE = ChamLeft else if(SIDE=='R' .or. SIDE=='r')then - local_SIDE = MorseRight + local_SIDE = ChamRight else local_SIDE = -1 end if if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if if(TRANSA=='N' .or. TRANSA=='n')then - local_TRANSA = MorseNoTrans + local_TRANSA = ChamNoTrans else if(TRANSA=='T' .or. TRANSA=='t')then - local_TRANSA = MorseTrans + local_TRANSA = ChamTrans else if(TRANSA=='C' .or. TRANSA=='c')then - local_TRANSA = MorseConjTrans + local_TRANSA = ChamConjTrans else local_TRANSA = -1 end if if(DIAG=='U' .or. DIAG=='u')then - local_DIAG = MorseUnit + local_DIAG = ChamUnit else if(DIAG=='N' .or. DIAG=='n')then - local_DIAG = MorseNonUnit + local_DIAG = ChamNonUnit else local_DIAG = -1 end if - if (.not. morse_initialized) call morse_init(24,local_ret) - ! write(*,*) " Calling MORSE_ZTRMM" - call MORSE_ZTRMM(local_SIDE,local_UPLO,local_TRANSA,local_DIAG,M,N,ALPHA,A,LDA,B,LDB,local_ret) - end subroutine morse_wrap_ZTRMM + if (.not. chameleon_initialized) call chameleon_init(24,local_ret) + ! write(*,*) " Calling CHAMELEON_ZTRMM" + call CHAMELEON_ZTRMM(local_SIDE,local_UPLO,local_TRANSA,local_DIAG,M,N,ALPHA,A,LDA,B,LDB,local_ret) + end subroutine chameleon_wrap_ZTRMM - subroutine morse_wrap_ZTRSM(SIDE,UPLO,TRANSA,DIAG,M,N,ALPHA,A,LDA,B,LDB) + subroutine chameleon_wrap_ZTRSM(SIDE,UPLO,TRANSA,DIAG,M,N,ALPHA,A,LDA,B,LDB) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -808,43 +808,43 @@ integer :: local_UPLO integer :: local_ret if(SIDE=='L' .or. SIDE=='l')then - local_SIDE = MorseLeft + local_SIDE = ChamLeft else if(SIDE=='R' .or. SIDE=='r')then - local_SIDE = MorseRight + local_SIDE = ChamRight else local_SIDE = -1 end if if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if if(TRANSA=='N' .or. TRANSA=='n')then - local_TRANSA = MorseNoTrans + local_TRANSA = ChamNoTrans else if(TRANSA=='T' .or. TRANSA=='t')then - local_TRANSA = MorseTrans + local_TRANSA = ChamTrans else if(TRANSA=='C' .or. TRANSA=='c')then - local_TRANSA = MorseConjTrans + local_TRANSA = ChamConjTrans else local_TRANSA = -1 end if if(DIAG=='U' .or. DIAG=='u')then - local_DIAG = MorseUnit + local_DIAG = ChamUnit else if(DIAG=='N' .or. DIAG=='n')then - local_DIAG = MorseNonUnit + local_DIAG = ChamNonUnit else local_DIAG = -1 end if - if (.not. morse_initialized) call morse_init(24,local_ret) - ! write(*,*) " Calling MORSE_ZTRSM" - call MORSE_ZTRSM(local_SIDE,local_UPLO,local_TRANSA,local_DIAG,M,N,ALPHA,A,LDA,B,LDB,local_ret) - end subroutine morse_wrap_ZTRSM + if (.not. chameleon_initialized) call chameleon_init(24,local_ret) + ! write(*,*) " Calling CHAMELEON_ZTRSM" + call CHAMELEON_ZTRSM(local_SIDE,local_UPLO,local_TRANSA,local_DIAG,M,N,ALPHA,A,LDA,B,LDB,local_ret) + end subroutine chameleon_wrap_ZTRSM - subroutine morse_wrap_ZLACPY(UPLO,M,N,A,LDA,B,LDB) + subroutine chameleon_wrap_ZLACPY(UPLO,M,N,A,LDA,B,LDB) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -857,20 +857,20 @@ integer :: local_UPLO integer :: local_ret if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,local_ret) - ! write(*,*) " Calling MORSE_ZLACPY" - call MORSE_ZLACPY(local_UPLO,M,N,A,LDA,B,LDB,local_ret) - end subroutine morse_wrap_ZLACPY + if (.not. chameleon_initialized) call chameleon_init(24,local_ret) + ! write(*,*) " Calling CHAMELEON_ZLACPY" + call CHAMELEON_ZLACPY(local_UPLO,M,N,A,LDA,B,LDB,local_ret) + end subroutine chameleon_wrap_ZLACPY - subroutine morse_wrap_ZLASET(UPLO,M,N,ALPHA,BETA,A,LDA) + subroutine chameleon_wrap_ZLASET(UPLO,M,N,ALPHA,BETA,A,LDA) use iso_c_binding - use morse + use chameleon implicit none integer, parameter :: wp = kind(0.0d0) integer, intent(in) :: LDA @@ -883,13 +883,13 @@ integer :: local_UPLO integer :: local_ret if(UPLO=='U' .or. UPLO=='u')then - local_UPLO = MorseUpper + local_UPLO = ChamUpper else if(UPLO=='L' .or. UPLO=='l')then - local_UPLO = MorseLower + local_UPLO = ChamLower else local_UPLO = -1 end if - if (.not. morse_initialized) call morse_init(24,local_ret) - ! write(*,*) " Calling MORSE_ZLASET" - call MORSE_ZLASET(local_UPLO,M,N,ALPHA,BETA,A,LDA,local_ret) - end subroutine morse_wrap_ZLASET + if (.not. chameleon_initialized) call chameleon_init(24,local_ret) + ! write(*,*) " Calling CHAMELEON_ZLASET" + call CHAMELEON_ZLASET(local_UPLO,M,N,ALPHA,BETA,A,LDA,local_ret) + end subroutine chameleon_wrap_ZLASET diff --git a/control/morsewinthread.c b/control/chameleonwinthread.c similarity index 72% rename from control/morsewinthread.c rename to control/chameleonwinthread.c index 5aad40bd2730ea8aa58268fad45280c5ef05fb16..25d53b19d253abef675615505cab0f83fc3df0cf 100644 --- a/control/morsewinthread.c +++ b/control/chameleonwinthread.c @@ -1,6 +1,6 @@ /** * - * @file morsewinthread.c + * @file chameleonwinthread.c * * @copyright 2009-2014 The University of Tennessee and The University of * Tennessee Research Foundation. All rights reserved. @@ -17,7 +17,7 @@ * @date 2012-09-15 * */ -#include "control/morsewinthread.h" +#include "control/chameleonwinthread.h" #include <limits.h> @@ -25,16 +25,16 @@ #include <process.h> #include <stdio.h> -#include <morse.h> +#include <chameleon.h> -CRITICAL_SECTION morsewinthread_static_initializer_check_lock; -static int morsewinthread_initialized = 0; +CRITICAL_SECTION chameleonwinthread_static_initializer_check_lock; +static int chameleonwinthread_initialized = 0; -MORSE_DLLPORT unsigned int MORSE_CDECL pthread_self_id(void) { +CHAMELEON_DLLPORT unsigned int CHAMELEON_CDECL pthread_self_id(void) { return GetCurrentThreadId(); } -MORSE_DLLPORT pthread_t MORSE_CDECL pthread_self(void) { +CHAMELEON_DLLPORT pthread_t CHAMELEON_CDECL pthread_self(void) { pthread_t pt; pt.hThread = GetCurrentThread(); @@ -42,13 +42,13 @@ MORSE_DLLPORT pthread_t MORSE_CDECL pthread_self(void) { return pt; } -MORSE_DLLPORT int MORSE_CDECL pthread_equal(pthread_t thread1, pthread_t thread2) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_equal(pthread_t thread1, pthread_t thread2) { if (thread1.uThId == thread2.uThId) // && thread1.hThread == thread2.hThread) return 1; return 0; } -MORSE_DLLPORT int MORSE_CDECL pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t * attr) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t * attr) { *mutex = CreateMutex( NULL, /** no security atributes */ FALSE, /** not owned (initialy) by the creating thread */ @@ -61,18 +61,18 @@ MORSE_DLLPORT int MORSE_CDECL pthread_mutex_init(pthread_mutex_t *mutex, const p static int pthread_mutex_check_for_static_initialization( pthread_mutex_t *mutex ) { int retval = 0; /* This should be called once to initialize some structures */ - if ( morsewinthread_initialized == 0 ) { - InitializeCriticalSection( &morsewinthread_static_initializer_check_lock ); - morsewinthread_initialized = 1; + if ( chameleonwinthread_initialized == 0 ) { + InitializeCriticalSection( &chameleonwinthread_static_initializer_check_lock ); + chameleonwinthread_initialized = 1; } - EnterCriticalSection( &morsewinthread_static_initializer_check_lock ); + EnterCriticalSection( &chameleonwinthread_static_initializer_check_lock ); if ( *mutex == PTHREAD_MUTEX_INITIALIZER ) retval = pthread_mutex_init( mutex, NULL ); - LeaveCriticalSection( &morsewinthread_static_initializer_check_lock ); + LeaveCriticalSection( &chameleonwinthread_static_initializer_check_lock ); return retval; } -MORSE_DLLPORT int MORSE_CDECL pthread_mutex_lock(pthread_mutex_t *mutex) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_mutex_lock(pthread_mutex_t *mutex) { DWORD rv; if ( *mutex == PTHREAD_MUTEX_INITIALIZER ) pthread_mutex_check_for_static_initialization( mutex ); @@ -91,7 +91,7 @@ MORSE_DLLPORT int MORSE_CDECL pthread_mutex_lock(pthread_mutex_t *mutex) { } } -MORSE_DLLPORT int MORSE_CDECL pthread_mutex_trylock(pthread_mutex_t *mutex) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_mutex_trylock(pthread_mutex_t *mutex) { DWORD rv; if ( *mutex == PTHREAD_MUTEX_INITIALIZER ) pthread_mutex_check_for_static_initialization( mutex ); @@ -110,29 +110,29 @@ MORSE_DLLPORT int MORSE_CDECL pthread_mutex_trylock(pthread_mutex_t *mutex) { } } -MORSE_DLLPORT int MORSE_CDECL pthread_mutex_unlock(pthread_mutex_t *mutex) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_mutex_unlock(pthread_mutex_t *mutex) { if (! ReleaseMutex( *mutex )) return -1; return 0; } -MORSE_DLLPORT int MORSE_CDECL pthread_mutex_destroy(pthread_mutex_t *mutex) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_mutex_destroy(pthread_mutex_t *mutex) { CloseHandle( *mutex ); return 0; } -MORSE_DLLPORT int MORSE_CDECL pthread_attr_init(pthread_attr_t *attr) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_attr_init(pthread_attr_t *attr) { *attr = 1; return 0; } -MORSE_DLLPORT int MORSE_CDECL pthread_attr_destroy(pthread_attr_t *attr) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_attr_destroy(pthread_attr_t *attr) { *attr = 0; return 0; } -MORSE_DLLPORT int MORSE_CDECL pthread_attr_setscope(pthread_attr_t *attr, int scope) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_attr_setscope(pthread_attr_t *attr, int scope) { if (*attr != 1) return -1; @@ -142,27 +142,27 @@ MORSE_DLLPORT int MORSE_CDECL pthread_attr_setscope(pthread_attr_t *attr, int sc return 0; } -void *(*MORSE_realThStart)(void *); +void *(*CHAMELEON_realThStart)(void *); /* This function is only called to have a proxy that is compatible with WINAPI. */ -unsigned WINAPI MORSE_winThStart(void *arg) { - MORSE_realThStart( arg ); +unsigned WINAPI CHAMELEON_winThStart(void *arg) { + CHAMELEON_realThStart( arg ); return 0; } -MORSE_DLLPORT int MORSE_CDECL pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start) (void *), void *arg) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start) (void *), void *arg) { /* this assumes that the threads call the same function, always; it also assumes there is no race condition while assigning a pointer and using it from within threads (this assumption is fulfilled by creating the new thread in suspended state) */ - MORSE_realThStart = start; + CHAMELEON_realThStart = start; thread->hThread = (HANDLE)_beginthreadex( NULL, /* default security */ 0, /* stack size: use the size of calling thread */ - MORSE_winThStart, + CHAMELEON_winThStart, arg, CREATE_SUSPENDED, /*0,*/ /* the thread will run immedietally (rather than get suspended) */ @@ -177,13 +177,13 @@ MORSE_DLLPORT int MORSE_CDECL pthread_create(pthread_t *thread, const pthread_at return 0; } -MORSE_DLLPORT int MORSE_CDECL pthread_join(pthread_t thread, void **value_ptr) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_join(pthread_t thread, void **value_ptr) { WaitForSingleObject( thread.hThread, INFINITE ); CloseHandle( thread.hThread ); return 0; } -MORSE_DLLPORT int MORSE_CDECL pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr) { InitializeCriticalSection( &cond->cs ); cond->hSem = CreateSemaphore( NULL, /* no security attributes */ 0, /* initial count */ @@ -197,14 +197,14 @@ MORSE_DLLPORT int MORSE_CDECL pthread_cond_init(pthread_cond_t *cond, const pthr return 0; } -MORSE_DLLPORT int MORSE_CDECL pthread_cond_destroy(pthread_cond_t *cond) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_cond_destroy(pthread_cond_t *cond) { DeleteCriticalSection( &cond->cs ); CloseHandle( cond->hSem ); CloseHandle( cond->hEvt ); return 0; } -MORSE_DLLPORT int MORSE_CDECL pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) { int last; if ( *mutex == PTHREAD_MUTEX_INITIALIZER ) pthread_mutex_check_for_static_initialization( mutex ); @@ -239,7 +239,7 @@ MORSE_DLLPORT int MORSE_CDECL pthread_cond_wait(pthread_cond_t *cond, pthread_mu return 0; } -MORSE_DLLPORT int MORSE_CDECL pthread_cond_broadcast(pthread_cond_t *cond) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_cond_broadcast(pthread_cond_t *cond) { int more_waiters = 0; /* This is needed to ensure exclusive access to "waitCount" */ @@ -266,7 +266,7 @@ MORSE_DLLPORT int MORSE_CDECL pthread_cond_broadcast(pthread_cond_t *cond) { int pthread_conclevel; -MORSE_DLLPORT int MORSE_CDECL pthread_setconcurrency (int level) { +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_setconcurrency (int level) { pthread_conclevel = level; return 0; } diff --git a/control/chameleonwinthread.h b/control/chameleonwinthread.h new file mode 100644 index 0000000000000000000000000000000000000000..7c0cab771e563fea2178b7b72898333b07d680b3 --- /dev/null +++ b/control/chameleonwinthread.h @@ -0,0 +1,79 @@ +/** + * + * @file chameleonwinthread.h + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Chameleon Windows thread interface header + * + * @version 1.0.0 + * @author Piotr Luszczek + * @author Cedric Castagnede + * @date 2012-09-15 + * + */ +#ifndef CHAMELEONWINTHREAD_H +#define CHAMELEONWINTHREAD_H + +#include <windows.h> + +/* +typedef struct pthread_s { + HANDLE Hth; + unsigned IDth; + void *(*Fth) (void *); +} pthread_t; +*/ +typedef struct pthread_s { + HANDLE hThread; + unsigned int uThId; +} pthread_t; + +typedef HANDLE pthread_mutex_t; +typedef int pthread_mutexattr_t; +typedef int pthread_attr_t; +typedef int pthread_condattr_t; + +typedef struct pthread_cond_s { + HANDLE hSem; + HANDLE hEvt; + CRITICAL_SECTION cs; + int waitCount; /* waiting thread counter */ +} pthread_cond_t; + +typedef int pthread_attr_t; + +#define PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t) -1) + +#define PTHREAD_SCOPE_SYSTEM 1 + +#define CHAMELEON_DLLPORT +#define CHAMELEON_CDECL __cdecl + +CHAMELEON_DLLPORT pthread_t CHAMELEON_CDECL pthread_self(void); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t * attr); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_mutex_destroy(pthread_mutex_t *mutex); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_mutex_lock(pthread_mutex_t *mutex); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_mutex_trylock(pthread_mutex_t *mutex); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_mutex_unlock(pthread_mutex_t *mutex); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_attr_init(pthread_attr_t *attr); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_attr_destroy(pthread_attr_t *attr); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_attr_setscope(pthread_attr_t *attr, int scope); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_create(pthread_t *tid, const pthread_attr_t *attr, void *(*start) (void *), void *arg); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_cond_destroy(pthread_cond_t *cond); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_cond_broadcast(pthread_cond_t *cond); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_join(pthread_t thread, void **value_ptr); +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_equal(pthread_t thread1, pthread_t thread2); + +CHAMELEON_DLLPORT int CHAMELEON_CDECL pthread_setconcurrency (int); + +CHAMELEON_DLLPORT unsigned int CHAMELEON_CDECL pthread_self_id(void); + +#endif diff --git a/control/common.h b/control/common.h index 14579e68ff09aac0b2248ec5ae93a888729d9278..be9c0826b6f2f9ff45b1a44ea41668ca645f9140 100644 --- a/control/common.h +++ b/control/common.h @@ -18,11 +18,11 @@ * */ /** - * MORSE facilities of interest to both MORSE core developer - * and also of interest to MORSE community contributor. + * CHAMELEON facilities of interest to both CHAMELEON core developer + * and also of interest to CHAMELEON community contributor. */ -#ifndef _MORSE_COMMON_H_ -#define _MORSE_COMMON_H_ +#ifndef _CHAMELEON_COMMON_H_ +#define _CHAMELEON_COMMON_H_ #if defined( _WIN32 ) || defined( _WIN64 ) @@ -65,7 +65,7 @@ /** * Chameleon header files */ -#include "morse.h" +#include "chameleon.h" #include "control/global.h" #include "control/auxiliary.h" @@ -76,35 +76,33 @@ /** * Global shortcuts */ -#define MORSE_RANK morse_rank(morse) -#define MORSE_SIZE morse->world_size -#define MORSE_GRPSIZE morse->group_size -#define MORSE_NB morse->nb -#define MORSE_IB morse->ib -#define MORSE_NBNBSIZE morse->nbnbsize -#define MORSE_IBNBSIZE morse->ibnbsize -#define MORSE_SCHEDULING morse->scheduling -#define MORSE_RHBLK morse->rhblock -#define MORSE_TRANSLATION morse->translation -#define MORSE_PARALLEL morse->parallel_enabled -#define MORSE_PROFILING morse->profiling_enabled +#define CHAMELEON_RANK chameleon_rank(chamctxt) +#define CHAMELEON_SIZE chamctxt->world_size +#define CHAMELEON_GRPSIZE chamctxt->group_size +#define CHAMELEON_NB chamctxt->nb +#define CHAMELEON_IB chamctxt->ib +#define CHAMELEON_SCHEDULING chamctxt->scheduling +#define CHAMELEON_RHBLK chamctxt->rhblock +#define CHAMELEON_TRANSLATION chamctxt->translation +#define CHAMELEON_PARALLEL chamctxt->parallel_enabled +#define CHAMELEON_PROFILING chamctxt->profiling_enabled #if defined(CHAMELEON_USE_MPI) -#define MORSE_MPI_RANK morse->my_mpi_rank -#define MORSE_MPI_SIZE morse->mpi_comm_size +#define CHAMELEON_MPI_RANK chamctxt->my_mpi_rank +#define CHAMELEON_MPI_SIZE chamctxt->mpi_comm_size #endif /** * IPT internal define */ -#define MorseIPT_NoDep 0 -#define MorseIPT_Panel 1 -#define MorseIPT_All 2 +#define ChamIPT_NoDep 0 +#define ChamIPT_Panel 1 +#define ChamIPT_All 2 /** * Global array of LAPACK constants */ -extern char *morse_lapack_constants[]; -#define morse_lapack_const(morse_const) morse_lapack_constants[morse_const][0] +extern char *chameleon_lapack_constants[]; +#define chameleon_lapack_const(chameleon_const) chameleon_lapack_constants[chameleon_const][0] #ifdef __cplusplus extern "C" { @@ -116,10 +114,10 @@ extern "C" { #include "control/compute_z.h" /* -void morse_pdlag2s(MORSE_context_t *morse); -void morse_pzlag2c(MORSE_context_t *morse); -void morse_pslag2d(MORSE_context_t *morse); -void morse_pclag2z(MORSE_context_t *morse); +void chameleon_pdlag2s(CHAM_context_t *chamctxt); +void chameleon_pzlag2c(CHAM_context_t *chamctxt); +void chameleon_pslag2d(CHAM_context_t *chamctxt); +void chameleon_pclag2z(CHAM_context_t *chamctxt); */ #ifdef __cplusplus diff --git a/control/compute_z.h b/control/compute_z.h index d855a32e884090447823b2e7eaec2e498a390a52..271dd6c4d786b4dfbe2c47f37a220d14d40d926f 100644 --- a/control/compute_z.h +++ b/control/compute_z.h @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Mathieu Faverge * @author Emmanuel Agullo @@ -25,122 +25,121 @@ /** * LAPACK/Tile Descriptor accesses */ -#define MorseDescInput 1 -#define MorseDescOutput 2 -#define MorseDescInout (MorseDescInput | MorseDescOutput) +#define ChamDescInput 1 +#define ChamDescOutput 2 +#define ChamDescInout (ChamDescInput | ChamDescOutput) /** * Macro for matrix conversion / Lapack interface */ -#define morse_zdesc_alloc_diag( descA, mb, nb, lm, ln, i, j, m, n, p, q) \ - descA = morse_desc_init_diag( \ - MorseComplexDouble, (mb), (nb), ((mb)*(nb)), \ +#define chameleon_zdesc_alloc_diag( descA, mb, nb, lm, ln, i, j, m, n, p, q) \ + descA = chameleon_desc_init_diag( \ + ChamComplexDouble, (mb), (nb), ((mb)*(nb)), \ (m), (n), (i), (j), (m), (n), p, q); \ - morse_desc_mat_alloc( &(descA) ); \ + chameleon_desc_mat_alloc( &(descA) ); \ RUNTIME_desc_create( &(descA) ); -#define morse_zdesc_alloc( descA, mb, nb, lm, ln, i, j, m, n, free) \ - descA = morse_desc_init( \ - MorseComplexDouble, (mb), (nb), ((mb)*(nb)), \ +#define chameleon_zdesc_alloc( descA, mb, nb, lm, ln, i, j, m, n, free) \ + descA = chameleon_desc_init( \ + ChamComplexDouble, (mb), (nb), ((mb)*(nb)), \ (m), (n), (i), (j), (m), (n), 1, 1); \ - if ( morse_desc_mat_alloc( &(descA) ) ) { \ - morse_error( __func__, "morse_desc_mat_alloc() failed"); \ + if ( chameleon_desc_mat_alloc( &(descA) ) ) { \ + chameleon_error( __func__, "chameleon_desc_mat_alloc() failed"); \ {free;}; \ - return MORSE_ERR_OUT_OF_RESOURCES; \ + return CHAMELEON_ERR_OUT_OF_RESOURCES; \ } \ RUNTIME_desc_create( &(descA) ); /** * Declarations of internal sequential functions */ -int morse_zshift(MORSE_context_t *morse, int m, int n, MORSE_Complex64_t *A, +int chameleon_zshift(CHAM_context_t *chamctxt, int m, int n, CHAMELEON_Complex64_t *A, int nprob, int me, int ne, int L, - MORSE_sequence_t *sequence, MORSE_request_t *request); + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); /** * Declarations of parallel functions (dynamic scheduling) - alphabetical order */ -void morse_pzbarrier_pnl2tl(MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzbarrier_row2tl(MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzbarrier_tl2pnl(MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzbarrier_tl2row(MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgebrd_gb2bd(MORSE_enum uplo, MORSE_desc_t *A, double *D, double *E, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgebrd_ge2gb(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgemm(MORSE_enum transA, MORSE_enum transB, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgetmi2(MORSE_enum idep, MORSE_enum odep, MORSE_enum storev, int m, int n, int mb, int nb, MORSE_Complex64_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgetrf_incpiv(MORSE_desc_t *A, MORSE_desc_t *L, MORSE_desc_t *D, int *IPIV, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgetrf_nopiv(MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgetrf_reclap(MORSE_desc_t *A, int *IPIV, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgetrf_rectil(MORSE_desc_t *A, int *IPIV, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzhegst(MORSE_enum itype, MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzhemm(MORSE_enum side, MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzherk(MORSE_enum uplo, MORSE_enum trans, double alpha, MORSE_desc_t *A, double beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, double beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzhetrd_he2hb(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *E, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzlacpy(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzlag2c(MORSE_desc_t *A, MORSE_desc_t *SB, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzlange(MORSE_enum norm, MORSE_desc_t *A, double *result, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *result, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *result, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A, double *result, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzlascal(MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzlaset( MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_Complex64_t beta, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzlaset2(MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzlaswp(MORSE_desc_t *B, int *IPIV, int inc, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzlaswpc(MORSE_desc_t *B, int *IPIV, int inc, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzlauum(MORSE_enum uplo, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzplghe(double bump, MORSE_enum uplo, MORSE_desc_t *A, unsigned long long int seed, MORSE_sequence_t *sequence, MORSE_request_t *request ); -void morse_pzplgsy(MORSE_Complex64_t bump, MORSE_enum uplo, MORSE_desc_t *A, unsigned long long int seed, MORSE_sequence_t *sequence, MORSE_request_t *request ); -void morse_pzplrnt(MORSE_desc_t *A, unsigned long long int seed, MORSE_sequence_t *sequence, MORSE_request_t *request ); -void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzshift(int, int, int, MORSE_Complex64_t *, int *, int, int, int, MORSE_sequence_t*, MORSE_request_t*); -void morse_pzsymm(MORSE_enum side, MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzsyrk(MORSE_enum uplo, MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_Complex64_t beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzsyr2k(MORSE_enum uplo, MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzsytrf(MORSE_enum uplo, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pztile2band(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *descAB, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pztpgqrt( int L, MORSE_desc_t *V1, MORSE_desc_t *T1, MORSE_desc_t *V2, MORSE_desc_t *T2, MORSE_desc_t *Q1, MORSE_desc_t *Q2, MORSE_desc_t *D, MORSE_sequence_t *sequence, MORSE_request_t *request ); -void morse_pztpqrt( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request ); -void morse_pztradd(MORSE_enum uplo, MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_Complex64_t beta, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pztrmm(MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pztrsmpl(MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *L, int *IPIV, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pztrsmrv(MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *W, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pztrtri(MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzungbr(MORSE_enum side, MORSE_desc_t *A, MORSE_desc_t *O, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzungbrrh(MORSE_enum side, MORSE_desc_t *A, MORSE_desc_t *O, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzungqr(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc_t *D, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc_t *D,int BS, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzunglq(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc_t *D, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_desc_t *D, int BS, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzungtr(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, MORSE_desc_t *D, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzunmqrrh(MORSE_enum side, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, MORSE_desc_t *D, int BS, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, MORSE_desc_t *D, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, MORSE_desc_t *D, int BS, MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzbuild( MORSE_enum uplo, MORSE_desc_t *A, void *user_data, void* user_build_callback, MORSE_sequence_t *sequence, MORSE_request_t *request ); - -void morse_pzgelqf_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzgeqrf_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzunmlq_param(const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzunmqr_param(const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, - MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzunglq_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *Q, - MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request); -void morse_pzungqr_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *Q, - MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *D, - MORSE_sequence_t *sequence, MORSE_request_t *request); +void chameleon_pzbarrier_pnl2tl(CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzbarrier_row2tl(CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzbarrier_tl2pnl(CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzbarrier_tl2row(CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzgebrd_gb2bd(cham_uplo_t uplo, CHAM_desc_t *A, double *D, double *E, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzgebrd_ge2gb(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzgelqf(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzgelqfrh(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D, int BS, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzgemm(cham_trans_t transA, cham_trans_t transB, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzgeqrf(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzgeqrfrh(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D, int BS, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzgetrf_incpiv(CHAM_desc_t *A, CHAM_desc_t *L, CHAM_desc_t *D, int *IPIV, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzgetrf_nopiv(CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzgetrf_reclap(CHAM_desc_t *A, int *IPIV, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzgetrf_rectil(CHAM_desc_t *A, int *IPIV, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzhegst(int itype, cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzhemm(cham_side_t side, cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzherk(cham_uplo_t uplo, cham_trans_t trans, double alpha, CHAM_desc_t *A, double beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzher2k(cham_uplo_t uplo, cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, double beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzhetrd_he2hb(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *E, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzlacpy(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzlag2c(CHAM_desc_t *A, CHAM_desc_t *SB, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzlange(cham_normtype_t norm, CHAM_desc_t *A, double *result, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzlanhe(cham_normtype_t norm, cham_uplo_t uplo, CHAM_desc_t *A, double *result, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzlansy(cham_normtype_t norm, cham_uplo_t uplo, CHAM_desc_t *A, double *result, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzlantr(cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, CHAM_desc_t *A, double *result, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzlascal(cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzlaset( cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzlaset2(cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzlaswp(CHAM_desc_t *B, int *IPIV, int inc, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzlaswpc(CHAM_desc_t *B, int *IPIV, int inc, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzlauum(cham_uplo_t uplo, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzplghe(double bump, cham_uplo_t uplo, CHAM_desc_t *A, unsigned long long int seed, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ); +void chameleon_pzplgsy(CHAMELEON_Complex64_t bump, cham_uplo_t uplo, CHAM_desc_t *A, unsigned long long int seed, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ); +void chameleon_pzplrnt(CHAM_desc_t *A, unsigned long long int seed, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ); +void chameleon_pzpotrf(cham_uplo_t uplo, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzpotrimm(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzshift(int, int, int, CHAMELEON_Complex64_t *, int *, int, int, int, RUNTIME_sequence_t*, RUNTIME_request_t*); +void chameleon_pzsymm(cham_side_t side, cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzsyrk(cham_uplo_t uplo, cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAMELEON_Complex64_t beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzsyr2k(cham_uplo_t uplo, cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzsytrf(cham_uplo_t uplo, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pztile2band(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *descAB, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pztpgqrt( int L, CHAM_desc_t *V1, CHAM_desc_t *T1, CHAM_desc_t *V2, CHAM_desc_t *T2, CHAM_desc_t *Q1, CHAM_desc_t *Q2, CHAM_desc_t *D, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ); +void chameleon_pztpqrt( int L, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ); +void chameleon_pztradd(cham_uplo_t uplo, cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAMELEON_Complex64_t beta, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pztrmm(cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pztrsm(cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pztrsmpl(CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *L, int *IPIV, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pztrsmrv(cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *W, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pztrtri(cham_uplo_t uplo, cham_diag_t diag, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzungbr(cham_side_t side, CHAM_desc_t *A, CHAM_desc_t *O, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzungbrrh(cham_side_t side, CHAM_desc_t *A, CHAM_desc_t *O, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzungqr(CHAM_desc_t *A, CHAM_desc_t *Q, CHAM_desc_t *T, CHAM_desc_t *D, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzungqrrh(CHAM_desc_t *A, CHAM_desc_t *Q, CHAM_desc_t *T, CHAM_desc_t *D,int BS, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzunglq(CHAM_desc_t *A, CHAM_desc_t *Q, CHAM_desc_t *T, CHAM_desc_t *D, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzunglqrh(CHAM_desc_t *A, CHAM_desc_t *Q, CHAM_desc_t *T, CHAM_desc_t *D, int BS, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzungtr(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *Q, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzunmqr(cham_side_t side, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T, CHAM_desc_t *D, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzunmqrrh(cham_side_t side, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T, CHAM_desc_t *D, int BS, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzunmlq(cham_side_t side, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T, CHAM_desc_t *D, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzunmlqrh(cham_side_t side, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T, CHAM_desc_t *D, int BS, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzbuild( cham_uplo_t uplo, CHAM_desc_t *A, void *user_data, void* user_build_callback, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ); + +void chameleon_pzgelqf_param(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzgeqrf_param(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzunmlq_param(const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzunmqr_param(const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, + CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzunglq_param(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *Q, + CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +void chameleon_pzungqr_param(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *Q, + CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *D, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); /** @@ -148,51 +147,51 @@ void morse_pzungqr_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_des * LAPACK interface calls */ static inline int -morse_zlap2tile( MORSE_context_t *morse, - MORSE_desc_t *descAl, MORSE_desc_t *descAt, - MORSE_enum mode, MORSE_enum uplo, - MORSE_Complex64_t *A, int mb, int nb, int lm, int ln, int m, int n, - MORSE_sequence_t *seq, MORSE_request_t *req ) +chameleon_zlap2tile( CHAM_context_t *chamctxt, + CHAM_desc_t *descAl, CHAM_desc_t *descAt, + int mode, cham_uplo_t uplo, + CHAMELEON_Complex64_t *A, int mb, int nb, int lm, int ln, int m, int n, + RUNTIME_sequence_t *seq, RUNTIME_request_t *req ) { /* Initialize the Lapack descriptor */ - *descAl = morse_desc_init_user( MorseComplexDouble, mb, nb, (mb)*(nb), + *descAl = chameleon_desc_init_user( ChamComplexDouble, mb, nb, (mb)*(nb), lm, ln, 0, 0, m, n, 1, 1, - morse_getaddr_cm, morse_getblkldd_cm, NULL ); + chameleon_getaddr_cm, chameleon_getblkldd_cm, NULL ); descAl->mat = A; - descAl->styp = MorseCM; + descAl->styp = ChamCM; /* Initialize the tile descriptor */ - *descAt = morse_desc_init( MorseComplexDouble, mb, nb, (mb)*(nb), + *descAt = chameleon_desc_init( ChamComplexDouble, mb, nb, (mb)*(nb), lm, ln, 0, 0, m, n, 1, 1 ); - if ( MORSE_TRANSLATION == MORSE_OUTOFPLACE ) { - if ( morse_desc_mat_alloc( descAt ) ) { - morse_error( "morse_zlap2tile", "morse_desc_mat_alloc() failed"); - return MORSE_ERR_OUT_OF_RESOURCES; + if ( CHAMELEON_TRANSLATION == ChamOutOfPlace ) { + if ( chameleon_desc_mat_alloc( descAt ) ) { + chameleon_error( "chameleon_zlap2tile", "chameleon_desc_mat_alloc() failed"); + return CHAMELEON_ERR_OUT_OF_RESOURCES; } RUNTIME_desc_create( descAl ); RUNTIME_desc_create( descAt ); - if ( mode & MorseDescInput ) { - morse_pzlacpy( uplo, descAl, descAt, seq, req ); + if ( mode & ChamDescInput ) { + chameleon_pzlacpy( uplo, descAl, descAt, seq, req ); } } else { - morse_fatal_error( "morse_zlap2tile", "INPLACE translation not supported yet"); + chameleon_fatal_error( "chameleon_zlap2tile", "INPLACE translation not supported yet"); descAt->mat = A; RUNTIME_desc_create( descAl ); RUNTIME_desc_create( descAt ); - if ( mode & MorseDescInput ) { - /* MORSE_zgecfi_Async( lm, ln, A, MorseCM, mb, nb, */ - /* MorseCCRB, mb, nb, seq, req ); */ + if ( mode & ChamDescInput ) { + /* CHAMELEON_zgecfi_Async( lm, ln, A, ChamCM, mb, nb, */ + /* ChamCCRB, mb, nb, seq, req ); */ } - return MORSE_ERR_NOT_SUPPORTED; + return CHAMELEON_ERR_NOT_SUPPORTED; } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** @@ -200,27 +199,27 @@ morse_zlap2tile( MORSE_context_t *morse, * in LAPACK interface calls */ static inline int -morse_ztile2lap( MORSE_context_t *morse, MORSE_desc_t *descAl, MORSE_desc_t *descAt, - MORSE_enum mode, MORSE_enum uplo, MORSE_sequence_t *seq, MORSE_request_t *req ) +chameleon_ztile2lap( CHAM_context_t *chamctxt, CHAM_desc_t *descAl, CHAM_desc_t *descAt, + int mode, cham_uplo_t uplo, RUNTIME_sequence_t *seq, RUNTIME_request_t *req ) { - if ( MORSE_TRANSLATION == MORSE_OUTOFPLACE ) { - if ( mode & MorseDescOutput ) { - morse_pzlacpy( uplo, descAt, descAl, seq, req ); + if ( CHAMELEON_TRANSLATION == ChamOutOfPlace ) { + if ( mode & ChamDescOutput ) { + chameleon_pzlacpy( uplo, descAt, descAl, seq, req ); } } else { - morse_fatal_error( "morse_ztile2lap", "INPLACE translation not supported yet"); - if ( mode & MorseDescOutput ) { - /* MORSE_zgecfi_Async( descAl->lm, descAl->ln, descAl->mat, */ - /* MorseCCRB, descAl->mb, descAl->nb, */ - /* MorseCM, descAl->mb, descAl->nb, seq, req ); */ + chameleon_fatal_error( "chameleon_ztile2lap", "INPLACE translation not supported yet"); + if ( mode & ChamDescOutput ) { + /* CHAMELEON_zgecfi_Async( descAl->lm, descAl->ln, descAl->mat, */ + /* ChamCCRB, descAl->mb, descAl->nb, */ + /* ChamCM, descAl->mb, descAl->nb, seq, req ); */ } - return MORSE_ERR_NOT_SUPPORTED; + return CHAMELEON_ERR_NOT_SUPPORTED; } RUNTIME_desc_flush( descAl, seq ); RUNTIME_desc_flush( descAt, seq ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** @@ -228,10 +227,10 @@ morse_ztile2lap( MORSE_context_t *morse, MORSE_desc_t *descAl, MORSE_desc_t *des * conversions in LAPACK interface calls */ static inline void -morse_ztile2lap_cleanup( MORSE_context_t *morse, MORSE_desc_t *descAl, MORSE_desc_t *descAt ) +chameleon_ztile2lap_cleanup( CHAM_context_t *chamctxt, CHAM_desc_t *descAl, CHAM_desc_t *descAt ) { - if ( MORSE_TRANSLATION == MORSE_OUTOFPLACE ) { - morse_desc_mat_free( descAt ); + if ( CHAMELEON_TRANSLATION == ChamOutOfPlace ) { + chameleon_desc_mat_free( descAt ); } RUNTIME_desc_destroy( descAl ); RUNTIME_desc_destroy( descAt ); diff --git a/control/context.c b/control/context.c index 444bf5ce696682b816fba90e8a512ea803e60a8a..9f151be9088e561d05d78e57dbc80b1e774a67a3 100644 --- a/control/context.c +++ b/control/context.c @@ -26,7 +26,7 @@ #include <stdlib.h> #if defined( _WIN32 ) || defined( _WIN64 ) -#include "control/morsewinthread.h" +#include "control/chamctxtwinthread.h" #else #include <pthread.h> #endif @@ -34,7 +34,7 @@ #include "control/common.h" #include "control/auxiliary.h" #include "control/context.h" -#include "chameleon/morse_runtime.h" +#include "chameleon/runtime.h" #if !defined(CHAMELEON_SIMULATION) #include "coreblas.h" @@ -44,219 +44,219 @@ * Global data */ /* master threads context lookup table */ -static MORSE_context_t *morse_ctxt = NULL; +static CHAM_context_t *chameleon_ctxt = NULL; /** * Create new context */ -MORSE_context_t *morse_context_create() +CHAM_context_t *chameleon_context_create() { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - if ( morse_ctxt != NULL ) { - morse_error("morse_context_create", "a context is already existing\n"); + if ( chameleon_ctxt != NULL ) { + chameleon_error("chameleon_context_create", "a context is already existing\n"); return NULL; } - morse = (MORSE_context_t*)malloc(sizeof(MORSE_context_t)); - if (morse == NULL) { - morse_error("morse_context_create", "malloc() failed"); + chamctxt = (CHAM_context_t*)malloc(sizeof(CHAM_context_t)); + if (chamctxt == NULL) { + chameleon_error("chameleon_context_create", "malloc() failed"); return NULL; } /* These initializations are just in case the user disables autotuning and does not set nb and ib */ - morse->nb = 128; - morse->ib = 32; - morse->rhblock = 4; + chamctxt->nb = 128; + chamctxt->ib = 32; + chamctxt->rhblock = 4; - morse->nworkers = 1; - morse->ncudas = 0; - morse->nthreads_per_worker= 1; + chamctxt->nworkers = 1; + chamctxt->ncudas = 0; + chamctxt->nthreads_per_worker= 1; - morse->warnings_enabled = MORSE_TRUE; - morse->autotuning_enabled = MORSE_TRUE; - morse->parallel_enabled = MORSE_FALSE; - morse->profiling_enabled = MORSE_FALSE; - morse->progress_enabled = MORSE_FALSE; + chamctxt->warnings_enabled = CHAMELEON_TRUE; + chamctxt->autotuning_enabled = CHAMELEON_TRUE; + chamctxt->parallel_enabled = CHAMELEON_FALSE; + chamctxt->profiling_enabled = CHAMELEON_FALSE; + chamctxt->progress_enabled = CHAMELEON_FALSE; - morse->householder = MORSE_FLAT_HOUSEHOLDER; - morse->translation = MORSE_OUTOFPLACE; + chamctxt->householder = ChamFlatHouseholder; + chamctxt->translation = ChamOutOfPlace; /* Initialize scheduler */ - RUNTIME_context_create(morse); + RUNTIME_context_create(chamctxt); - morse_ctxt = morse; - return morse; + chameleon_ctxt = chamctxt; + return chamctxt; } /** * Return context for a thread */ -MORSE_context_t *morse_context_self() +CHAM_context_t *chameleon_context_self() { - return morse_ctxt; + return chameleon_ctxt; } /** * Clean the context */ -int morse_context_destroy(){ +int chameleon_context_destroy(){ - RUNTIME_context_destroy(morse_ctxt); - free(morse_ctxt); - morse_ctxt = NULL; + RUNTIME_context_destroy(chameleon_ctxt); + free(chameleon_ctxt); + chameleon_ctxt = NULL; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * * @ingroup Options * - * MORSE_Enable - Enable MORSE feature. + * CHAMELEON_Enable - Enable CHAMELEON feature. * ******************************************************************************* * * @param[in] option * Feature to be enabled: - * @arg MORSE_WARNINGS printing of warning messages, - * @arg MORSE_AUTOTUNING autotuning for tile size and inner block size. - * @arg MORSE_PROFILING_MODE activate profiling of kernels - * @arg MORSE_PROGRESS activate progress indicator - * @arg MORSE_GEMM3M Use z/cgemm3m for complexe matrix-matrix products + * @arg CHAMELEON_WARNINGS printing of warning messages, + * @arg CHAMELEON_AUTOTUNING autotuning for tile size and inner block size. + * @arg CHAMELEON_PROFILING_MODE activate profiling of kernels + * @arg CHAMELEON_PROGRESS activate progress indicator + * @arg CHAMELEON_GEMM3M Use z/cgemm3m for complexe matrix-matrix products * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Enable(MORSE_enum option) +int CHAMELEON_Enable(int option) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Enable", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Enable", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } switch (option) { - case MORSE_WARNINGS: - morse->warnings_enabled = MORSE_TRUE; + case CHAMELEON_WARNINGS: + chamctxt->warnings_enabled = CHAMELEON_TRUE; break; - case MORSE_AUTOTUNING: - morse->autotuning_enabled = MORSE_TRUE; + case CHAMELEON_AUTOTUNING: + chamctxt->autotuning_enabled = CHAMELEON_TRUE; break; - case MORSE_PROFILING_MODE: - morse->profiling_enabled = MORSE_TRUE; + case CHAMELEON_PROFILING_MODE: + chamctxt->profiling_enabled = CHAMELEON_TRUE; break; - case MORSE_PROGRESS: - morse->progress_enabled = MORSE_TRUE; + case CHAMELEON_PROGRESS: + chamctxt->progress_enabled = CHAMELEON_TRUE; break; - case MORSE_GEMM3M: + case CHAMELEON_GEMM3M: #if defined(CBLAS_HAS_ZGEMM3M) && !defined(CHAMELEON_SIMULATION) set_coreblas_gemm3m_enabled(1); #else - morse_error("MORSE_Enable", "cannot enable GEMM3M (not available in cblas)"); + chameleon_error("CHAMELEON_Enable", "cannot enable GEMM3M (not available in cblas)"); #endif break; - /* case MORSE_PARALLEL: */ - /* morse->parallel_enabled = MORSE_TRUE; */ + /* case CHAMELEON_PARALLEL: */ + /* chamctxt->parallel_enabled = CHAMELEON_TRUE; */ /* break; */ default: - morse_error("MORSE_Enable", "illegal parameter value"); - return MORSE_ERR_ILLEGAL_VALUE; - case MORSE_BOUND: + chameleon_error("CHAMELEON_Enable", "illegal parameter value"); + return CHAMELEON_ERR_ILLEGAL_VALUE; + case CHAMELEON_BOUND: break; } /* Enable at the lower level if required */ RUNTIME_enable( option ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * * @ingroup Options * - * MORSE_Disable - Disable MORSE feature. + * CHAMELEON_Disable - Disable CHAMELEON feature. * ******************************************************************************* * * @param[in] option * Feature to be disabled: - * @arg MORSE_WARNINGS printing of warning messages, - * @arg MORSE_AUTOTUNING autotuning for tile size and inner block size. - * @arg MORSE_PROFILING_MODE deactivate profiling of kernels - * @arg MORSE_PROGRESS deactivate progress indicator - * @arg MORSE_GEMM3M Use z/cgemm3m for complexe matrix-matrix products + * @arg CHAMELEON_WARNINGS printing of warning messages, + * @arg CHAMELEON_AUTOTUNING autotuning for tile size and inner block size. + * @arg CHAMELEON_PROFILING_MODE deactivate profiling of kernels + * @arg CHAMELEON_PROGRESS deactivate progress indicator + * @arg CHAMELEON_GEMM3M Use z/cgemm3m for complexe matrix-matrix products * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Disable(MORSE_enum option) +int CHAMELEON_Disable(int option) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Disable", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Disable", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } switch ( option ) { - case MORSE_WARNINGS: - morse->warnings_enabled = MORSE_FALSE; + case CHAMELEON_WARNINGS: + chamctxt->warnings_enabled = CHAMELEON_FALSE; break; - case MORSE_AUTOTUNING: - morse->autotuning_enabled = MORSE_FALSE; + case CHAMELEON_AUTOTUNING: + chamctxt->autotuning_enabled = CHAMELEON_FALSE; break; - case MORSE_PROFILING_MODE: - morse->profiling_enabled = MORSE_FALSE; + case CHAMELEON_PROFILING_MODE: + chamctxt->profiling_enabled = CHAMELEON_FALSE; break; - case MORSE_PROGRESS: - morse->progress_enabled = MORSE_FALSE; + case CHAMELEON_PROGRESS: + chamctxt->progress_enabled = CHAMELEON_FALSE; break; - case MORSE_GEMM3M: + case CHAMELEON_GEMM3M: #if defined(CBLAS_HAS_ZGEMM3M) && !defined(CHAMELEON_SIMULATION) set_coreblas_gemm3m_enabled(0); #endif break; - case MORSE_PARALLEL_MODE: - morse->parallel_enabled = MORSE_FALSE; + case CHAMELEON_PARALLEL_MODE: + chamctxt->parallel_enabled = CHAMELEON_FALSE; break; default: - morse_error("MORSE_Disable", "illegal parameter value"); - return MORSE_ERR_ILLEGAL_VALUE; + chameleon_error("CHAMELEON_Disable", "illegal parameter value"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } /* Disable at the lower level if required */ RUNTIME_disable( option ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * * @ingroup Options * - * MORSE_Set - Set MORSE parameter. + * CHAMELEON_Set - Set CHAMELEON parameter. * ******************************************************************************* * * @param[in] param * Feature to be enabled: - * @arg MORSE_TILE_SIZE: size matrix tile, - * @arg MORSE_INNER_BLOCK_SIZE: size of tile inner block, + * @arg CHAMELEON_TILE_SIZE: size matrix tile, + * @arg CHAMELEON_INNER_BLOCK_SIZE: size of tile inner block, * * @param[in] value * Value of the parameter. @@ -264,93 +264,93 @@ int MORSE_Disable(MORSE_enum option) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Set(MORSE_enum param, int value) +int CHAMELEON_Set(int param, int value) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Set", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Set", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } switch (param) { - case MORSE_TILE_SIZE: + case CHAMELEON_TILE_SIZE: if (value <= 0) { - morse_error("MORSE_Set", "negative tile size"); - return MORSE_ERR_ILLEGAL_VALUE; + chameleon_error("CHAMELEON_Set", "negative tile size"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } - morse->nb = value; - if ( morse->autotuning_enabled ) { - morse->autotuning_enabled = MORSE_FALSE; - morse_warning("MORSE_Set", "autotuning has been automatically disable\n"); + chamctxt->nb = value; + if ( chamctxt->autotuning_enabled ) { + chamctxt->autotuning_enabled = CHAMELEON_FALSE; + chameleon_warning("CHAMELEON_Set", "autotuning has been automatically disable\n"); } /* Limit ib to nb */ - morse->ib = chameleon_min( morse->nb, morse->ib ); + chamctxt->ib = chameleon_min( chamctxt->nb, chamctxt->ib ); break; - case MORSE_INNER_BLOCK_SIZE: + case CHAMELEON_INNER_BLOCK_SIZE: if (value <= 0) { - morse_error("MORSE_Set", "negative inner block size"); - return MORSE_ERR_ILLEGAL_VALUE; + chameleon_error("CHAMELEON_Set", "negative inner block size"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } - if (value > morse->nb) { - morse_error("MORSE_Set", "inner block larger than tile"); - return MORSE_ERR_ILLEGAL_VALUE; + if (value > chamctxt->nb) { + chameleon_error("CHAMELEON_Set", "inner block larger than tile"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } - /* if (morse->nb % value != 0) { */ - /* morse_error("MORSE_Set", "inner block does not divide tile"); */ - /* return MORSE_ERR_ILLEGAL_VALUE; */ + /* if (chamctxt->nb % value != 0) { */ + /* chameleon_error("CHAMELEON_Set", "inner block does not divide tile"); */ + /* return CHAMELEON_ERR_ILLEGAL_VALUE; */ /* } */ - morse->ib = value; + chamctxt->ib = value; - if ( morse->autotuning_enabled ) { - morse->autotuning_enabled = MORSE_FALSE; - morse_warning("MORSE_Set", "autotuning has been automatically disable\n"); + if ( chamctxt->autotuning_enabled ) { + chamctxt->autotuning_enabled = CHAMELEON_FALSE; + chameleon_warning("CHAMELEON_Set", "autotuning has been automatically disable\n"); } break; - case MORSE_HOUSEHOLDER_MODE: - if (value != MORSE_FLAT_HOUSEHOLDER && value != MORSE_TREE_HOUSEHOLDER) { - morse_error("MORSE_Set", "illegal value of MORSE_HOUSEHOLDER_MODE"); - return MORSE_ERR_ILLEGAL_VALUE; + case CHAMELEON_HOUSEHOLDER_MODE: + if (value != ChamFlatHouseholder && value != ChamTreeHouseholder) { + chameleon_error("CHAMELEON_Set", "illegal value of CHAMELEON_HOUSEHOLDER_MODE"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } - morse->householder = value; + chamctxt->householder = value; break; - case MORSE_HOUSEHOLDER_SIZE: + case CHAMELEON_HOUSEHOLDER_SIZE: if (value <= 0) { - morse_error("MORSE_Set", "negative householder size"); - return MORSE_ERR_ILLEGAL_VALUE; + chameleon_error("CHAMELEON_Set", "negative householder size"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } - morse->rhblock = value; + chamctxt->rhblock = value; break; - case MORSE_TRANSLATION_MODE: - if (value != MORSE_INPLACE && value != MORSE_OUTOFPLACE) { - morse_error("MORSE_Set", "illegal value of MORSE_TRANSLATION_MODE"); - return MORSE_ERR_ILLEGAL_VALUE; + case CHAMELEON_TRANSLATION_MODE: + if (value != ChamInPlace && value != ChamOutOfPlace) { + chameleon_error("CHAMELEON_Set", "illegal value of CHAMELEON_TRANSLATION_MODE"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } - morse->translation = value; + chamctxt->translation = value; break; default: - morse_error("MORSE_Set", "unknown parameter"); - return MORSE_ERR_ILLEGAL_VALUE; + chameleon_error("CHAMELEON_Set", "unknown parameter"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * * @ingroup Options * - * MORSE_Get - Get value of MORSE parameter. + * CHAMELEON_Get - Get value of CHAMELEON parameter. * ******************************************************************************* * * @param[in] param * Feature to be enabled: - * @arg MORSE_TILE_SIZE: size matrix tile, - * @arg MORSE_INNER_BLOCK_SIZE: size of tile inner block, + * @arg CHAMELEON_TILE_SIZE: size matrix tile, + * @arg CHAMELEON_INNER_BLOCK_SIZE: size of tile inner block, * * @param[out] value * Value of the parameter. @@ -358,38 +358,38 @@ int MORSE_Set(MORSE_enum param, int value) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Get(MORSE_enum param, int *value) +int CHAMELEON_Get(int param, int *value) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Get", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Get", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } switch (param) { - case MORSE_TILE_SIZE: - *value = morse->nb; - return MORSE_SUCCESS; - case MORSE_INNER_BLOCK_SIZE: - *value = morse->ib; - return MORSE_SUCCESS; - case MORSE_HOUSEHOLDER_MODE: - *value = morse->householder; - return MORSE_SUCCESS; - case MORSE_HOUSEHOLDER_SIZE: - *value = morse->rhblock; - return MORSE_SUCCESS; - case MORSE_TRANSLATION_MODE: - *value = morse->translation; - return MORSE_SUCCESS; + case CHAMELEON_TILE_SIZE: + *value = chamctxt->nb; + return CHAMELEON_SUCCESS; + case CHAMELEON_INNER_BLOCK_SIZE: + *value = chamctxt->ib; + return CHAMELEON_SUCCESS; + case CHAMELEON_HOUSEHOLDER_MODE: + *value = chamctxt->householder; + return CHAMELEON_SUCCESS; + case CHAMELEON_HOUSEHOLDER_SIZE: + *value = chamctxt->rhblock; + return CHAMELEON_SUCCESS; + case CHAMELEON_TRANSLATION_MODE: + *value = chamctxt->translation; + return CHAMELEON_SUCCESS; default: - morse_error("MORSE_Get", "unknown parameter"); - return MORSE_ERR_ILLEGAL_VALUE; + chameleon_error("CHAMELEON_Get", "unknown parameter"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/control/context.h b/control/context.h index 6ddc295511287abb4c3eb3d236200dce37cf9eaf..8c00a2f54fcbd631f5517bec77be8efd1d1eef3b 100644 --- a/control/context.h +++ b/control/context.h @@ -19,10 +19,10 @@ * @date 2012-09-15 * */ -#ifndef _MORSE_CONTEXT_H_ -#define _MORSE_CONTEXT_H_ +#ifndef _CHAMELEON_CONTEXT_H_ +#define _CHAMELEON_CONTEXT_H_ -#include "chameleon/morse_struct.h" +#include "chameleon/struct.h" /** * Routines to handle threads context @@ -31,9 +31,9 @@ extern "C" { #endif -MORSE_context_t* morse_context_create (); -MORSE_context_t* morse_context_self (); -int morse_context_destroy (); +CHAM_context_t* chameleon_context_create (); +CHAM_context_t* chameleon_context_self (); +int chameleon_context_destroy (); #ifdef __cplusplus } diff --git a/control/control.c b/control/control.c index 27169f01697ddf7344313df8c7e4e4fdebcd6350..9a356bf47ec47da318cf217db8164d8b3cf0355f 100644 --- a/control/control.c +++ b/control/control.c @@ -20,7 +20,7 @@ *** * * @defgroup Control - * @brief Group routines exposed to users to control MORSE state + * @brief Group routines exposed to users to control CHAMELEON state * */ @@ -28,13 +28,13 @@ #include <stdlib.h> #include "control/auxiliary.h" #include "control/common.h" -#include "chameleon/morse_runtime.h" +#include "chameleon/runtime.h" /** * * @ingroup Control * - * MORSE_Init - Initialize MORSE. + * CHAMELEON_Init - Initialize CHAMELEON. * ****************************************************************************** * @@ -47,19 +47,19 @@ ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Init(int cores, int gpus) +int CHAMELEON_Init(int cores, int gpus) { - return MORSE_InitPar(cores, gpus, -1); + return CHAMELEON_InitPar(cores, gpus, -1); } /** * * @ingroup Control * - * MORSE_InitPar - Initialize MORSE. + * CHAMELEON_InitPar - Initialize CHAMELEON. * ****************************************************************************** * @@ -75,29 +75,29 @@ int MORSE_Init(int cores, int gpus) ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_InitPar(int ncpus, int ncudas, int nthreads_per_worker) +int CHAMELEON_InitPar(int ncpus, int ncudas, int nthreads_per_worker) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; /* Create context and insert in the context map */ - morse = morse_context_create(); - if (morse == NULL) { - morse_fatal_error("MORSE_Init", "morse_context_create() failed"); - return MORSE_ERR_OUT_OF_RESOURCES; + chamctxt = chameleon_context_create(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_Init", "chameleon_context_create() failed"); + return CHAMELEON_ERR_OUT_OF_RESOURCES; } #if defined(CHAMELEON_USE_MPI) # if defined(CHAMELEON_SIMULATION) /* Assuming that we don't initialize MPI ourself (which SMPI doesn't support anyway) */ - morse->mpi_outer_init = 1; + chamctxt->mpi_outer_init = 1; # else { int flag = 0, provided = 0; MPI_Initialized( &flag ); - morse->mpi_outer_init = flag; + chamctxt->mpi_outer_init = flag; if ( !flag ) { MPI_Init_thread( NULL, NULL, MPI_THREAD_MULTIPLE, &provided ); } @@ -105,148 +105,148 @@ int MORSE_InitPar(int ncpus, int ncudas, int nthreads_per_worker) # endif #endif - RUNTIME_init( morse, ncpus, ncudas, nthreads_per_worker ); + RUNTIME_init( chamctxt, ncpus, ncudas, nthreads_per_worker ); #if defined(CHAMELEON_USE_MPI) - morse->my_mpi_rank = RUNTIME_comm_rank( morse ); - morse->mpi_comm_size = RUNTIME_comm_size( morse ); + chamctxt->my_mpi_rank = RUNTIME_comm_rank( chamctxt ); + chamctxt->mpi_comm_size = RUNTIME_comm_size( chamctxt ); #endif - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * * @ingroup Control * - * MORSE_Finalize - Finalize MORSE. + * CHAMELEON_Finalize - Finalize CHAMELEON. * ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Finalize(void) +int CHAMELEON_Finalize(void) { - MORSE_context_t *morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Finalize()", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + CHAM_context_t *chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Finalize()", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } RUNTIME_flush(); # if !defined(CHAMELEON_SIMULATION) - RUNTIME_barrier(morse); + RUNTIME_barrier(chamctxt); # endif - RUNTIME_finalize( morse ); + RUNTIME_finalize( chamctxt ); #if defined(CHAMELEON_USE_MPI) - if (!morse->mpi_outer_init) + if (!chamctxt->mpi_outer_init) MPI_Finalize(); #endif - morse_context_destroy(); - return MORSE_SUCCESS; + chameleon_context_destroy(); + return CHAMELEON_SUCCESS; } /** * * @ingroup Control * - * MORSE_Pause - Suspend MORSE runtime to poll for new tasks. + * CHAMELEON_Pause - Suspend CHAMELEON runtime to poll for new tasks. * ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Pause(void) +int CHAMELEON_Pause(void) { - MORSE_context_t *morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Pause()", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + CHAM_context_t *chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Pause()", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - RUNTIME_pause(morse); - return MORSE_SUCCESS; + RUNTIME_pause(chamctxt); + return CHAMELEON_SUCCESS; } /** * * @ingroup Control * - * MORSE_Resume - Symmetrical call to MORSE_Pause, + * CHAMELEON_Resume - Symmetrical call to CHAMELEON_Pause, * used to resume the workers polling for new tasks. * ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Resume(void) +int CHAMELEON_Resume(void) { - MORSE_context_t *morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Resume()", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + CHAM_context_t *chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Resume()", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - RUNTIME_resume(morse); - return MORSE_SUCCESS; + RUNTIME_resume(chamctxt); + return CHAMELEON_SUCCESS; } /** * * @ingroup Control * - * MORSE_Distributed_start - Prepare the distributed processes for computation + * CHAMELEON_Distributed_start - Prepare the distributed processes for computation * ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Distributed_start(void) +int CHAMELEON_Distributed_start(void) { - MORSE_context_t *morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Finalize()", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + CHAM_context_t *chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Finalize()", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - RUNTIME_barrier (morse); - return MORSE_SUCCESS; + RUNTIME_barrier (chamctxt); + return CHAMELEON_SUCCESS; } /** * * @ingroup Control * - * MORSE_Distributed_stop - Clean the distributed processes after computation + * CHAMELEON_Distributed_stop - Clean the distributed processes after computation * ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Distributed_stop(void) +int CHAMELEON_Distributed_stop(void) { - MORSE_context_t *morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Finalize()", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + CHAM_context_t *chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Finalize()", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } - RUNTIME_barrier (morse); - return MORSE_SUCCESS; + RUNTIME_barrier (chamctxt); + return CHAMELEON_SUCCESS; } /** * * @ingroup Control * - * MORSE_Comm_size - Return the size of the distributed computation + * CHAMELEON_Comm_size - Return the size of the distributed computation * ****************************************************************************** * @@ -254,22 +254,22 @@ int MORSE_Distributed_stop(void) * @retval -1 if context not initialized * */ -int MORSE_Comm_size() +int CHAMELEON_Comm_size() { - MORSE_context_t *morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Comm_size()", "MORSE not initialized"); + CHAM_context_t *chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Comm_size()", "CHAMELEON not initialized"); return -1; } - return RUNTIME_comm_size( morse ); + return RUNTIME_comm_size( chamctxt ); } /** * * @ingroup Control * - * MORSE_Comm_rank - Return the rank of the distributed computation + * CHAMELEON_Comm_rank - Return the rank of the distributed computation * ****************************************************************************** * @@ -277,22 +277,22 @@ int MORSE_Comm_size() * @retval -1 if context not initialized * */ -int MORSE_Comm_rank() +int CHAMELEON_Comm_rank() { - MORSE_context_t *morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Comm_rank()", "MORSE not initialized"); + CHAM_context_t *chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Comm_rank()", "CHAMELEON not initialized"); return -1; } - return RUNTIME_comm_rank( morse ); + return RUNTIME_comm_rank( chamctxt ); } /** * * @ingroup Control * - * MORSE_GetThreadNbr - Return the number of CPU workers initialized by the + * CHAMELEON_GetThreadNbr - Return the number of CPU workers initialized by the * runtime * ****************************************************************************** @@ -301,13 +301,13 @@ int MORSE_Comm_rank() * \retval The number of CPU workers started * */ -int MORSE_GetThreadNbr( ) +int CHAMELEON_GetThreadNbr( ) { - MORSE_context_t *morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_GetThreadNbr()", "MORSE not initialized"); + CHAM_context_t *chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_GetThreadNbr()", "CHAMELEON not initialized"); return -1; } - return RUNTIME_thread_size( morse ); + return RUNTIME_thread_size( chamctxt ); } diff --git a/control/descriptor.c b/control/descriptor.c index 227ae49707eede9ff9b2cc4ca4a9a0023c615020..739d1ed9fffea521d833de91ace4c56b5383a640 100644 --- a/control/descriptor.c +++ b/control/descriptor.c @@ -27,7 +27,7 @@ #include <string.h> #include "control/common.h" #include "control/descriptor.h" -#include "chameleon/morse_runtime.h" +#include "chameleon/runtime.h" static int nbdesc = 0; @@ -36,17 +36,17 @@ static int nbdesc = 0; * * @ingroup Descriptor * - * morse_desc_init_user - Internal function to create tiled matrix descriptor + * chameleon_desc_init_user - Internal function to create tiled matrix descriptor * with generic function for data distribution and storage format. * ****************************************************************************** * * @param[in] dtyp * Data type of the matrix: - * @arg MorseRealFloat: single precision real (S), - * @arg MorseRealDouble: double precision real (D), - * @arg MorseComplexFloat: single precision complex (C), - * @arg MorseComplexDouble: double precision complex (Z). + * @arg ChamRealFloat: single precision real (S), + * @arg ChamRealDouble: double precision real (D), + * @arg ChamComplexFloat: single precision complex (C), + * @arg ChamComplexDouble: double precision complex (Z). * * @param[in] mb * Number of rows in a tile. @@ -81,14 +81,14 @@ static int nbdesc = 0; * @param[in] q * 2D-block cyclic distribution in columns. * - * @param[in] (*get_blkaddr)( const MORSE_desc_t *A, int m, int n) + * @param[in] (*get_blkaddr)( const CHAM_desc_t *A, int m, int n) * A function which return the address of the data corresponding to * the tile A(m,n). * - * @param[in] (*get_blkldd)( const MORSE_desc_t *A, int m ) + * @param[in] (*get_blkldd)( const CHAM_desc_t *A, int m ) * A function that return the leading dimension of the tile A(m,*). * - * @param[in] (*get_rankof)( const MORSE_desc_t *A, int m, int n) + * @param[in] (*get_rankof)( const CHAM_desc_t *A, int m, int n) * A function that return the MPI rank of the tile A(m,n). * ****************************************************************************** @@ -96,32 +96,32 @@ static int nbdesc = 0; * @return The descriptor with the matrix description parameters set. * */ -MORSE_desc_t morse_desc_init_user(MORSE_enum dtyp, int mb, int nb, int bsiz, +CHAM_desc_t chameleon_desc_init_user(cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q, - void* (*get_blkaddr)( const MORSE_desc_t*, int, int ), - int (*get_blkldd) ( const MORSE_desc_t*, int ), - int (*get_rankof) ( const MORSE_desc_t*, int, int )) + void* (*get_blkaddr)( const CHAM_desc_t*, int, int ), + int (*get_blkldd) ( const CHAM_desc_t*, int ), + int (*get_rankof) ( const CHAM_desc_t*, int, int )) { - MORSE_context_t *morse; - MORSE_desc_t desc; + CHAM_context_t *chamctxt; + CHAM_desc_t desc; - memset( &desc, 0, sizeof(MORSE_desc_t) ); + memset( &desc, 0, sizeof(CHAM_desc_t) ); - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Desc_Create", "MORSE not initialized"); + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Desc_Create", "CHAMELEON not initialized"); return desc; } - // If one of the function get_* is NULL, we switch back to the default, like in morse_desc_init() - desc.get_blkaddr = get_blkaddr ? get_blkaddr : morse_getaddr_ccrb; - desc.get_blkldd = get_blkldd ? get_blkldd : morse_getblkldd_ccrb; - desc.get_rankof = get_rankof ? get_rankof : morse_getrankof_2d; + // If one of the function get_* is NULL, we switch back to the default, like in chameleon_desc_init() + desc.get_blkaddr = get_blkaddr ? get_blkaddr : chameleon_getaddr_ccrb; + desc.get_blkldd = get_blkldd ? get_blkldd : chameleon_getblkldd_ccrb; + desc.get_rankof = get_rankof ? get_rankof : chameleon_getrankof_2d; // Matrix properties desc.dtyp = dtyp; // Should be given as parameter to follow get_blkaddr (unused) - desc.styp = MorseCCRB; + desc.styp = ChamCCRB; desc.mb = mb; desc.nb = nb; desc.bsiz = bsiz; @@ -144,10 +144,10 @@ MORSE_desc_t morse_desc_init_user(MORSE_enum dtyp, int mb, int nb, int bsiz, desc.occurences = 0; desc.use_mat = 1; desc.alloc_mat = 1; - desc.register_mat = (morse->ncudas > 0) ? 1 : 0; + desc.register_mat = (chamctxt->ncudas > 0) ? 1 : 0; desc.ooc = 0; - desc.myrank = RUNTIME_comm_rank( morse ); + desc.myrank = RUNTIME_comm_rank( chamctxt ); // Grid size desc.p = p; @@ -194,43 +194,43 @@ MORSE_desc_t morse_desc_init_user(MORSE_enum dtyp, int mb, int nb, int bsiz, /** * Internal static descriptor initializer */ -MORSE_desc_t morse_desc_init(MORSE_enum dtyp, int mb, int nb, int bsiz, +CHAM_desc_t chameleon_desc_init(cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q) { - return morse_desc_init_user(dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, - morse_getaddr_ccrb, morse_getblkldd_ccrb, morse_getrankof_2d); + return chameleon_desc_init_user(dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, + chameleon_getaddr_ccrb, chameleon_getblkldd_ccrb, chameleon_getrankof_2d); } /** * Internal static descriptor initializer for a block diagonal matrix */ -MORSE_desc_t morse_desc_init_diag(MORSE_enum dtyp, int mb, int nb, int bsiz, +CHAM_desc_t chameleon_desc_init_diag(cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q) { - return morse_desc_init_user(dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, - morse_getaddr_ccrb, morse_getblkldd_ccrb, morse_getrankof_2d_diag); + return chameleon_desc_init_user(dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, + chameleon_getaddr_ccrb, chameleon_getblkldd_ccrb, chameleon_getrankof_2d_diag); } /** * Internal static descriptor initializer for submatrices */ -MORSE_desc_t* morse_desc_submatrix(MORSE_desc_t *descA, int i, int j, int m, int n) +CHAM_desc_t* chameleon_desc_submatrix(CHAM_desc_t *descA, int i, int j, int m, int n) { - MORSE_desc_t *descB = malloc(sizeof(MORSE_desc_t)); + CHAM_desc_t *descB = malloc(sizeof(CHAM_desc_t)); int mb, nb; if ( (descA->i + i + m) > descA->lm ) { - morse_error("morse_desc_submatrix", "The number of rows (i+m) of the submatrix doesn't fit in the parent matrix"); + chameleon_error("chameleon_desc_submatrix", "The number of rows (i+m) of the submatrix doesn't fit in the parent matrix"); assert((descA->i + i + m) > descA->lm); } if ( (descA->j + j + n) > descA->ln ) { - morse_error("morse_desc_submatrix", "The number of rows (j+n) of the submatrix doesn't fit in the parent matrix"); + chameleon_error("chameleon_desc_submatrix", "The number of rows (j+n) of the submatrix doesn't fit in the parent matrix"); assert((descA->j + j + n) > descA->ln); } - memcpy( descB, descA, sizeof(MORSE_desc_t) ); + memcpy( descB, descA, sizeof(CHAM_desc_t) ); mb = descA->mb; nb = descA->nb; // Submatrix parameters @@ -251,84 +251,84 @@ MORSE_desc_t* morse_desc_submatrix(MORSE_desc_t *descA, int i, int j, int m, int /** * Check for descriptor correctness */ -int morse_desc_check(const MORSE_desc_t *desc) +int chameleon_desc_check(const CHAM_desc_t *desc) { if (desc == NULL) { - morse_error("morse_desc_check", "NULL descriptor"); - return MORSE_ERR_NOT_INITIALIZED; + chameleon_error("chameleon_desc_check", "NULL descriptor"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (desc->mat == NULL && desc->use_mat == 1) { - morse_error("morse_desc_check", "NULL matrix pointer"); - return MORSE_ERR_UNALLOCATED; + chameleon_error("chameleon_desc_check", "NULL matrix pointer"); + return CHAMELEON_ERR_UNALLOCATED; } - if (desc->dtyp != MorseRealFloat && - desc->dtyp != MorseRealDouble && - desc->dtyp != MorseComplexFloat && - desc->dtyp != MorseComplexDouble ) { - morse_error("morse_desc_check", "invalid matrix type"); - return MORSE_ERR_ILLEGAL_VALUE; + if (desc->dtyp != ChamRealFloat && + desc->dtyp != ChamRealDouble && + desc->dtyp != ChamComplexFloat && + desc->dtyp != ChamComplexDouble ) { + chameleon_error("chameleon_desc_check", "invalid matrix type"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } if (desc->mb <= 0 || desc->nb <= 0) { - morse_error("morse_desc_check", "negative tile dimension"); - return MORSE_ERR_ILLEGAL_VALUE; + chameleon_error("chameleon_desc_check", "negative tile dimension"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } if (desc->bsiz < desc->mb*desc->nb) { - morse_error("morse_desc_check", "tile memory size smaller than the product of dimensions"); - return MORSE_ERR_ILLEGAL_VALUE; + chameleon_error("chameleon_desc_check", "tile memory size smaller than the product of dimensions"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } if (desc->lm <= 0 || desc->ln <= 0) { - morse_error("morse_desc_check", "negative matrix dimension"); - return MORSE_ERR_ILLEGAL_VALUE; + chameleon_error("chameleon_desc_check", "negative matrix dimension"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } if ((desc->lm < desc->m) || (desc->ln < desc->n)) { - morse_error("morse_desc_check", "matrix dimensions larger than leading dimensions"); - return MORSE_ERR_ILLEGAL_VALUE; + chameleon_error("chameleon_desc_check", "matrix dimensions larger than leading dimensions"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } if ((desc->i > 0 && desc->i >= desc->lm) || (desc->j > 0 && desc->j >= desc->ln)) { - morse_error("morse_desc_check", "beginning of the matrix out of scope"); - return MORSE_ERR_ILLEGAL_VALUE; + chameleon_error("chameleon_desc_check", "beginning of the matrix out of scope"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } if (desc->i+desc->m > desc->lm || desc->j+desc->n > desc->ln) { - morse_error("morse_desc_check", "submatrix out of scope"); - return MORSE_ERR_ILLEGAL_VALUE; + chameleon_error("chameleon_desc_check", "submatrix out of scope"); + return CHAMELEON_ERR_ILLEGAL_VALUE; } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * */ -int morse_desc_mat_alloc( MORSE_desc_t *desc ) +int chameleon_desc_mat_alloc( CHAM_desc_t *desc ) { size_t size = (size_t)(desc->llm) * (size_t)(desc->lln) - * (size_t)MORSE_Element_Size(desc->dtyp); + * (size_t)CHAMELEON_Element_Size(desc->dtyp); if ((desc->mat = RUNTIME_malloc(size)) == NULL) { - morse_error("morse_desc_mat_alloc", "malloc() failed"); - return MORSE_ERR_OUT_OF_RESOURCES; + chameleon_error("chameleon_desc_mat_alloc", "malloc() failed"); + return CHAMELEON_ERR_OUT_OF_RESOURCES; } /* The matrix has already been registered by the Runtime alloc */ desc->register_mat = 0; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * */ -int morse_desc_mat_free( MORSE_desc_t *desc ) +int chameleon_desc_mat_free( CHAM_desc_t *desc ) { if ( (desc->mat != NULL) && (desc->use_mat == 1 ) && (desc->alloc_mat == 1 ) ) { size_t size = (size_t)(desc->llm) * (size_t)(desc->lln) - * (size_t)MORSE_Element_Size(desc->dtyp); + * (size_t)CHAMELEON_Element_Size(desc->dtyp); RUNTIME_free(desc->mat, size); desc->mat = NULL; } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** @@ -336,7 +336,7 @@ int morse_desc_mat_free( MORSE_desc_t *desc ) * * @ingroup Descriptor * - * MORSE_Desc_Create - Create tiled matrix descriptor. + * CHAMELEON_Desc_Create - Create tiled matrix descriptor. * ****************************************************************************** * @@ -349,10 +349,10 @@ int morse_desc_mat_free( MORSE_desc_t *desc ) * * @param[in] dtyp * Data type of the matrix: - * @arg MorseRealFloat: single precision real (S), - * @arg MorseRealDouble: double precision real (D), - * @arg MorseComplexFloat: single precision complex (C), - * @arg MorseComplexDouble: double precision complex (Z). + * @arg ChamRealFloat: single precision real (S), + * @arg ChamRealDouble: double precision real (D), + * @arg ChamComplexFloat: single precision complex (C), + * @arg ChamComplexDouble: double precision complex (Z). * * @param[in] mb * Number of rows in a tile. @@ -390,41 +390,41 @@ int morse_desc_mat_free( MORSE_desc_t *desc ) ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Desc_Create(MORSE_desc_t **descptr, void *mat, MORSE_enum dtyp, int mb, int nb, int bsiz, +int CHAMELEON_Desc_Create(CHAM_desc_t **descptr, void *mat, cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q) { - MORSE_context_t *morse; - MORSE_desc_t *desc; + CHAM_context_t *chamctxt; + CHAM_desc_t *desc; int status; *descptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Desc_Create", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Desc_Create", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Allocate memory and initialize the descriptor */ - desc = (MORSE_desc_t*)malloc(sizeof(MORSE_desc_t)); + desc = (CHAM_desc_t*)malloc(sizeof(CHAM_desc_t)); if (desc == NULL) { - morse_error("MORSE_Desc_Create", "malloc() failed"); - return MORSE_ERR_OUT_OF_RESOURCES; + chameleon_error("CHAMELEON_Desc_Create", "malloc() failed"); + return CHAMELEON_ERR_OUT_OF_RESOURCES; } - *desc = morse_desc_init(dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q); + *desc = chameleon_desc_init(dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q); if (mat == NULL) { size_t size = (size_t)(desc->llm) * (size_t)(desc->lln) - * (size_t)MORSE_Element_Size(desc->dtyp); + * (size_t)CHAMELEON_Element_Size(desc->dtyp); if ((desc->mat = RUNTIME_malloc(size)) == NULL) { - morse_error("MORSE_Desc_Create", "malloc() failed"); + chameleon_error("CHAMELEON_Desc_Create", "malloc() failed"); free(desc); - return MORSE_ERR_OUT_OF_RESOURCES; + return CHAMELEON_ERR_OUT_OF_RESOURCES; } desc->use_mat = 1; desc->alloc_mat = 1; @@ -441,15 +441,15 @@ int MORSE_Desc_Create(MORSE_desc_t **descptr, void *mat, MORSE_enum dtyp, int mb /* Create scheduler structure like registering data */ RUNTIME_desc_create( desc ); - status = morse_desc_check( desc ); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_Desc_Create", "invalid descriptor"); - MORSE_Desc_Destroy( &desc ); + status = chameleon_desc_check( desc ); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_Desc_Create", "invalid descriptor"); + CHAMELEON_Desc_Destroy( &desc ); return status; } *descptr = desc; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** @@ -457,7 +457,7 @@ int MORSE_Desc_Create(MORSE_desc_t **descptr, void *mat, MORSE_enum dtyp, int mb * * @ingroup Descriptor * - * MORSE_Desc_Create_User - Create generic tiled matrix descriptor for general + * CHAMELEON_Desc_Create_User - Create generic tiled matrix descriptor for general * applications. * ****************************************************************************** @@ -471,10 +471,10 @@ int MORSE_Desc_Create(MORSE_desc_t **descptr, void *mat, MORSE_enum dtyp, int mb * * @param[in] dtyp * Data type of the matrix: - * @arg MorseRealFloat: single precision real (S), - * @arg MorseRealDouble: double precision real (D), - * @arg MorseComplexFloat: single precision complex (C), - * @arg MorseComplexDouble: double precision complex (Z). + * @arg ChamRealFloat: single precision real (S), + * @arg ChamRealDouble: double precision real (D), + * @arg ChamComplexFloat: single precision complex (C), + * @arg ChamComplexDouble: double precision complex (Z). * * @param[in] nb * Number of rows and columns in a tile. @@ -491,48 +491,48 @@ int MORSE_Desc_Create(MORSE_desc_t **descptr, void *mat, MORSE_enum dtyp, int mb * @param[in] q * 2d-block cyclic partitioning, number of tiles in columns. * - * @param[in] (*get_blkaddr)( const MORSE_desc_t *A, int m, int n) + * @param[in] (*get_blkaddr)( const CHAM_desc_t *A, int m, int n) * A function which return the address of the data corresponding to * the tile A(m,n). * - * @param[in] (*get_blkldd)( const MORSE_desc_t *A, int m) + * @param[in] (*get_blkldd)( const CHAM_desc_t *A, int m) * A function that return the leading dimension of the tile A(m,*). * - * @param[in] (*get_rankof)( const MORSE_desc_t *A, int m, int n) + * @param[in] (*get_rankof)( const CHAM_desc_t *A, int m, int n) * A function that return the MPI rank of the tile A(m,n). * ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Desc_Create_User(MORSE_desc_t **descptr, void *mat, MORSE_enum dtyp, int mb, int nb, int bsiz, +int CHAMELEON_Desc_Create_User(CHAM_desc_t **descptr, void *mat, cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q, - void* (*get_blkaddr)( const MORSE_desc_t*, int, int ), - int (*get_blkldd) ( const MORSE_desc_t*, int ), - int (*get_rankof) ( const MORSE_desc_t*, int, int )) + void* (*get_blkaddr)( const CHAM_desc_t*, int, int ), + int (*get_blkldd) ( const CHAM_desc_t*, int ), + int (*get_rankof) ( const CHAM_desc_t*, int, int )) { - MORSE_context_t *morse; - MORSE_desc_t *desc; + CHAM_context_t *chamctxt; + CHAM_desc_t *desc; int status; *descptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Desc_Create_User", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Desc_Create_User", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Allocate memory and initialize the descriptor */ - desc = (MORSE_desc_t*)malloc(sizeof(MORSE_desc_t)); + desc = (CHAM_desc_t*)malloc(sizeof(CHAM_desc_t)); if (desc == NULL) { - morse_error("MORSE_Desc_Create_User", "malloc() failed"); - return MORSE_ERR_OUT_OF_RESOURCES; + chameleon_error("CHAMELEON_Desc_Create_User", "malloc() failed"); + return CHAMELEON_ERR_OUT_OF_RESOURCES; } - *desc = morse_desc_init_user(dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, + *desc = chameleon_desc_init_user(dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, get_blkaddr, get_blkldd, get_rankof); /* if the user gives a pointer to the overall data (tiles) we can use it */ @@ -549,15 +549,15 @@ int MORSE_Desc_Create_User(MORSE_desc_t **descptr, void *mat, MORSE_enum dtyp, i /* Create runtime specific structure like registering data */ RUNTIME_desc_create( desc ); - status = morse_desc_check( desc ); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_Desc_Create_User", "invalid descriptor"); - MORSE_Desc_Destroy( &desc ); + status = chameleon_desc_check( desc ); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_Desc_Create_User", "invalid descriptor"); + CHAMELEON_Desc_Destroy( &desc ); return status; } *descptr = desc; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** @@ -565,7 +565,7 @@ int MORSE_Desc_Create_User(MORSE_desc_t **descptr, void *mat, MORSE_enum dtyp, i * * @ingroup Descriptor * - * MORSE_Desc_Create_OOC_User - Create matrix descriptor for tiled matrix which + * CHAMELEON_Desc_Create_OOC_User - Create matrix descriptor for tiled matrix which * may not fit memory. * ****************************************************************************** @@ -575,10 +575,10 @@ int MORSE_Desc_Create_User(MORSE_desc_t **descptr, void *mat, MORSE_enum dtyp, i * * @param[in] dtyp * Data type of the matrix: - * @arg MorseRealFloat: single precision real (S), - * @arg MorseRealDouble: double precision real (D), - * @arg MorseComplexFloat: single precision complex (C), - * @arg MorseComplexDouble: double precision complex (Z). + * @arg ChamRealFloat: single precision real (S), + * @arg ChamRealDouble: double precision real (D), + * @arg ChamComplexFloat: single precision complex (C), + * @arg ChamComplexDouble: double precision complex (Z). * * @param[in] nb * Number of rows and columns in a tile. @@ -595,46 +595,46 @@ int MORSE_Desc_Create_User(MORSE_desc_t **descptr, void *mat, MORSE_enum dtyp, i * @param[in] q * 2d-block cyclic partitioning, number of tiles in columns. * - * @param[in] (*get_rankof)( const MORSE_desc_t *A, int m, int n) + * @param[in] (*get_rankof)( const CHAM_desc_t *A, int m, int n) * A function that return the MPI rank of the tile A(m,n). * ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Desc_Create_OOC_User(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, int nb, int bsiz, +int CHAMELEON_Desc_Create_OOC_User(CHAM_desc_t **descptr, cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q, - int (*get_rankof)( const MORSE_desc_t*, int, int )) + int (*get_rankof)( const CHAM_desc_t*, int, int )) { #if !defined (CHAMELEON_SCHED_STARPU) (void)descptr; (void)dtyp; (void)mb; (void)nb; (void)bsiz; (void)lm; (void)ln; (void)i; (void)j; (void)m; (void)n; (void)p; (void)q; (void)get_rankof; - morse_error("MORSE_Desc_Create_OOC_User", "Only StarPU supports on-demand tile allocation"); - return MORSE_ERR_NOT_INITIALIZED; + chameleon_error("CHAMELEON_Desc_Create_OOC_User", "Only StarPU supports on-demand tile allocation"); + return CHAMELEON_ERR_NOT_INITIALIZED; #else - MORSE_context_t *morse; - MORSE_desc_t *desc; + CHAM_context_t *chamctxt; + CHAM_desc_t *desc; int status; *descptr = NULL; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Desc_Create_OOC_User", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Desc_Create_OOC_User", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Allocate memory and initialize the descriptor */ - desc = (MORSE_desc_t*)malloc(sizeof(MORSE_desc_t)); + desc = (CHAM_desc_t*)malloc(sizeof(CHAM_desc_t)); if (desc == NULL) { - morse_error("MORSE_Desc_Create_OOC_User", "malloc() failed"); - return MORSE_ERR_OUT_OF_RESOURCES; + chameleon_error("CHAMELEON_Desc_Create_OOC_User", "malloc() failed"); + return CHAMELEON_ERR_OUT_OF_RESOURCES; } - *desc = morse_desc_init_user(dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, - morse_getaddr_null, NULL, get_rankof); + *desc = chameleon_desc_init_user(dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, + chameleon_getaddr_null, NULL, get_rankof); /* memory of the matrix is completely handled by runtime */ desc->use_mat = 0; @@ -647,15 +647,15 @@ int MORSE_Desc_Create_OOC_User(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, /* Create scheduler structure like registering data */ RUNTIME_desc_create( desc ); - status = morse_desc_check( desc ); - if (status != MORSE_SUCCESS) { - morse_error("MORSE_Desc_Create_OOC_User", "invalid descriptor"); - MORSE_Desc_Destroy( &desc ); + status = chameleon_desc_check( desc ); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("CHAMELEON_Desc_Create_OOC_User", "invalid descriptor"); + CHAMELEON_Desc_Destroy( &desc ); return status; } *descptr = desc; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; #endif } @@ -664,7 +664,7 @@ int MORSE_Desc_Create_OOC_User(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, * * @ingroup Descriptor * - * MORSE_Desc_Create_OOC - Create matrix descriptor for tiled matrix which may + * CHAMELEON_Desc_Create_OOC - Create matrix descriptor for tiled matrix which may * not fit memory. * ****************************************************************************** @@ -674,10 +674,10 @@ int MORSE_Desc_Create_OOC_User(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, * * @param[in] dtyp * Data type of the matrix: - * @arg MorseRealFloat: single precision real (S), - * @arg MorseRealDouble: double precision real (D), - * @arg MorseComplexFloat: single precision complex (C), - * @arg MorseComplexDouble: double precision complex (Z). + * @arg ChamRealFloat: single precision real (S), + * @arg ChamRealDouble: double precision real (D), + * @arg ChamComplexFloat: single precision complex (C), + * @arg ChamComplexDouble: double precision complex (Z). * * @param[in] nb * Number of rows and columns in a tile. @@ -697,15 +697,15 @@ int MORSE_Desc_Create_OOC_User(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Desc_Create_OOC(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, int nb, int bsiz, +int CHAMELEON_Desc_Create_OOC(CHAM_desc_t **descptr, cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q) { - return MORSE_Desc_Create_OOC_User( descptr, dtyp, mb, nb, bsiz, + return CHAMELEON_Desc_Create_OOC_User( descptr, dtyp, mb, nb, bsiz, lm, ln, i, j, m, n, p, q, - morse_getrankof_2d ); + chameleon_getrankof_2d ); } /** @@ -713,7 +713,7 @@ int MORSE_Desc_Create_OOC(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, int n * * @ingroup Descriptor * - * MORSE_Desc_Destroy - Destroys matrix descriptor. + * CHAMELEON_Desc_Destroy - Destroys matrix descriptor. * ****************************************************************************** * @@ -723,29 +723,29 @@ int MORSE_Desc_Create_OOC(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, int n ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Desc_Destroy(MORSE_desc_t **desc) +int CHAMELEON_Desc_Destroy(CHAM_desc_t **desc) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Desc_Destroy", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_error("CHAMELEON_Desc_Destroy", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (*desc == NULL) { - morse_error("MORSE_Desc_Destroy", "attempting to destroy a NULL descriptor"); - return MORSE_ERR_UNALLOCATED; + chameleon_error("CHAMELEON_Desc_Destroy", "attempting to destroy a NULL descriptor"); + return CHAMELEON_ERR_UNALLOCATED; } RUNTIME_desc_destroy( *desc ); - morse_desc_mat_free( *desc ); + chameleon_desc_mat_free( *desc ); free(*desc); *desc = NULL; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** @@ -753,7 +753,7 @@ int MORSE_Desc_Destroy(MORSE_desc_t **desc) * * @ingroup Descriptor * - * MORSE_Desc_Acquire - Ensures that all data of the descriptor are + * CHAMELEON_Desc_Acquire - Ensures that all data of the descriptor are * up-to-date. * ****************************************************************************** @@ -764,10 +764,10 @@ int MORSE_Desc_Destroy(MORSE_desc_t **desc) ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Desc_Acquire (MORSE_desc_t *desc) { +int CHAMELEON_Desc_Acquire (CHAM_desc_t *desc) { return RUNTIME_desc_acquire( desc ); } @@ -776,8 +776,8 @@ int MORSE_Desc_Acquire (MORSE_desc_t *desc) { * * @ingroup Descriptor * - * MORSE_Desc_Release - Release the data of the descriptor acquired by the - * application. Should be called if MORSE_Desc_Acquire has been called on the + * CHAMELEON_Desc_Release - Release the data of the descriptor acquired by the + * application. Should be called if CHAMELEON_Desc_Acquire has been called on the * descriptor and if you do not need to access to its data anymore. * ****************************************************************************** @@ -788,10 +788,10 @@ int MORSE_Desc_Acquire (MORSE_desc_t *desc) { ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Desc_Release (MORSE_desc_t *desc) { +int CHAMELEON_Desc_Release (CHAM_desc_t *desc) { return RUNTIME_desc_release( desc ); } @@ -800,7 +800,7 @@ int MORSE_Desc_Release (MORSE_desc_t *desc) { * * @ingroup Descriptor * - * MORSE_Desc_Flush - Flushes the data in the sequence when they won't be reused. This calls cleans up the distributed communication caches, and transfer the data back to the CPU. + * CHAMELEON_Desc_Flush - Flushes the data in the sequence when they won't be reused. This calls cleans up the distributed communication caches, and transfer the data back to the CPU. * ****************************************************************************** * @@ -810,14 +810,14 @@ int MORSE_Desc_Release (MORSE_desc_t *desc) { ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Desc_Flush( MORSE_desc_t *desc, - MORSE_sequence_t *sequence ) +int CHAMELEON_Desc_Flush( CHAM_desc_t *desc, + RUNTIME_sequence_t *sequence ) { RUNTIME_desc_flush( desc, sequence ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** @@ -825,7 +825,7 @@ int MORSE_Desc_Flush( MORSE_desc_t *desc, * * @ingroup Descriptor * - * MORSE_user_tag_size - Set the sizes for the MPI tags + * CHAMELEON_user_tag_size - Set the sizes for the MPI tags * Default value: tag_width=31, tag_sep=24, meaning that the MPI tag is stored * in 31 bits, with 24 bits for the tile tag and 7 for the descriptor. This * function must be called before any descriptor creation. @@ -844,7 +844,7 @@ int MORSE_Desc_Flush( MORSE_desc_t *desc, * \retval none * */ -void MORSE_user_tag_size(int user_tag_width, int user_tag_sep) { +void CHAMELEON_user_tag_size(int user_tag_width, int user_tag_sep) { RUNTIME_comm_set_tag_sizes( user_tag_width, user_tag_sep ); return; } diff --git a/control/descriptor.h b/control/descriptor.h index a8da5b094c21553b3ddd8b192e2113b3ebcd0196..ac7535e094b81c37743ab0306c2a3ddd6b2fe107 100644 --- a/control/descriptor.h +++ b/control/descriptor.h @@ -18,12 +18,12 @@ * @date 2012-09-15 * */ -#ifndef _MORSE_DESCRIPTOR_H_ -#define _MORSE_DESCRIPTOR_H_ +#ifndef _CHAMELEON_DESCRIPTOR_H_ +#define _CHAMELEON_DESCRIPTOR_H_ #include <assert.h> -#include "chameleon/chameleon_config.h" -#include "chameleon/morse_struct.h" +#include "chameleon/config.h" +#include "chameleon/struct.h" #include "control/auxiliary.h" #ifdef __cplusplus @@ -33,45 +33,45 @@ extern "C" { /** * Internal routines */ -inline static void* morse_geteltaddr(const MORSE_desc_t *A, int m, int n, int eltsize); -inline static void* morse_getaddr_cm (const MORSE_desc_t *A, int m, int n); -inline static void* morse_getaddr_ccrb (const MORSE_desc_t *A, int m, int n); -inline static void* morse_getaddr_null (const MORSE_desc_t *A, int m, int n); -inline static int morse_getblkldd_cm (const MORSE_desc_t *A, int m); -inline static int morse_getblkldd_ccrb(const MORSE_desc_t *A, int m); +inline static void* chameleon_geteltaddr(const CHAM_desc_t *A, int m, int n, int eltsize); +inline static void* chameleon_getaddr_cm (const CHAM_desc_t *A, int m, int n); +inline static void* chameleon_getaddr_ccrb (const CHAM_desc_t *A, int m, int n); +inline static void* chameleon_getaddr_null (const CHAM_desc_t *A, int m, int n); +inline static int chameleon_getblkldd_cm (const CHAM_desc_t *A, int m); +inline static int chameleon_getblkldd_ccrb(const CHAM_desc_t *A, int m); /** * Data distributions */ -inline static int morse_getrankof_2d(const MORSE_desc_t *desc, int m, int n); -inline static int morse_getrankof_2d_diag(const MORSE_desc_t *desc, int m, int n); +inline static int chameleon_getrankof_2d(const CHAM_desc_t *desc, int m, int n); +inline static int chameleon_getrankof_2d_diag(const CHAM_desc_t *desc, int m, int n); -MORSE_desc_t morse_desc_init(MORSE_enum dtyp, int mb, int nb, int bsiz, +CHAM_desc_t chameleon_desc_init(cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q); -MORSE_desc_t morse_desc_init_diag(MORSE_enum dtyp, int mb, int nb, int bsiz, +CHAM_desc_t chameleon_desc_init_diag(cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q); -MORSE_desc_t morse_desc_init_user(MORSE_enum dtyp, int mb, int nb, int bsiz, +CHAM_desc_t chameleon_desc_init_user(cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q, - void* (*get_blkaddr)( const MORSE_desc_t*, int, int ), - int (*get_blkldd)( const MORSE_desc_t*, int ), - int (*get_rankof)( const MORSE_desc_t*, int, int )); -MORSE_desc_t* morse_desc_submatrix(MORSE_desc_t *descA, int i, int j, int m, int n); + void* (*get_blkaddr)( const CHAM_desc_t*, int, int ), + int (*get_blkldd)( const CHAM_desc_t*, int ), + int (*get_rankof)( const CHAM_desc_t*, int, int )); +CHAM_desc_t* chameleon_desc_submatrix(CHAM_desc_t *descA, int i, int j, int m, int n); -int morse_desc_check (const MORSE_desc_t *desc); -int morse_desc_mat_alloc(MORSE_desc_t *desc); -int morse_desc_mat_free (MORSE_desc_t *desc); +int chameleon_desc_check (const CHAM_desc_t *desc); +int chameleon_desc_mat_alloc(CHAM_desc_t *desc); +int chameleon_desc_mat_free (CHAM_desc_t *desc); #define BLKLDD(A, k) A->get_blkldd( A, k ) /** * Internal function to return address of block (m,n) with m,n = block indices */ -inline static void* morse_getaddr_ccrb(const MORSE_desc_t *A, int m, int n) +inline static void* chameleon_getaddr_ccrb(const CHAM_desc_t *A, int m, int n) { size_t mm = m + A->i / A->mb; size_t nn = n + A->j / A->nb; - size_t eltsize = MORSE_Element_Size(A->dtyp); + size_t eltsize = CHAMELEON_Element_Size(A->dtyp); size_t offset = 0; #if defined(CHAMELEON_USE_MPI) @@ -99,11 +99,11 @@ inline static void* morse_getaddr_ccrb(const MORSE_desc_t *A, int m, int n) /** * Internal function to return address of block (m,n) with m,n = block indices */ -inline static void *morse_getaddr_cm(const MORSE_desc_t *A, int m, int n) +inline static void *chameleon_getaddr_cm(const CHAM_desc_t *A, int m, int n) { size_t mm = m + A->i / A->mb; size_t nn = n + A->j / A->nb; - size_t eltsize = MORSE_Element_Size(A->dtyp); + size_t eltsize = CHAMELEON_Element_Size(A->dtyp); size_t offset = 0; #if defined(CHAMELEON_USE_MPI) @@ -120,7 +120,7 @@ inline static void *morse_getaddr_cm(const MORSE_desc_t *A, int m, int n) * Internal function to return address of block (m,n) with m,n = block indices * This version lets the runtime allocate on-demand. */ -inline static void *morse_getaddr_null(const MORSE_desc_t *A, int m, int n) +inline static void *chameleon_getaddr_null(const CHAM_desc_t *A, int m, int n) { (void)A; (void)m; (void)n; return NULL; @@ -129,7 +129,7 @@ inline static void *morse_getaddr_null(const MORSE_desc_t *A, int m, int n) /** * Internal function to return address of element A(m,n) with m,n = matrix indices */ -inline static void* morse_geteltaddr(const MORSE_desc_t *A, int m, int n, int eltsize) // Not used anywhere ?! +inline static void* chameleon_geteltaddr(const CHAM_desc_t *A, int m, int n, int eltsize) // Not used anywhere ?! { size_t mm = (m + A->i)/A->mb; size_t nn = (n + A->j)/A->nb; @@ -159,13 +159,13 @@ inline static void* morse_geteltaddr(const MORSE_desc_t *A, int m, int n, int el /** * Internal function to return the leading dimension of element A(m,*) with m,n = block indices */ -inline static int morse_getblkldd_ccrb(const MORSE_desc_t *A, int m) +inline static int chameleon_getblkldd_ccrb(const CHAM_desc_t *A, int m) { int mm = m + A->i / A->mb; return ( ((mm+1) == A->lmt) && ((A->lm % A->mb) != 0)) ? A->lm % A->mb : A->mb; } -inline static int morse_getblkldd_cm(const MORSE_desc_t *A, int m) { +inline static int chameleon_getblkldd_cm(const CHAM_desc_t *A, int m) { (void)m; return A->llm; } @@ -174,7 +174,7 @@ inline static int morse_getblkldd_cm(const MORSE_desc_t *A, int m) { /** * Internal function to return MPI rank of element A(m,n) with m,n = block indices */ -inline static int morse_getrankof_2d(const MORSE_desc_t *A, int m, int n) +inline static int chameleon_getrankof_2d(const CHAM_desc_t *A, int m, int n) { int mm = m + A->i / A->mb; int nn = n + A->j / A->nb; @@ -184,7 +184,7 @@ inline static int morse_getrankof_2d(const MORSE_desc_t *A, int m, int n) /** * Internal function to return MPI rank of element DIAG(m,0) with m,n = block indices */ -inline static int morse_getrankof_2d_diag(const MORSE_desc_t *A, int m, int n) +inline static int chameleon_getrankof_2d_diag(const CHAM_desc_t *A, int m, int n) { int mm = m + A->i / A->mb; assert( n == 0 ); @@ -195,7 +195,7 @@ inline static int morse_getrankof_2d_diag(const MORSE_desc_t *A, int m, int n) /** * Detect if the tile is local or not */ -inline static int morse_desc_islocal( const MORSE_desc_t *A, int m, int n ) +inline static int chameleon_desc_islocal( const CHAM_desc_t *A, int m, int n ) { #if defined(CHAMELEON_USE_MPI) return (A->myrank == A->get_rankof(A, m, n)); @@ -207,39 +207,39 @@ inline static int morse_desc_islocal( const MORSE_desc_t *A, int m, int n ) /** * Declare data accesses of codelets using these macros, for instance: - * MORSE_BEGIN_ACCESS_DECLARATION - * MORSE_ACCESS_R(A, Am, An) - * MORSE_ACCESS_R(B, Bm, Bn) - * MORSE_ACCESS_RW(C, Cm, Cn) - * MORSE_END_ACCESS_DECLARATION + * CHAMELEON_BEGIN_ACCESS_DECLARATION + * CHAMELEON_ACCESS_R(A, Am, An) + * CHAMELEON_ACCESS_R(B, Bm, Bn) + * CHAMELEON_ACCESS_RW(C, Cm, Cn) + * CHAMELEON_END_ACCESS_DECLARATION */ -#define MORSE_BEGIN_ACCESS_DECLARATION { \ - unsigned __morse_need_submit = 0; \ +#define CHAMELEON_BEGIN_ACCESS_DECLARATION { \ + unsigned __chameleon_need_submit = 0; \ RUNTIME_BEGIN_ACCESS_DECLARATION -#define MORSE_ACCESS_R(A, Am, An) do { \ - if (morse_desc_islocal(A, Am, An)) __morse_need_submit = 1; \ +#define CHAMELEON_ACCESS_R(A, Am, An) do { \ + if (chameleon_desc_islocal(A, Am, An)) __chameleon_need_submit = 1; \ RUNTIME_ACCESS_R(A, Am, An); \ } while(0) -#define MORSE_ACCESS_W(A, Am, An) do { \ - if (morse_desc_islocal(A, Am, An)) __morse_need_submit = 1; \ +#define CHAMELEON_ACCESS_W(A, Am, An) do { \ + if (chameleon_desc_islocal(A, Am, An)) __chameleon_need_submit = 1; \ RUNTIME_ACCESS_W(A, Am, An); \ } while(0) -#define MORSE_ACCESS_RW(A, Am, An) do { \ - if (morse_desc_islocal(A, Am, An)) __morse_need_submit = 1; \ +#define CHAMELEON_ACCESS_RW(A, Am, An) do { \ + if (chameleon_desc_islocal(A, Am, An)) __chameleon_need_submit = 1; \ RUNTIME_ACCESS_RW(A, Am, An); \ } while(0) -#define MORSE_RANK_CHANGED(rank) do {\ - __morse_need_submit = 1; \ +#define CHAMELEON_RANK_CHANGED(rank) do {\ + __chameleon_need_submit = 1; \ RUNTIME_RANK_CHANGED(rank); \ } while (0) -#define MORSE_END_ACCESS_DECLARATION \ +#define CHAMELEON_END_ACCESS_DECLARATION \ RUNTIME_END_ACCESS_DECLARATION; \ - if (!__morse_need_submit) return; \ + if (!__chameleon_need_submit) return; \ } #ifdef __cplusplus diff --git a/control/global.h b/control/global.h index 7386a3600da16f6b2449af2c21defdeac12773b0..07283e635a2fec20aa6de47823594419084b21ce 100644 --- a/control/global.h +++ b/control/global.h @@ -19,14 +19,14 @@ * */ /** - * MORSE internals of interest to MORSE core developers, but not necessarily - * of interest to MORSE community contributors. + * CHAMELEON internals of interest to CHAMELEON core developers, but not necessarily + * of interest to CHAMELEON community contributors. */ -#ifndef _MORSE_GLOBAL_H_ -#define _MORSE_GLOBAL_H_ +#ifndef _CHAMELEON_GLOBAL_H_ +#define _CHAMELEON_GLOBAL_H_ #if defined( _WIN32 ) || defined( _WIN64 ) -#include "control/morsewinthread.h" +#include "control/chameleonwinthread.h" #else #include <pthread.h> #endif @@ -34,81 +34,81 @@ /** * Numerical operations */ -#define MORSE_FUNC_SGELS 1 -#define MORSE_FUNC_SPOSV 2 -#define MORSE_FUNC_SGESV 3 -#define MORSE_FUNC_DGELS 4 -#define MORSE_FUNC_DPOSV 5 -#define MORSE_FUNC_DGESV 6 -#define MORSE_FUNC_CGELS 7 -#define MORSE_FUNC_CPOSV 8 -#define MORSE_FUNC_CGESV 9 -#define MORSE_FUNC_ZGELS 10 -#define MORSE_FUNC_ZPOSV 11 -#define MORSE_FUNC_ZGESV 12 -#define MORSE_FUNC_ZCGESV 13 -#define MORSE_FUNC_DSGESV 14 -#define MORSE_FUNC_ZCPOSV 15 -#define MORSE_FUNC_DSPOSV 16 -#define MORSE_FUNC_DSGELS 17 -#define MORSE_FUNC_ZCGELS 18 -#define MORSE_FUNC_SGEMM 19 -#define MORSE_FUNC_DGEMM 20 -#define MORSE_FUNC_CGEMM 21 -#define MORSE_FUNC_ZGEMM 22 -#define MORSE_FUNC_SSYMM 23 -#define MORSE_FUNC_DSYMM 24 -#define MORSE_FUNC_CSYMM 25 -#define MORSE_FUNC_ZSYMM 26 -#define MORSE_FUNC_CHERK 27 -#define MORSE_FUNC_ZHERK 28 -#define MORSE_FUNC_SSYRK 29 -#define MORSE_FUNC_DSYRK 30 -#define MORSE_FUNC_CSYRK 31 -#define MORSE_FUNC_ZSYRK 32 -#define MORSE_FUNC_CHEMM 33 -#define MORSE_FUNC_ZHEMM 34 -#define MORSE_FUNC_ZHEEV 35 -#define MORSE_FUNC_CHEEV 36 -#define MORSE_FUNC_DSYEV 37 -#define MORSE_FUNC_SSYEV 38 -#define MORSE_FUNC_ZHEEVD 39 -#define MORSE_FUNC_CHEEVD 40 -#define MORSE_FUNC_DSYEVD 41 -#define MORSE_FUNC_SSYEVD 42 -#define MORSE_FUNC_ZHEGST 43 -#define MORSE_FUNC_CHEGST 44 -#define MORSE_FUNC_DSYGST 45 -#define MORSE_FUNC_SSYGST 46 -#define MORSE_FUNC_ZHEGV 47 -#define MORSE_FUNC_CHEGV 48 -#define MORSE_FUNC_DSYGV 49 -#define MORSE_FUNC_SSYGV 50 -#define MORSE_FUNC_ZHEGVD 51 -#define MORSE_FUNC_CHEGVD 52 -#define MORSE_FUNC_DSYGVD 53 -#define MORSE_FUNC_SSYGVD 54 -#define MORSE_FUNC_ZHETRD 55 -#define MORSE_FUNC_CHETRD 56 -#define MORSE_FUNC_DSYTRD 57 -#define MORSE_FUNC_SSYTRD 58 -#define MORSE_FUNC_ZGESVD 59 -#define MORSE_FUNC_CGESVD 60 -#define MORSE_FUNC_DGESVD 61 -#define MORSE_FUNC_SGESVD 62 -#define MORSE_FUNC_ZGEEV 63 -#define MORSE_FUNC_CGEEV 64 -#define MORSE_FUNC_DGEEV 65 -#define MORSE_FUNC_SGEEV 66 -#define MORSE_FUNC_ZGEHRD 67 -#define MORSE_FUNC_CGEHRD 68 -#define MORSE_FUNC_DGEHRD 69 -#define MORSE_FUNC_SGEHRD 70 -#define MORSE_FUNC_ZGEBRD 71 -#define MORSE_FUNC_CGEBRD 72 -#define MORSE_FUNC_DGEBRD 73 -#define MORSE_FUNC_SGEBRD 74 -#define MORSE_FUNC_ZSYSV 75 -#define MORSE_FUNC_CSYSV 76 +#define CHAMELEON_FUNC_SGELS 1 +#define CHAMELEON_FUNC_SPOSV 2 +#define CHAMELEON_FUNC_SGESV 3 +#define CHAMELEON_FUNC_DGELS 4 +#define CHAMELEON_FUNC_DPOSV 5 +#define CHAMELEON_FUNC_DGESV 6 +#define CHAMELEON_FUNC_CGELS 7 +#define CHAMELEON_FUNC_CPOSV 8 +#define CHAMELEON_FUNC_CGESV 9 +#define CHAMELEON_FUNC_ZGELS 10 +#define CHAMELEON_FUNC_ZPOSV 11 +#define CHAMELEON_FUNC_ZGESV 12 +#define CHAMELEON_FUNC_ZCGESV 13 +#define CHAMELEON_FUNC_DSGESV 14 +#define CHAMELEON_FUNC_ZCPOSV 15 +#define CHAMELEON_FUNC_DSPOSV 16 +#define CHAMELEON_FUNC_DSGELS 17 +#define CHAMELEON_FUNC_ZCGELS 18 +#define CHAMELEON_FUNC_SGEMM 19 +#define CHAMELEON_FUNC_DGEMM 20 +#define CHAMELEON_FUNC_CGEMM 21 +#define CHAMELEON_FUNC_ZGEMM 22 +#define CHAMELEON_FUNC_SSYMM 23 +#define CHAMELEON_FUNC_DSYMM 24 +#define CHAMELEON_FUNC_CSYMM 25 +#define CHAMELEON_FUNC_ZSYMM 26 +#define CHAMELEON_FUNC_CHERK 27 +#define CHAMELEON_FUNC_ZHERK 28 +#define CHAMELEON_FUNC_SSYRK 29 +#define CHAMELEON_FUNC_DSYRK 30 +#define CHAMELEON_FUNC_CSYRK 31 +#define CHAMELEON_FUNC_ZSYRK 32 +#define CHAMELEON_FUNC_CHEMM 33 +#define CHAMELEON_FUNC_ZHEMM 34 +#define CHAMELEON_FUNC_ZHEEV 35 +#define CHAMELEON_FUNC_CHEEV 36 +#define CHAMELEON_FUNC_DSYEV 37 +#define CHAMELEON_FUNC_SSYEV 38 +#define CHAMELEON_FUNC_ZHEEVD 39 +#define CHAMELEON_FUNC_CHEEVD 40 +#define CHAMELEON_FUNC_DSYEVD 41 +#define CHAMELEON_FUNC_SSYEVD 42 +#define CHAMELEON_FUNC_ZHEGST 43 +#define CHAMELEON_FUNC_CHEGST 44 +#define CHAMELEON_FUNC_DSYGST 45 +#define CHAMELEON_FUNC_SSYGST 46 +#define CHAMELEON_FUNC_ZHEGV 47 +#define CHAMELEON_FUNC_CHEGV 48 +#define CHAMELEON_FUNC_DSYGV 49 +#define CHAMELEON_FUNC_SSYGV 50 +#define CHAMELEON_FUNC_ZHEGVD 51 +#define CHAMELEON_FUNC_CHEGVD 52 +#define CHAMELEON_FUNC_DSYGVD 53 +#define CHAMELEON_FUNC_SSYGVD 54 +#define CHAMELEON_FUNC_ZHETRD 55 +#define CHAMELEON_FUNC_CHETRD 56 +#define CHAMELEON_FUNC_DSYTRD 57 +#define CHAMELEON_FUNC_SSYTRD 58 +#define CHAMELEON_FUNC_ZGESVD 59 +#define CHAMELEON_FUNC_CGESVD 60 +#define CHAMELEON_FUNC_DGESVD 61 +#define CHAMELEON_FUNC_SGESVD 62 +#define CHAMELEON_FUNC_ZGEEV 63 +#define CHAMELEON_FUNC_CGEEV 64 +#define CHAMELEON_FUNC_DGEEV 65 +#define CHAMELEON_FUNC_SGEEV 66 +#define CHAMELEON_FUNC_ZGEHRD 67 +#define CHAMELEON_FUNC_CGEHRD 68 +#define CHAMELEON_FUNC_DGEHRD 69 +#define CHAMELEON_FUNC_SGEHRD 70 +#define CHAMELEON_FUNC_ZGEBRD 71 +#define CHAMELEON_FUNC_CGEBRD 72 +#define CHAMELEON_FUNC_DGEBRD 73 +#define CHAMELEON_FUNC_SGEBRD 74 +#define CHAMELEON_FUNC_ZSYSV 75 +#define CHAMELEON_FUNC_CSYSV 76 #endif diff --git a/control/morse_f77.c b/control/morse_f77.c deleted file mode 100644 index 690dfd03bec7e175737a742bfff2c4736d798f77..0000000000000000000000000000000000000000 --- a/control/morse_f77.c +++ /dev/null @@ -1,107 +0,0 @@ -/** - * - * @file morse_f77.c - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon Fortran77 interface - * - * @version 1.0.0 - * @author Bilel Hadri - * @author Cedric Castagnede - * @author Florent Pruvost - * @date 2010-11-15 - * - */ -#include <stdlib.h> -#include "control/common.h" -#include "morse.h" -#include "morse_f77.h" - -#ifdef __cplusplus -extern "C" { -#endif - - /** - * FORTRAN API - auxiliary function prototypes - */ - void MORSE_INIT(int *CORES, int *NGPUS, int *INFO) - { *INFO = MORSE_Init(*CORES, *NGPUS); } - - void MORSE_FINALIZE(int *INFO) - { *INFO = MORSE_Finalize(); } - - void MORSE_ENABLE(MORSE_enum *lever, int *INFO) - { *INFO = MORSE_Enable(*lever); } - - void MORSE_DISABLE(MORSE_enum *lever, int *INFO) - { *INFO = MORSE_Disable(*lever); } - - void MORSE_SET(MORSE_enum *param, int *value, int *INFO) - { *INFO = MORSE_Set(*param, *value); } - - void MORSE_GET(MORSE_enum *param, int *value, int *INFO) - { *INFO = MORSE_Get(*param, value); } - - void MORSE_DEALLOC_HANDLE(size_t *sp, int *INFO) - { free((void *)(*sp)); - *INFO = MORSE_SUCCESS; } - - void MORSE_VERSION(int *VER_MAJOR, int *VER_MINOR, int *VER_MICRO, int *INFO) - { - *VER_MAJOR = CHAMELEON_VERSION_MAJOR; - *VER_MINOR = CHAMELEON_VERSION_MINOR; - *VER_MICRO = CHAMELEON_VERSION_MICRO; - *INFO = MORSE_SUCCESS; - } - - /** - * FORTRAN API - descriptor allocation and deallocation - */ - void MORSE_DESC_CREATE(MORSE_desc_t **desc, void *mat, MORSE_enum *dtyp, - int *mb, int *nb, int *bsiz, int *lm, int *ln, - int *i, int *j, int *m, int *n, int *p, int *q, - int *INFO) - { *INFO = MORSE_Desc_Create(desc, mat, *dtyp, *mb, *nb, *bsiz, *lm, *ln, *i, *j, *m, *n, *p, *q); } - void MORSE_DESC_CREATE_OOC(MORSE_desc_t **desc, MORSE_enum *dtyp, - int *mb, int *nb, int *bsiz, int *lm, int *ln, - int *i, int *j, int *m, int *n, int *p, int *q, - int *INFO) - { *INFO = MORSE_Desc_Create_OOC(desc, *dtyp, *mb, *nb, *bsiz, *lm, *ln, *i, *j, *m, *n, *p, *q); } - void MORSE_DESC_CREATE_USER(MORSE_desc_t **descptr, void *mat, MORSE_enum *dtyp, - int *mb, int *nb, int *bsiz, int *lm, int *ln, - int *i, int *j, int *m, int *n, int *p, int *q, - void* (*get_blkaddr)( const MORSE_desc_t*, int, int ), - int (*get_blkldd) ( const MORSE_desc_t*, int ), - int (*get_rankof) ( const MORSE_desc_t*, int, int ), - int *INFO) - { *INFO = MORSE_Desc_Create_User(descptr, mat, *dtyp, *mb, *nb, *bsiz, *lm, *ln, *i, *j, *m, *n, *p, *q, - get_blkaddr, get_blkldd, get_rankof); } - void MORSE_DESC_CREATE_OOC_USER(MORSE_desc_t **descptr, MORSE_enum *dtyp, - int *mb, int *nb, int *bsiz, int *lm, int *ln, - int *i, int *j, int *m, int *n, int *p, int *q, - int (*get_rankof) ( const MORSE_desc_t*, int, int ), - int *INFO) - { *INFO = MORSE_Desc_Create_OOC_User(descptr, *dtyp, *mb, *nb, *bsiz, *lm, *ln, *i, *j, *m, *n, *p, *q, - get_rankof); } - - void MORSE_DESC_DESTROY(MORSE_desc_t **desc, int *INFO) - { *INFO = MORSE_Desc_Destroy(desc); } - - /** - * FORTRAN API - conversion from LAPACK F77 matrix layout to tile layout - */ - void MORSE_LAPACK_TO_TILE(intptr_t *Af77, int *LDA, intptr_t *A, int *INFO) - { *INFO = MORSE_Lapack_to_Tile( (void *)Af77, *LDA, (MORSE_desc_t *)(*A)); } - - void MORSE_TILE_TO_LAPACK(intptr_t *A, intptr_t *Af77, int *LDA, int *INFO) - { *INFO = MORSE_Tile_to_Lapack((MORSE_desc_t *)(*A), (void *)Af77, *LDA); } - -#ifdef __cplusplus -} -#endif diff --git a/control/morse_f77.h b/control/morse_f77.h deleted file mode 100644 index 32a52a62f4741e412f7608095be5e64848b47185..0000000000000000000000000000000000000000 --- a/control/morse_f77.h +++ /dev/null @@ -1,49 +0,0 @@ -/** - * - * @file morse_f77.h - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon Fortran77 naming macros - * - * @version 1.0.0 - * @author Florent Pruvost - * @date 2017-05-03 - * - */ -#ifndef _MORSE_F77_H_ -#define _MORSE_F77_H_ - -#include "chameleon/morse_mangling.h" - -/** - * Determine FORTRAN names - */ -#define MORSE_FNAME(lcname, UCNAME) MORSE_GLOBAL(morse_##lcname, MORSE_##UCNAME) -#define MORSE_TILE_FNAME(lcname, UCNAME) MORSE_GLOBAL(morse_##lcname##_tile, MORSE_##UCNAME##_TILE) -#define MORSE_ASYNC_FNAME(lcname, UCNAME) MORSE_GLOBAL(morse_##lcname##_tile_async, MORSE_##UCNAME##_TILE_ASYNC) -#define MORSE_WS_FNAME(lcname, UCNAME) MORSE_GLOBAL(morse_alloc_workspace_##lcname, MORSE_ALLOC_WORKSPACE_##UCNAME) -#define MORSE_WST_FNAME(lcname, UCNAME) MORSE_GLOBAL(morse_alloc_workspace_##lcname##_tile, MORSE_ALLOC_WORKSPACE_##UCNAME##_TILE) - -#define MORSE_INIT MORSE_GLOBAL(morse_init, MORSE_INIT) -#define MORSE_FINALIZE MORSE_GLOBAL(morse_finalize, MORSE_FINALIZE) -#define MORSE_ENABLE MORSE_GLOBAL(morse_enable, MORSE_ENABLE) -#define MORSE_DISABLE MORSE_GLOBAL(morse_disable, MORSE_DISABLE) -#define MORSE_SET MORSE_GLOBAL(morse_set, MORSE_SET) -#define MORSE_GET MORSE_GLOBAL(morse_get, MORSE_GET) -#define MORSE_DEALLOC_HANDLE MORSE_GLOBAL(morse_dealloc_handle, MORSE_DEALLOC_HANDLE) -#define MORSE_VERSION MORSE_GLOBAL(morse_version, MORSE_VERSION) -#define MORSE_DESC_CREATE MORSE_GLOBAL(morse_desc_create, MORSE_DESC_CREATE) -#define MORSE_DESC_CREATE_OOC MORSE_GLOBAL(morse_desc_create_ooc, MORSE_DESC_CREATE_OOC) -#define MORSE_DESC_CREATE_USER MORSE_GLOBAL(morse_desc_create_user, MORSE_DESC_CREATE_USER) -#define MORSE_DESC_CREATE_OOC_USER MORSE_GLOBAL(morse_desc_create_ooc_user, MORSE_DESC_CREATE_OOC_USER) -#define MORSE_DESC_DESTROY MORSE_GLOBAL(morse_desc_destroy, MORSE_DESC_DESTROY) -#define MORSE_LAPACK_TO_TILE MORSE_GLOBAL(morse_lapack_to_tile, MORSE_LAPACK_TO_TILE) -#define MORSE_TILE_TO_LAPACK MORSE_GLOBAL(morse_tile_to_lapack, MORSE_TILE_TO_LAPACK) - -#endif diff --git a/control/morse_mf77.c b/control/morse_mf77.c deleted file mode 100644 index 570b670bc290c2697015c3ddecfb334011718716..0000000000000000000000000000000000000000 --- a/control/morse_mf77.c +++ /dev/null @@ -1,101 +0,0 @@ -/** - * - * @file morse_mf77.c - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon Fortran77 interface for mixed-precision computational routines - * - * @version 1.0.0 - * @author Bilel Hadri - * @author Cedric Castagnede - * @date 2010-11-15 - * - */ -#include <stdlib.h> -#include "control/common.h" - -#define MORSE_ZCGESV MORSE_FNAME(zcgesv, ZCGESV) -#define MORSE_DSGESV MORSE_FNAME(dsgesv, DSGESV) -#define MORSE_ZCPOSV MORSE_FNAME(zcposv, ZCPOSV) -#define MORSE_DSPOSV MORSE_FNAME(dsposv, DSPOSV) -#define MORSE_ZCGELS MORSE_FNAME(zcgels, ZCGELS) -#define MORSE_DSGELS MORSE_FNAME(dsgels, DSGELS) -#define MORSE_ZCUNGESV MORSE_FNAME(zcungesv, ZCUNGESV) -#define MORSE_DSUNGESV MORSE_FNAME(dsungesv, DSUNGESV) - -#define MORSE_ZCGESV_TILE MORSE_TILE_FNAME(zcgesv, ZCGESV) -#define MORSE_DSGESV_TILE MORSE_TILE_FNAME(dsgesv, DSGESV) -#define MORSE_ZCPOSV_TILE MORSE_TILE_FNAME(zcposv, ZCPOSV) -#define MORSE_DSPOSV_TILE MORSE_TILE_FNAME(dsposv, DSPOSV) -#define MORSE_ZCGELS_TILE MORSE_TILE_FNAME(zcgels, ZCGELS) -#define MORSE_DSGELS_TILE MORSE_TILE_FNAME(dsgels, DSGELS) -#define MORSE_ZCUNGESV_TILE MORSE_TILE_FNAME(zcungesv, ZCUNGESV) -#define MORSE_DSUNGESV_TILE MORSE_TILE_FNAME(dsungesv, DSUNGESV) - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * FORTRAN API - math functions (simple interface) - */ -//void MORSE_ZCGESV(int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, int *IPIV, MORSE_Complex64_t *B, int *LDB, MORSE_Complex64_t *X, int *LDX, int *ITER, int *INFO) -//{ *INFO = MORSE_zcgesv(*N, *NRHS, A, *LDA, IPIV, B, *LDB, X, *LDX, ITER); } -// -//void MORSE_DSGESV(int *N, int *NRHS, double *A, int *LDA, int *IPIV, double *B, int *LDB, double *X, int *LDX, int *ITER, int *INFO) -//{ *INFO = MORSE_dsgesv(*N, *NRHS, A, *LDA, IPIV, B, *LDB, X, *LDX, ITER); } -// -//void MORSE_ZCPOSV(MORSE_enum *uplo, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, MORSE_Complex64_t *X, int *LDX, int *ITER, int *INFO) -//{ *INFO = MORSE_zcposv(*uplo, *N, *NRHS, A, *LDA, B, *LDB, X, *LDX, ITER); } -// -//void MORSE_DSPOSV(MORSE_enum *uplo, int *N, int *NRHS, double *A, int *LDA, double *B, int *LDB, double *X, int *LDX, int *ITER, int *INFO) -//{ *INFO = MORSE_dsposv(*uplo, *N, *NRHS, A, *LDA, B, *LDB, X, *LDX, ITER); } -// -//void MORSE_ZCGELS(MORSE_enum *trans, int *M, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t **T, MORSE_Complex64_t *B, int *LDB, MORSE_Complex64_t *X, int *LDX, int *ITER, int *INFO) -//{ *INFO = MORSE_zcgels(*trans, *M, *N, *NRHS, A, *LDA, B, *LDB, X, *LDX, ITER); } -// -//void MORSE_DSGELS(MORSE_enum *trans, int *M, int *N, int *NRHS, double *A, int *LDA, double *B, int *LDB, double *X, int *LDX, int *ITER, int *INFO) -//{ *INFO = MORSE_dsgels(*trans, *M, *N, *NRHS, A, *LDA, B, *LDB, X, *LDX, ITER); } -// -//void MORSE_ZCUNGESV(MORSE_enum *trans, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, MORSE_Complex64_t *X, int *LDX, int *ITER, int *INFO) -//{ *INFO = MORSE_zcungesv(*trans, *N, *NRHS, A, *LDA, B, *LDB, X, *LDX, ITER); } -// -//void MORSE_DSUNGESV(MORSE_enum *trans, int *N, int *NRHS, double *A, int *LDA, double *B, int *LDB, double *X, int *LDX, int *ITER, int *INFO) -//{ *INFO = MORSE_dsungesv(*trans, *N, *NRHS, A, *LDA, B, *LDB, X, *LDX, ITER); } - -#ifdef __cplusplus -} -#endif - -/** - * FORTRAN API - math functions (native interface) - */ -//void MORSE_ZCGESV_TILE(intptr_t *A, int *IPIV, intptr_t *B, intptr_t *X, int *ITER, int *INFO) -//{ *INFO = MORSE_zcgesv_Tile((MORSE_desc_t *)(*A), IPIV, (MORSE_desc_t *)(*B), (MORSE_desc_t *)(*X), ITER); } -// -//void MORSE_DSGESV_TILE(intptr_t *A, int *IPIV, intptr_t *B, intptr_t *X, int *ITER, int *INFO) -//{ *INFO = MORSE_zcgesv_Tile((MORSE_desc_t *)(*A), IPIV, (MORSE_desc_t *)(*B), (MORSE_desc_t *)(*X), ITER); } -// -//void MORSE_ZCPOSV_TILE(MORSE_enum *uplo, intptr_t *A, intptr_t *B, intptr_t *X, int *ITER, int *INFO) -//{ *INFO = MORSE_zcposv_Tile(*uplo, (MORSE_desc_t *)(*A), (MORSE_desc_t *)(*B), (MORSE_desc_t *)(*X), ITER); } -// -//void MORSE_DSPOSV_TILE(MORSE_enum *uplo, intptr_t *A, intptr_t *B, intptr_t *X, int *ITER, int *INFO) -//{ *INFO = MORSE_dsposv_Tile(*uplo, (MORSE_desc_t *)(*A), (MORSE_desc_t *)(*B), (MORSE_desc_t *)(*X), ITER); } -// -//void MORSE_ZCGELS_TILE(MORSE_enum *trans, intptr_t *A, intptr_t *B, intptr_t *T, intptr_t *X, int *ITER, int *INFO) -//{ *INFO = MORSE_zcgels_Tile(*trans, (MORSE_desc_t *)(*A), (MORSE_desc_t *)(*B), (MORSE_desc_t *)(*T), (MORSE_desc_t *)(*X), ITER); } -// -//void MORSE_DSGELS_TILE(MORSE_enum *trans, intptr_t *A, intptr_t *B, intptr_t *T, intptr_t *X, int *ITER, int *INFO) -//{ *INFO = MORSE_dsgels_Tile(*trans, (MORSE_desc_t *)(*A), (MORSE_desc_t *)(*B), (MORSE_desc_t *)(*T), (MORSE_desc_t *)(*X), ITER); } -// -//void MORSE_ZCUNGESV_TILE(MORSE_enum *trans, intptr_t *A, intptr_t *T, intptr_t *B, intptr_t *X, int *ITER, int *INFO) -//{ *INFO = MORSE_zcungesv_Tile(*trans, (MORSE_desc_t *)(*A), (MORSE_desc_t *)(*T), (MORSE_desc_t *)(*B), (MORSE_desc_t *)(*X), ITER); } -// -//void MORSE_DSUNGESV_TILE(MORSE_enum *trans, intptr_t *A, intptr_t *T, intptr_t *B, intptr_t *X, int *ITER, int *INFO) -//{ *INFO = MORSE_dsungesv_Tile(*trans, (MORSE_desc_t *)(*A), (MORSE_desc_t *)(*T), (MORSE_desc_t *)(*B), (MORSE_desc_t *)(*X), ITER); } diff --git a/control/morse_zf77.c b/control/morse_zf77.c deleted file mode 100644 index 6785f83b8d5c408d70417e2b881b5dca283219aa..0000000000000000000000000000000000000000 --- a/control/morse_zf77.c +++ /dev/null @@ -1,932 +0,0 @@ -/** - * - * @file morse_zf77.c - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon Fortran77 computational routines - * - * @version 1.0.0 - * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 - * @comment This file is automatically generated by tools/genf77interface.pl - * @author Bilel Hadri - * @author Mathieu Faverge - * @author Emmanuel Agullo - * @author Cedric Castagnede - * @author Florent Pruvost - * @date 2010-11-15 - * @precisions normal z -> c d s - * - */ -#include <stdlib.h> -#include "control/common.h" -#include "control/morse_f77.h" - -/** - * FORTRAN API - math functions (simple interface) - */ -#define MORSE_ZLAPACK_TO_TILE MORSE_FNAME(zlapack_to_tile, ZLAPACK_TO_TILE) -#define MORSE_ZTILE_TO_LAPACK MORSE_FNAME(ztile_to_lapack, ZTILE_TO_LAPACK) -//#define MORSE_ZGEBRD MORSE_FNAME(zgebrd , ZGEBRD ) -//#define MORSE_ZGECFI MORSE_FNAME(zgecfi , ZGECFI ) -//#define MORSE_ZGECFI_ASYNC MORSE_FNAME(zgecfi_async , ZGECFI_ASYNC ) -#define MORSE_ZGELQF MORSE_FNAME(zgelqf , ZGELQF ) -#define MORSE_ZGELQS MORSE_FNAME(zgelqs , ZGELQS ) -#define MORSE_ZGELS MORSE_FNAME(zgels , ZGELS ) -#define MORSE_ZGEMM MORSE_FNAME(zgemm , ZGEMM ) -#define MORSE_ZGEQRF MORSE_FNAME(zgeqrf , ZGEQRF ) -#define MORSE_ZGEQRS MORSE_FNAME(zgeqrs , ZGEQRS ) -//#define MORSE_ZGESV MORSE_FNAME(zgesv , ZGESV ) -#define MORSE_ZGESV_INCPIV MORSE_FNAME(zgesv_incpiv , ZGESV_INCPIV ) -#define MORSE_ZGESV_NOPIV MORSE_FNAME(zgesv_nopiv , ZGESV_NOPIV ) -//#define MORSE_ZGESVD MORSE_FNAME(zgesvd , ZGESVD ) -//#define MORSE_ZGETMI MORSE_FNAME(zgetmi , ZGETMI ) -//#define MORSE_ZGETMI_ASYNC MORSE_FNAME(zgetmi_async , ZGETMI_ASYNC ) -//#define MORSE_ZGETRF MORSE_FNAME(zgetrf , ZGETRF ) -#define MORSE_ZGETRF_INCPIV MORSE_FNAME(zgetrf_incpiv, ZGETRF_INCPIV) -#define MORSE_ZGETRF_NOPIV MORSE_FNAME(zgetrf_nopiv , ZGETRF_NOPIV) -//#define MORSE_ZGETRI MORSE_FNAME(zgetri , ZGETRI ) -//#define MORSE_ZGETRS MORSE_FNAME(zgetrs , ZGETRS ) -#define MORSE_ZGETRS_INCPIV MORSE_FNAME(zgetrs_incpiv, ZGETRS_INCPIV) -#define MORSE_ZGETRS_NOPIV MORSE_FNAME(zgetrs_nopiv , ZGETRS_NOPIV) -//#define MORSE_ZHEEV MORSE_FNAME(zheev , ZHEEV ) -//#define MORSE_ZHEEVD MORSE_FNAME(zheevd , ZHEEVD ) -//#define MORSE_ZHEGST MORSE_FNAME(zhegst , ZHEGST ) -//#define MORSE_ZHEGV MORSE_FNAME(zhegv , ZHEGV ) -//#define MORSE_ZHEGVD MORSE_FNAME(zhegvd , ZHEGVD ) -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZHEMM MORSE_FNAME(zhemm , ZHEMM ) -#endif -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZHER2K MORSE_FNAME(zher2k , ZHER2K ) -#endif -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZHERK MORSE_FNAME(zherk , ZHERK ) -#endif -//#define MORSE_ZHETRD MORSE_FNAME(zhetrd , ZHETRD ) -#define MORSE_ZLACPY MORSE_FNAME(zlacpy , ZLACPY ) -#define MORSE_ZLANGE MORSE_FNAME(zlange , ZLANGE ) -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZLANHE MORSE_FNAME(zlanhe , ZLANHE ) -#endif -#define MORSE_ZLANSY MORSE_FNAME(zlansy , ZLANSY ) -#define MORSE_ZLANTR MORSE_FNAME(zlantr , ZLANTR ) -#define MORSE_ZLASET MORSE_FNAME(zlaset , ZLASET ) -//#define MORSE_ZLASWP MORSE_FNAME(zlaswp , ZLASWP ) -//#define MORSE_ZLASWPC MORSE_FNAME(zlaswpc , ZLASWPC ) -#define MORSE_ZLAUUM MORSE_FNAME(zlauum , ZLAUUM ) -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZPLGHE MORSE_FNAME(zplghe , ZPLGHE ) -#endif -#define MORSE_ZPLGSY MORSE_FNAME(zplgsy , ZPLGSY ) -#define MORSE_ZPLRNT MORSE_FNAME(zplrnt , ZPLRNT ) -#define MORSE_ZPOSV MORSE_FNAME(zposv , ZPOSV ) -#define MORSE_ZPOTRF MORSE_FNAME(zpotrf , ZPOTRF ) -#define MORSE_ZPOTRI MORSE_FNAME(zpotri , ZPOTRI ) -#define MORSE_ZPOTRS MORSE_FNAME(zpotrs , ZPOTRS ) -#if defined (PRECISION_c) || defined(PRECISION_z) -#define MORSE_ZSYSV MORSE_FNAME(zsysv , ZSYSV ) -#define MORSE_ZSYTRF MORSE_FNAME(zsytrf , ZSYTRF ) -#define MORSE_ZSYTRS MORSE_FNAME(zsytrs , ZSYTRS ) -#endif -#define MORSE_ZSYMM MORSE_FNAME(zsymm , ZSYMM ) -#define MORSE_ZSYR2K MORSE_FNAME(zsyr2k , ZSYR2K ) -#define MORSE_ZSYRK MORSE_FNAME(zsyrk , ZSYRK ) -#define MORSE_ZTRMM MORSE_FNAME(ztrmm , ZTRMM ) -#define MORSE_ZTRSM MORSE_FNAME(ztrsm , ZTRSM ) -#define MORSE_ZTRSMPL MORSE_FNAME(ztrsmpl , ZTRSMPL ) -//#define MORSE_ZTRSMRV MORSE_FNAME(ztrsmrv , ZTRSMRV ) -#define MORSE_ZTRTRI MORSE_FNAME(ztrtri , ZTRTRI ) -#define MORSE_ZUNGLQ MORSE_FNAME(zunglq , ZUNGLQ ) -#define MORSE_ZUNGQR MORSE_FNAME(zungqr , ZUNGQR ) -#define MORSE_ZUNMLQ MORSE_FNAME(zunmlq , ZUNMLQ ) -#define MORSE_ZUNMQR MORSE_FNAME(zunmqr , ZUNMQR ) - -/** - * FORTRAN API - math functions (native interface) - */ -//#define MORSE_ZGEBRD_TILE MORSE_TILE_FNAME(zgebrd , ZGEBRD ) -#define MORSE_ZGELQF_TILE MORSE_TILE_FNAME(zgelqf , ZGELQF ) -#define MORSE_ZGELQS_TILE MORSE_TILE_FNAME(zgelqs , ZGELQS ) -#define MORSE_ZGELS_TILE MORSE_TILE_FNAME(zgels , ZGELS ) -#define MORSE_ZGEMM_TILE MORSE_TILE_FNAME(zgemm , ZGEMM ) -#define MORSE_ZGEQRF_TILE MORSE_TILE_FNAME(zgeqrf , ZGEQRF ) -#define MORSE_ZGEQRS_TILE MORSE_TILE_FNAME(zgeqrs , ZGEQRS ) -//#define MORSE_ZGESV_TILE MORSE_TILE_FNAME(zgesv , ZGESV ) -#define MORSE_ZGESV_INCPIV_TILE MORSE_TILE_FNAME(zgesv_incpiv , ZGESV_INCPIV ) -#define MORSE_ZGESV_NOPIV_TILE MORSE_TILE_FNAME(zgesv_nopiv , ZGESV_NOPIV ) -//#define MORSE_ZGESVD_TILE MORSE_TILE_FNAME(zgesvd , ZGESVD ) -//#define MORSE_ZGETRF_TILE MORSE_TILE_FNAME(zgetrf , ZGETRF ) -#define MORSE_ZGETRF_INCPIV_TILE MORSE_TILE_FNAME(zgetrf_incpiv, ZGETRF_INCPIV) -#define MORSE_ZGETRF_NOPIV_TILE MORSE_TILE_FNAME(zgetrf_nopiv , ZGETRF_NOPIV ) -//#define MORSE_ZGETRI_TILE MORSE_TILE_FNAME(zgetri , ZGETRI ) -//#define MORSE_ZGETRS_TILE MORSE_TILE_FNAME(zgetrs , ZGETRS ) -#define MORSE_ZGETRS_INCPIV_TILE MORSE_TILE_FNAME(zgetrs_incpiv, ZGETRS_INCPIV) -#define MORSE_ZGETRS_NOPIV_TILE MORSE_TILE_FNAME(zgetrs_nopiv , ZGETRS_NOPIV ) -//#define MORSE_ZHEEV_TILE MORSE_TILE_FNAME(zheev , ZHEEV ) -//#define MORSE_ZHEEVD_TILE MORSE_TILE_FNAME(zheevd , ZHEEVD ) -//#define MORSE_ZHEGST_TILE MORSE_TILE_FNAME(zhegst , ZHEGST ) -//#define MORSE_ZHEGV_TILE MORSE_TILE_FNAME(zhegv , ZHEGV ) -//#define MORSE_ZHEGVD_TILE MORSE_TILE_FNAME(zhegvd , ZHEGVD ) -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZHEMM_TILE MORSE_TILE_FNAME(zhemm , ZHEMM ) -#endif -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZHER2K_TILE MORSE_TILE_FNAME(zher2k , ZHER2K ) -#endif -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZHERK_TILE MORSE_TILE_FNAME(zherk , ZHERK ) -#endif -//#define MORSE_ZHETRD_TILE MORSE_TILE_FNAME(zhetrd , ZHETRD ) -#define MORSE_ZLACPY_TILE MORSE_TILE_FNAME(zlacpy , ZLACPY ) -#define MORSE_ZLANGE_TILE MORSE_TILE_FNAME(zlange , ZLANGE ) -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZLANHE_TILE MORSE_TILE_FNAME(zlanhe , ZLANHE ) -#endif -#define MORSE_ZLANSY_TILE MORSE_TILE_FNAME(zlansy , ZLANSY ) -#define MORSE_ZLASET_TILE MORSE_TILE_FNAME(zlaset , ZLASET ) -//#define MORSE_ZLASWP_TILE MORSE_TILE_FNAME(zlaswp , ZLASWP ) -//#define MORSE_ZLASWPC_TILE MORSE_TILE_FNAME(zlaswpc , ZLASWPC ) -#define MORSE_ZLAUUM_TILE MORSE_TILE_FNAME(zlauum , ZLAUUM ) -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZPLGHE_TILE MORSE_TILE_FNAME(zplghe , ZPLGHE ) -#endif -#define MORSE_ZPLGSY_TILE MORSE_TILE_FNAME(zplgsy , ZPLGSY ) -#define MORSE_ZPLRNT_TILE MORSE_TILE_FNAME(zplrnt , ZPLRNT ) -#define MORSE_ZPOSV_TILE MORSE_TILE_FNAME(zposv , ZPOSV ) -#define MORSE_ZPOTRF_TILE MORSE_TILE_FNAME(zpotrf , ZPOTRF ) -#define MORSE_ZPOTRI_TILE MORSE_TILE_FNAME(zpotri , ZPOTRI ) -#define MORSE_ZPOTRS_TILE MORSE_TILE_FNAME(zpotrs , ZPOTRS ) -#if defined (PRECISION_c) || defined(PRECISION_z) -#define MORSE_ZSYSV_TILE MORSE_TILE_FNAME(zsysv , ZSYSV ) -#define MORSE_ZSYTRF_TILE MORSE_TILE_FNAME(zsytrf , ZSYTRF ) -#define MORSE_ZSYTRS_TILE MORSE_TILE_FNAME(zsytrs , ZSYTRS ) -#endif -#define MORSE_ZSYMM_TILE MORSE_TILE_FNAME(zsymm , ZSYMM ) -#define MORSE_ZSYR2K_TILE MORSE_TILE_FNAME(zsyr2k , ZSYR2K ) -#define MORSE_ZSYRK_TILE MORSE_TILE_FNAME(zsyrk , ZSYRK ) -#define MORSE_ZTRMM_TILE MORSE_TILE_FNAME(ztrmm , ZTRMM ) -#define MORSE_ZTRSM_TILE MORSE_TILE_FNAME(ztrsm , ZTRSM ) -#define MORSE_ZTRSMPL_TILE MORSE_TILE_FNAME(ztrsmpl , ZTRSMPL ) -//#define MORSE_ZTRSMRV_TILE MORSE_TILE_FNAME(ztrsmrv , ZTRSMRV ) -#define MORSE_ZTRTRI_TILE MORSE_TILE_FNAME(ztrtri , ZTRTRI ) -#define MORSE_ZUNGLQ_TILE MORSE_TILE_FNAME(zunglq , ZUNGLQ ) -#define MORSE_ZUNGQR_TILE MORSE_TILE_FNAME(zungqr , ZUNGQR ) -#define MORSE_ZUNMLQ_TILE MORSE_TILE_FNAME(zunmlq , ZUNMLQ ) -#define MORSE_ZUNMQR_TILE MORSE_TILE_FNAME(zunmqr , ZUNMQR ) - -/** - * FORTRAN API - math functions (asynchronous interface) - */ -//#define MORSE_ZGEBRD_TILE_ASYNC MORSE_ASYNC_FNAME(zgebrd , ZGEBRD ) -#define MORSE_ZGELQF_TILE_ASYNC MORSE_ASYNC_FNAME(zgelqf , ZGELQF ) -#define MORSE_ZGELQS_TILE_ASYNC MORSE_ASYNC_FNAME(zgelqs , ZGELQS ) -#define MORSE_ZGELS_TILE_ASYNC MORSE_ASYNC_FNAME(zgels , ZGELS ) -#define MORSE_ZGEMM_TILE_ASYNC MORSE_ASYNC_FNAME(zgemm , ZGEMM ) -#define MORSE_ZGEQRF_TILE_ASYNC MORSE_ASYNC_FNAME(zgeqrf , ZGEQRF ) -#define MORSE_ZGEQRS_TILE_ASYNC MORSE_ASYNC_FNAME(zgeqrs , ZGEQRS ) -//#define MORSE_ZGESV_TILE_ASYNC MORSE_ASYNC_FNAME(zgesv , ZGESV ) -#define MORSE_ZGESV_INCPIV_TILE_ASYNC MORSE_ASYNC_FNAME(zgesv_incpiv , ZGESV_INCPIV ) -#define MORSE_ZGESV_NOPIV_TILE_ASYNC MORSE_ASYNC_FNAME(zgesv_nopiv , ZGESV_NOPIV ) -//#define MORSE_ZGESVD_TILE_ASYNC MORSE_ASYNC_FNAME(zgesvd , ZGESVD ) -//#define MORSE_ZGETRF_TILE_ASYNC MORSE_ASYNC_FNAME(zgetrf , ZGETRF ) -#define MORSE_ZGETRF_INCPIV_TILE_ASYNC MORSE_ASYNC_FNAME(zgetrf_incpiv, ZGETRF_INCPIV) -#define MORSE_ZGETRF_NOPIV_TILE_ASYNC MORSE_ASYNC_FNAME(zgetrf_nopiv , ZGETRF_NOPIV ) -//#define MORSE_ZGETRI_TILE_ASYNC MORSE_ASYNC_FNAME(zgetri , ZGETRI ) -//#define MORSE_ZGETRS_TILE_ASYNC MORSE_ASYNC_FNAME(zgetrs , ZGETRS ) -#define MORSE_ZGETRS_INCPIV_TILE_ASYNC MORSE_ASYNC_FNAME(zgetrs_incpiv, ZGETRS_INCPIV) -#define MORSE_ZGETRS_NOPIV_TILE_ASYNC MORSE_ASYNC_FNAME(zgetrs_nopiv , ZGETRS_NOPIV ) -//#define MORSE_ZHEEV_TILE_ASYNC MORSE_ASYNC_FNAME(zheev , ZHEEV ) -//#define MORSE_ZHEEVD_TILE_ASYNC MORSE_ASYNC_FNAME(zheevd , ZHEEVD ) -//#define MORSE_ZHEGST_TILE_ASYNC MORSE_ASYNC_FNAME(zhegst , ZHEGST ) -//#define MORSE_ZHEGV_TILE_ASYNC MORSE_ASYNC_FNAME(zhegv , ZHEGV ) -//#define MORSE_ZHEGVD_TILE_ASYNC MORSE_ASYNC_FNAME(zhegvd , ZHEGVD ) -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZHEMM_TILE_ASYNC MORSE_ASYNC_FNAME(zhemm , ZHEMM ) -#define MORSE_ZHER2K_TILE_ASYNC MORSE_ASYNC_FNAME(zher2k , ZHER2K ) -#define MORSE_ZHERK_TILE_ASYNC MORSE_ASYNC_FNAME(zherk , ZHERK ) -#endif -//#define MORSE_ZHETRD_TILE_ASYNC MORSE_ASYNC_FNAME(zhetrd , ZHETRD ) -#define MORSE_ZLACPY_TILE_ASYNC MORSE_ASYNC_FNAME(zlacpy , ZLACPY ) -#define MORSE_ZLANGE_TILE_ASYNC MORSE_ASYNC_FNAME(zlange , ZLANGE ) -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZLANHE_TILE_ASYNC MORSE_ASYNC_FNAME(zlanhe , ZLANHE ) -#endif -#define MORSE_ZLANSY_TILE_ASYNC MORSE_ASYNC_FNAME(zlansy , ZLANSY ) -#define MORSE_ZLANTR_TILE_ASYNC MORSE_ASYNC_FNAME(zlantr , ZLANTR ) -#define MORSE_ZLASET_TILE_ASYNC MORSE_ASYNC_FNAME(zlaset , ZLASET ) -//#define MORSE_ZLASWP_TILE_ASYNC MORSE_ASYNC_FNAME(zlaswp , ZLASWP ) -//#define MORSE_ZLASWPC_TILE_ASYNC MORSE_ASYNC_FNAME(zlaswpc , ZLASWPC ) -#define MORSE_ZLAUUM_TILE_ASYNC MORSE_ASYNC_FNAME(zlauum , ZLAUUM ) -#if defined(PRECISION_z) || defined(PRECISION_c) -#define MORSE_ZPLGHE_TILE_ASYNC MORSE_ASYNC_FNAME(zplghe , ZPLGHE ) -#endif -#define MORSE_ZPLGSY_TILE_ASYNC MORSE_ASYNC_FNAME(zplgsy , ZPLGSY ) -#define MORSE_ZPLRNT_TILE_ASYNC MORSE_ASYNC_FNAME(zplrnt , ZPLRNT ) -#define MORSE_ZPOSV_TILE_ASYNC MORSE_ASYNC_FNAME(zposv , ZPOSV ) -#define MORSE_ZPOTRF_TILE_ASYNC MORSE_ASYNC_FNAME(zpotrf , ZPOTRF ) -#define MORSE_ZPOTRI_TILE_ASYNC MORSE_ASYNC_FNAME(zpotri , ZPOTRI ) -#define MORSE_ZPOTRS_TILE_ASYNC MORSE_ASYNC_FNAME(zpotrs , ZPOTRS ) -#if defined (PRECISION_c) || defined(PRECISION_z) -#define MORSE_ZSYSV_TILE_ASYNC MORSE_ASYNC_FNAME(zsysv , ZSYSV ) -#define MORSE_ZSYTRF_TILE_ASYNC MORSE_ASYNC_FNAME(zsytrf , ZSYTRF ) -#define MORSE_ZSYTRS_TILE_ASYNC MORSE_ASYNC_FNAME(zsytrs , ZSYTRS ) -#endif -#define MORSE_ZSYMM_TILE_ASYNC MORSE_ASYNC_FNAME(zsymm , ZSYMM ) -#define MORSE_ZSYR2K_TILE_ASYNC MORSE_ASYNC_FNAME(zsyr2k , ZSYR2K ) -#define MORSE_ZSYRK_TILE_ASYNC MORSE_ASYNC_FNAME(zsyrk , ZSYRK ) -#define MORSE_ZTRMM_TILE_ASYNC MORSE_ASYNC_FNAME(ztrmm , ZTRMM ) -#define MORSE_ZTRSM_TILE_ASYNC MORSE_ASYNC_FNAME(ztrsm , ZTRSM ) -#define MORSE_ZTRSMPL_TILE_ASYNC MORSE_ASYNC_FNAME(ztrsmpl , ZTRSMPL ) -//#define MORSE_ZTRSMRV_TILE_ASYNC MORSE_ASYNC_FNAME(ztrsmrv , ZTRSMRV ) -#define MORSE_ZTRTRI_TILE_ASYNC MORSE_ASYNC_FNAME(ztrtri , ZTRTRI ) -#define MORSE_ZUNGLQ_TILE_ASYNC MORSE_ASYNC_FNAME(zunglq , ZUNGLQ ) -#define MORSE_ZUNGQR_TILE_ASYNC MORSE_ASYNC_FNAME(zungqr , ZUNGQR ) -#define MORSE_ZUNMLQ_TILE_ASYNC MORSE_ASYNC_FNAME(zunmlq , ZUNMLQ ) -#define MORSE_ZUNMQR_TILE_ASYNC MORSE_ASYNC_FNAME(zunmqr , ZUNMQR ) - -/** - * FORTRAN API - workspace allocation - */ -//#define MORSE_ALLOC_WORKSPACE_ZGEBRD MORSE_WS_FNAME(zgebrd , ZGEBRD ) -//#define MORSE_ALLOC_WORKSPACE_ZGEEV MORSE_WS_FNAME(zgeev , ZGEEV ) -//#define MORSE_ALLOC_WORKSPACE_ZGEHRD MORSE_WS_FNAME(zgehrd , ZGEHRD ) -#define MORSE_ALLOC_WORKSPACE_ZGELQF MORSE_WS_FNAME(zgelqf , ZGELQF ) -#define MORSE_ALLOC_WORKSPACE_ZGELQF_TILE MORSE_WS_FNAME(zgelqf_tile , ZGELQF_TILE ) -#define MORSE_ALLOC_WORKSPACE_ZGELS MORSE_WS_FNAME(zgels , ZGELS ) -#define MORSE_ALLOC_WORKSPACE_ZGELS_TILE MORSE_WS_FNAME(zgels_tile , ZGELS_TILE ) -#define MORSE_ALLOC_WORKSPACE_ZGEQRF MORSE_WS_FNAME(zgeqrf , ZGEQRF ) -#define MORSE_ALLOC_WORKSPACE_ZGEQRF_TILE MORSE_WS_FNAME(zgeqrf_tile , ZGEQRF_TILE ) -#define MORSE_ALLOC_WORKSPACE_ZGESV_INCPIV MORSE_WS_FNAME(zgesv_incpiv , ZGESV_INCPIV ) -#define MORSE_ALLOC_WORKSPACE_ZGESV_INCPIV_TILE MORSE_WS_FNAME(zgesv_incpiv_tile , ZGESV_INCPIV_TILE ) -//#define MORSE_ALLOC_WORKSPACE_ZGESVD MORSE_WS_FNAME(zgesvd , ZGESVD ) -#define MORSE_ALLOC_WORKSPACE_ZGETRF_INCPIV MORSE_WS_FNAME(zgetrf_incpiv , ZGETRF_INCPIV ) -#define MORSE_ALLOC_WORKSPACE_ZGETRF_INCPIV_TILE MORSE_WS_FNAME(zgetrf_incpiv_tile, ZGETRF_INCPIV_TILE) -//#define MORSE_ALLOC_WORKSPACE_ZGETRI_TILE_ASYNC MORSE_WS_FNAME(zgetri_tile_async , ZGETRI_TILE_ASYNC ) -//#define MORSE_ALLOC_WORKSPACE_ZHEEV MORSE_WS_FNAME(zheev , ZHEEV ) -//#define MORSE_ALLOC_WORKSPACE_ZHEEVD MORSE_WS_FNAME(zheevd , ZHEEVD ) -//#define MORSE_ALLOC_WORKSPACE_ZHEGV MORSE_WS_FNAME(zhegv , ZHEGV ) -//#define MORSE_ALLOC_WORKSPACE_ZHEGVD MORSE_WS_FNAME(zhegvd , ZHEGVD ) -//#define MORSE_ALLOC_WORKSPACE_ZHETRD MORSE_WS_FNAME(zhetrd , ZHETRD ) - - - -/** - * FORTRAN API - math functions (simple interface) - */ -void MORSE_ZLAPACK_TO_TILE(MORSE_Complex64_t *Af77, int *LDA, MORSE_desc_t *A, int *info) -{ *info = MORSE_zLapack_to_Tile(Af77, *LDA, A); } - -void MORSE_ZTILE_TO_LAPACK(MORSE_desc_t *A, MORSE_Complex64_t *Af77, int *LDA, int *info) -{ *info = MORSE_zTile_to_Lapack(A, Af77, *LDA); } - -//void MORSE_ZGEBRD(int *M, int *N, MORSE_Complex64_t *A, int *LDA, double *D, double *E, MORSE_desc_t **descT, int *info) -//{ *info = MORSE_zgebrd(*M, *N, A, *LDA, D, E, *descT); } -// -//void MORSE_ZGECFI(int *m, int *n, MORSE_Complex64_t *A, MORSE_enum *fin, int *imb, int *inb, MORSE_enum *fout, int *omb, int *onb, int *info) -//{ *info = MORSE_zgecfi(*m, *n, A, *fin, *imb, *inb, *fout, *omb, *onb); } -// -//void MORSE_ZGECFI_ASYNC(int *m, int *n, MORSE_Complex64_t *A, MORSE_enum *f_in, int *imb, int *inb, MORSE_enum *f_out, int *omb, int *onb, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zgecfi_Async(*m, *n, A, *f_in, *imb, *inb, *f_out, *omb, *onb, sequence, request); } - -void MORSE_ZGELQF(int *M, int *N, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descT, int *info) -{ *info = MORSE_zgelqf(*M, *N, A, *LDA, *descT); } - -void MORSE_ZGELQS(int *M, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descT, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zgelqs(*M, *N, *NRHS, A, *LDA, *descT, B, *LDB); } - -void MORSE_ZGELS(MORSE_enum *trans, int *M, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descT, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zgels(*trans, *M, *N, *NRHS, A, *LDA, *descT, B, *LDB); } - -void MORSE_ZGEMM(MORSE_enum *transA, MORSE_enum *transB, int *M, int *N, int *K, MORSE_Complex64_t *alpha, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, MORSE_Complex64_t *beta, MORSE_Complex64_t *C, int *LDC, int *info) -{ *info = MORSE_zgemm(*transA, *transB, *M, *N, *K, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); } - -void MORSE_ZGEQRF(int *M, int *N, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descT, int *info) -{ *info = MORSE_zgeqrf(*M, *N, A, *LDA, *descT); } - -void MORSE_ZGEQRS(int *M, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descT, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zgeqrs(*M, *N, *NRHS, A, *LDA, *descT, B, *LDB); } - -//void MORSE_ZGESV(int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, int *IPIV, MORSE_Complex64_t *B, int *LDB, int *info) -//{ *info = MORSE_zgesv(*N, *NRHS, A, *LDA, IPIV, B, *LDB); } - -void MORSE_ZGESV_INCPIV(int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descL, int *IPIV, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zgesv_incpiv(*N, *NRHS, A, *LDA, *descL, IPIV, B, *LDB); } - -void MORSE_ZGESV_NOPIV(int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zgesv_nopiv(*N, *NRHS, A, *LDA, B, *LDB); } - -//void MORSE_ZGESVD(MORSE_enum *jobu, MORSE_enum *jobvt, int *M, int *N, MORSE_Complex64_t *A, int *LDA, double *S, MORSE_Complex64_t *U, int *LDU, MORSE_Complex64_t *VT, int *LDVT, MORSE_desc_t **descT, int *info) -//{ *info = MORSE_zgesvd(*jobu, *jobvt, *M, *N, A, *LDA, S, U, *LDU, VT, *LDVT, *descT); } - -//void MORSE_ZGETMI(int *m, int *n, MORSE_Complex64_t *A, MORSE_enum *fin, int *mb, int *nb, int *info) -//{ *info = MORSE_zgetmi(*m, *n, A, *fin, *mb, *nb); } -// -//void MORSE_ZGETMI_ASYNC(int *m, int *n, MORSE_Complex64_t *A, MORSE_enum *f_in, int *mb, int *inb, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zgetmi_Async(*m, *n, A, *f_in, *mb, *inb, sequence, request); } -// -//void MORSE_ZGETRF(int *M, int *N, MORSE_Complex64_t *A, int *LDA, int *IPIV, int *info) -//{ *info = MORSE_zgetrf(*M, *N, A, *LDA, IPIV); } - -void MORSE_ZGETRF_INCPIV(int *M, int *N, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descL, int *IPIV, int *info) -{ *info = MORSE_zgetrf_incpiv(*M, *N, A, *LDA, *descL, IPIV); } - -void MORSE_ZGETRF_NOPIV(int *M, int *N, MORSE_Complex64_t *A, int *LDA, int *info) -{ *info = MORSE_zgetrf_nopiv(*M, *N, A, *LDA); } - -//void MORSE_ZGETRI(int *N, MORSE_Complex64_t *A, int *LDA, int *IPIV, int *info) -//{ *info = MORSE_zgetri(*N, A, *LDA, IPIV); } -// -//void MORSE_ZGETRS(MORSE_enum *trans, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, int *IPIV, MORSE_Complex64_t *B, int *LDB, int *info) -//{ *info = MORSE_zgetrs(*trans, *N, *NRHS, A, *LDA, IPIV, B, *LDB); } - -void MORSE_ZGETRS_INCPIV(MORSE_enum *trans, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descL, int *IPIV, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zgetrs_incpiv(*trans, *N, *NRHS, A, *LDA, *descL, IPIV, B, *LDB); } - -void MORSE_ZGETRS_NOPIV(MORSE_enum *trans, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zgetrs_nopiv(*trans, *N, *NRHS, A, *LDA, B, *LDB); } - -//void MORSE_ZHEEV(MORSE_enum *jobz, MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, double *W, MORSE_desc_t **descT, MORSE_Complex64_t *Q, int *LDQ, int *info) -//{ *info = MORSE_zheev(*jobz, *uplo, *N, A, *LDA, W, *descT, Q, *LDQ); } -// -//void MORSE_ZHEEVD(MORSE_enum *jobz, MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, double *W, MORSE_desc_t **descT, MORSE_Complex64_t *Q, int *LDQ, int *info) -//{ *info = MORSE_zheevd(*jobz, *uplo, *N, A, *LDA, W, *descT, Q, *LDQ); } -// -//void MORSE_ZHEGST(MORSE_enum *itype, MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, int *info) -//{ *info = MORSE_zhegst(*itype, *uplo, *N, A, *LDA, B, *LDB); } -// -//void MORSE_ZHEGV(MORSE_enum *itype, MORSE_enum *jobz, MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, double *W, MORSE_desc_t **descT, MORSE_Complex64_t *Q, int *LDQ, int *info) -//{ *info = MORSE_zhegv(*itype, *jobz, *uplo, *N, A, *LDA, B, *LDB, W, *descT, Q, *LDQ); } -// -//void MORSE_ZHEGVD(MORSE_enum *itype, MORSE_enum *jobz, MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, double *W, MORSE_desc_t **descT, MORSE_Complex64_t *Q, int *LDQ, int *info) -//{ *info = MORSE_zhegvd(*itype, *jobz, *uplo, *N, A, *LDA, B, *LDB, W, *descT, Q, *LDQ); } - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZHEMM(MORSE_enum *side, MORSE_enum *uplo, int *M, int *N, MORSE_Complex64_t *alpha, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, MORSE_Complex64_t *beta, MORSE_Complex64_t *C, int *LDC, int *info) -{ *info = MORSE_zhemm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); } -#endif - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZHER2K(MORSE_enum *uplo, MORSE_enum *trans, int *N, int *K, MORSE_Complex64_t *alpha, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, double *beta, MORSE_Complex64_t *C, int *LDC, int *info) -{ *info = MORSE_zher2k(*uplo, *trans, *N, *K, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); } -#endif - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZHERK(MORSE_enum *uplo, MORSE_enum *trans, int *N, int *K, double *alpha, MORSE_Complex64_t *A, int *LDA, double *beta, MORSE_Complex64_t *C, int *LDC, int *info) -{ *info = MORSE_zherk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); } -#endif - -//void MORSE_ZHETRD(MORSE_enum *jobz, MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, double *D, double *E, MORSE_desc_t **descT, MORSE_Complex64_t *Q, int *LDQ, int *info) -//{ *info = MORSE_zhetrd(*jobz, *uplo, *N, A, *LDA, D, E, *descT, Q, *LDQ); } - -void MORSE_ZLACPY(MORSE_enum *uplo, int *M, int *N, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zlacpy(*uplo, *M, *N, A, *LDA, B, *LDB); } - -void MORSE_ZLANGE(MORSE_enum *norm, int *M, int *N, MORSE_Complex64_t *A, int *LDA, double *result) -{ *result = MORSE_zlange(*norm, *M, *N, A, *LDA); } - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZLANHE(MORSE_enum *norm, MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, double *result) -{ *result = MORSE_zlanhe(*norm, *uplo, *N, A, *LDA); } -#endif - -void MORSE_ZLANSY(MORSE_enum *norm, MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, double *result) -{ *result = MORSE_zlansy(*norm, *uplo, *N, A, *LDA); } - -void MORSE_ZLANTR(MORSE_enum *norm, MORSE_enum *uplo, MORSE_enum *diag, int *M, int *N, MORSE_Complex64_t *A, int *LDA, double *result) -{ *result = MORSE_zlantr(*norm, *uplo, *diag, *M, *N, A, *LDA); } - -void MORSE_ZLASET(MORSE_enum *uplo, int *M, int *N, MORSE_Complex64_t *alpha, MORSE_Complex64_t *beta, MORSE_Complex64_t *A, int *LDA, int *info) -{ *info = MORSE_zlaset(*uplo, *M, *N, *alpha, *beta, A, *LDA); } - -//void MORSE_ZLASWP(int *N, MORSE_Complex64_t *A, int *LDA, int *K1, int *K2, int *IPIV, int *INCX, int *info) -//{ *info = MORSE_zlaswp(*N, A, *LDA, *K1, *K2, IPIV, *INCX); } -// -//void MORSE_ZLASWPC(int *N, MORSE_Complex64_t *A, int *LDA, int *K1, int *K2, int *IPIV, int *INCX, int *info) -//{ *info = MORSE_zlaswpc(*N, A, *LDA, *K1, *K2, IPIV, *INCX); } - -void MORSE_ZLAUUM(MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, int *info) -{ *info = MORSE_zlauum(*uplo, *N, A, *LDA); } - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZPLGHE(double *bump, MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, unsigned long long int *seed, int *info) -{ *info = MORSE_zplghe(*bump, *uplo, *N, A, *LDA, *seed); } -#endif - -void MORSE_ZPLGSY(MORSE_Complex64_t *bump, MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, unsigned long long int *seed, int *info) -{ *info = MORSE_zplgsy(*bump, *uplo, *N, A, *LDA, *seed); } - -void MORSE_ZPLRNT(int *M, int *N, MORSE_Complex64_t *A, int *LDA, unsigned long long int *seed, int *info) -{ *info = MORSE_zplrnt(*M, *N, A, *LDA, *seed); } - -void MORSE_ZPOSV(MORSE_enum *uplo, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zposv(*uplo, *N, *NRHS, A, *LDA, B, *LDB); } - -void MORSE_ZPOTRF(MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, int *info) -{ *info = MORSE_zpotrf(*uplo, *N, A, *LDA); } - -void MORSE_ZPOTRI(MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, int *info) -{ *info = MORSE_zpotri(*uplo, *N, A, *LDA); } - -void MORSE_ZPOTRS(MORSE_enum *uplo, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zpotrs(*uplo, *N, *NRHS, A, *LDA, B, *LDB); } - -#if defined (PRECISION_c) || defined(PRECISION_z) -void MORSE_ZSYSV(MORSE_enum *uplo, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zsysv(*uplo, *N, *NRHS, A, *LDA, B, *LDB); } - -void MORSE_ZSYTRF(MORSE_enum *uplo, int *N, MORSE_Complex64_t *A, int *LDA, int *info) -{ *info = MORSE_zsytrf(*uplo, *N, A, *LDA); } - -void MORSE_ZSYTRS(MORSE_enum *uplo, int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zsytrs(*uplo, *N, *NRHS, A, *LDA, B, *LDB); } -#endif - -void MORSE_ZSYMM(MORSE_enum *side, MORSE_enum *uplo, int *M, int *N, MORSE_Complex64_t *alpha, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, MORSE_Complex64_t *beta, MORSE_Complex64_t *C, int *LDC, int *info) -{ *info = MORSE_zsymm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); } - -void MORSE_ZSYR2K(MORSE_enum *uplo, MORSE_enum *trans, int *N, int *K, MORSE_Complex64_t *alpha, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, MORSE_Complex64_t *beta, MORSE_Complex64_t *C, int *LDC, int *info) -{ *info = MORSE_zsyr2k(*uplo, *trans, *N, *K, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); } - -void MORSE_ZSYRK(MORSE_enum *uplo, MORSE_enum *trans, int *N, int *K, MORSE_Complex64_t *alpha, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *beta, MORSE_Complex64_t *C, int *LDC, int *info) -{ *info = MORSE_zsyrk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); } - -void MORSE_ZTRMM(MORSE_enum *side, MORSE_enum *uplo, MORSE_enum *transA, MORSE_enum *diag, int *N, int *NRHS, MORSE_Complex64_t *alpha, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_ztrmm(*side, *uplo, *transA, *diag, *N, *NRHS, *alpha, A, *LDA, B, *LDB); } - -void MORSE_ZTRSM(MORSE_enum *side, MORSE_enum *uplo, MORSE_enum *transA, MORSE_enum *diag, int *N, int *NRHS, MORSE_Complex64_t *alpha, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_ztrsm(*side, *uplo, *transA, *diag, *N, *NRHS, *alpha, A, *LDA, B, *LDB); } - -void MORSE_ZTRSMPL(int *N, int *NRHS, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descL, int *IPIV, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_ztrsmpl(*N, *NRHS, A, *LDA, *descL, IPIV, B, *LDB); } - -//void MORSE_ZTRSMRV(MORSE_enum *side, MORSE_enum *uplo, MORSE_enum *transA, MORSE_enum *diag, int *N, int *NRHS, MORSE_Complex64_t *alpha, MORSE_Complex64_t *A, int *LDA, MORSE_Complex64_t *B, int *LDB, int *info) -//{ *info = MORSE_ztrsmrv(*side, *uplo, *transA, *diag, *N, *NRHS, *alpha, A, *LDA, B, *LDB); } - -void MORSE_ZTRTRI(MORSE_enum *uplo, MORSE_enum *diag, int *N, MORSE_Complex64_t *A, int *LDA, int *info) -{ *info = MORSE_ztrtri(*uplo, *diag, *N, A, *LDA); } - -void MORSE_ZUNGLQ(int *M, int *N, int *K, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descT, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zunglq(*M, *N, *K, A, *LDA, *descT, B, *LDB); } - -void MORSE_ZUNGQR(int *M, int *N, int *K, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descT, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zungqr(*M, *N, *K, A, *LDA, *descT, B, *LDB); } - -void MORSE_ZUNMLQ(MORSE_enum *side, MORSE_enum *trans, int *M, int *N, int *K, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descT, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zunmlq(*side, *trans, *M, *N, *K, A, *LDA, *descT, B, *LDB); } - -void MORSE_ZUNMQR(MORSE_enum *side, MORSE_enum *trans, int *M, int *N, int *K, MORSE_Complex64_t *A, int *LDA, MORSE_desc_t **descT, MORSE_Complex64_t *B, int *LDB, int *info) -{ *info = MORSE_zunmqr(*side, *trans, *M, *N, *K, A, *LDA, *descT, B, *LDB); } - - -/** - * FORTRAN API - math functions (native interface) - */ -//void MORSE_ZGEBRD_TILE(MORSE_desc_t *A, double *D, double *E, MORSE_desc_t *T, int *info) -//{ *info = MORSE_zgebrd_Tile(A, D, E, T); } - -void MORSE_ZGELQF_TILE(MORSE_desc_t *A, MORSE_desc_t *T, int *info) -{ *info = MORSE_zgelqf_Tile(A, T); } - -void MORSE_ZGELQS_TILE(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, int *info) -{ *info = MORSE_zgelqs_Tile(A, T, B); } - -void MORSE_ZGELS_TILE(MORSE_enum *trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, int *info) -{ *info = MORSE_zgels_Tile(*trans, A, T, B); } - -void MORSE_ZGEMM_TILE(MORSE_enum *transA, MORSE_enum *transB, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t *beta, MORSE_desc_t *C, int *info) -{ *info = MORSE_zgemm_Tile(*transA, *transB, *alpha, A, B, *beta, C); } - -void MORSE_ZGEQRF_TILE(MORSE_desc_t *A, MORSE_desc_t *T, int *info) -{ *info = MORSE_zgeqrf_Tile(A, T); } - -void MORSE_ZGEQRS_TILE(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, int *info) -{ *info = MORSE_zgeqrs_Tile(A, T, B); } - -//void MORSE_ZGESV_TILE(MORSE_desc_t *A, int *IPIV, MORSE_desc_t *B, int *info) -//{ *info = MORSE_zgesv_Tile(A, IPIV, B); } - -void MORSE_ZGESV_INCPIV_TILE(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B, int *info) -{ *info = MORSE_zgesv_incpiv_Tile(A, L, IPIV, B); } - -void MORSE_ZGESV_NOPIV_TILE(MORSE_desc_t *A, MORSE_desc_t *B, int *info) -{ *info = MORSE_zgesv_nopiv_Tile(A, B); } - -//void MORSE_ZGESVD_TILE(MORSE_enum *jobu, MORSE_enum *jobvt, MORSE_desc_t *A, double *S, MORSE_desc_t *U, MORSE_desc_t *VT, MORSE_desc_t *T, int *info) -//{ *info = MORSE_zgesvd_Tile(*jobu, *jobvt, A, S, U, VT, T); } - -//void MORSE_ZGETRF_TILE(MORSE_desc_t *A, int *IPIV, int *info) -//{ *info = MORSE_zgetrf_Tile(A, IPIV); } - -void MORSE_ZGETRF_INCPIV_TILE(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, int *info) -{ *info = MORSE_zgetrf_incpiv_Tile(A, L, IPIV); } - -void MORSE_ZGETRF_NOPIV_TILE(MORSE_desc_t *A, int *info) -{ *info = MORSE_zgetrf_nopiv_Tile(A); } - -//void MORSE_ZGETRI_TILE(MORSE_desc_t *A, int *IPIV, int *info) -//{ *info = MORSE_zgetri_Tile(A, IPIV); } -// -//void MORSE_ZGETRS_TILE(MORSE_enum *trans, MORSE_desc_t *A, int *IPIV, MORSE_desc_t *B, int *info) -//{ *info = MORSE_zgetrs_Tile(*trans, A, IPIV, B); } - -void MORSE_ZGETRS_INCPIV_TILE(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B, int *info) -{ *info = MORSE_zgetrs_incpiv_Tile(A, L, IPIV, B); } - -void MORSE_ZGETRS_NOPIV_TILE(MORSE_desc_t *A, MORSE_desc_t *B, int *info) -{ *info = MORSE_zgetrs_nopiv_Tile(A, B); } - -//void MORSE_ZHEEV_TILE(MORSE_enum *jobz, MORSE_enum *uplo, MORSE_desc_t *A, double *W, MORSE_desc_t *T, MORSE_Complex64_t *Q, int *LDQ, int *info) -//{ *info = MORSE_zheev_Tile(*jobz, *uplo, A, W, T, Q, *LDQ); } -// -//void MORSE_ZHEEVD_TILE(MORSE_enum *jobz, MORSE_enum *uplo, MORSE_desc_t *A, double *W, MORSE_desc_t *T, MORSE_Complex64_t *Q, int *LDQ, int *info) -//{ *info = MORSE_zheevd_Tile(*jobz, *uplo, A, W, T, Q, *LDQ); } -// -//void MORSE_ZHEGST_TILE(MORSE_enum *itype, MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, int *info) -//{ *info = MORSE_zhegst_Tile(*itype, *uplo, A, B); } -// -//void MORSE_ZHEGV_TILE(MORSE_enum *itype, MORSE_enum *jobz, MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, double *W, MORSE_desc_t *T, MORSE_desc_t *Q, int *info) -//{ *info = MORSE_zhegv_Tile(*itype, *jobz, *uplo, A, B, W, T, Q); } -// -//void MORSE_ZHEGVD_TILE(MORSE_enum *itype, MORSE_enum *jobz, MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, double *W, MORSE_desc_t *T, MORSE_desc_t *Q, int *info) -//{ *info = MORSE_zhegvd_Tile(*itype, *jobz, *uplo, A, B, W, T, Q); } - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZHEMM_TILE(MORSE_enum *side, MORSE_enum *uplo, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t *beta, MORSE_desc_t *C, int *info) -{ *info = MORSE_zhemm_Tile(*side, *uplo, *alpha, A, B, *beta, C); } -#endif - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZHER2K_TILE(MORSE_enum *uplo, MORSE_enum *trans, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, double *beta, MORSE_desc_t *C, int *info) -{ *info = MORSE_zher2k_Tile(*uplo, *trans, *alpha, A, B, *beta, C); } -#endif - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZHERK_TILE(MORSE_enum *uplo, MORSE_enum *trans, double *alpha, MORSE_desc_t *A, double *beta, MORSE_desc_t *C, int *info) -{ *info = MORSE_zherk_Tile(*uplo, *trans, *alpha, A, *beta, C); } -#endif - -//void MORSE_ZHETRD_TILE(MORSE_enum *jobz, MORSE_enum *uplo, MORSE_desc_t *A, double *D, double *E, MORSE_desc_t *T, MORSE_Complex64_t *Q, int *LDQ, int *info) -//{ *info = MORSE_zhetrd_Tile(*jobz, *uplo, A, D, E, T, Q, *LDQ); } - -void MORSE_ZLACPY_TILE(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, int *info) -{ *info = MORSE_zlacpy_Tile(*uplo, A, B); } - -void MORSE_ZLANGE_TILE(MORSE_enum *norm, MORSE_desc_t *A, double *result) -{ *result = MORSE_zlange_Tile(*norm, A); } - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZLANHE_TILE(MORSE_enum *norm, MORSE_enum *uplo, MORSE_desc_t *A, double *result) -{ *result = MORSE_zlanhe_Tile(*norm, *uplo, A); } -#endif - -void MORSE_ZLANSY_TILE(MORSE_enum *norm, MORSE_enum *uplo, MORSE_desc_t *A, double *result) -{ *result = MORSE_zlansy_Tile(*norm, *uplo, A); } - -void MORSE_ZLANTR_TILE(MORSE_enum *norm, MORSE_enum *uplo, MORSE_enum *diag, MORSE_desc_t *A, double *result) -{ *result = MORSE_zlantr_Tile(*norm, *uplo, *diag, A); } - -void MORSE_ZLASET_TILE(MORSE_enum *uplo, MORSE_Complex64_t *alpha, MORSE_Complex64_t *beta, MORSE_desc_t *A, int *info) -{ *info = MORSE_zlaset_Tile(*uplo, *alpha, *beta, A); } - -//void MORSE_ZLASWP_TILE(MORSE_desc_t *A, int *K1, int *K2, int *IPIV, int *INCX, int *info) -//{ *info = MORSE_zlaswp_Tile(A, *K1, *K2, IPIV, *INCX); } -// -//void MORSE_ZLASWPC_TILE(MORSE_desc_t *A, int *K1, int *K2, int *IPIV, int *INCX, int *info) -//{ *info = MORSE_zlaswpc_Tile(A, *K1, *K2, IPIV, *INCX); } - -void MORSE_ZLAUUM_TILE(MORSE_enum *uplo, MORSE_desc_t *A, int *info) -{ *info = MORSE_zlauum_Tile(*uplo, A); } - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZPLGHE_TILE(double *bump, MORSE_enum *uplo, MORSE_desc_t *A, unsigned long long int *seed, int *info) -{ *info = MORSE_zplghe_Tile(*bump, *uplo, A, *seed); } -#endif - -void MORSE_ZPLGSY_TILE(MORSE_Complex64_t *bump, MORSE_enum *uplo, MORSE_desc_t *A, unsigned long long int *seed, int *info) -{ *info = MORSE_zplgsy_Tile(*bump, *uplo, A, *seed); } - -void MORSE_ZPLRNT_TILE(MORSE_desc_t *A, unsigned long long int *seed, int *info) -{ *info = MORSE_zplrnt_Tile(A, *seed); } - -void MORSE_ZPOSV_TILE(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, int *info) -{ *info = MORSE_zposv_Tile(*uplo, A, B); } - -void MORSE_ZPOTRF_TILE(MORSE_enum *uplo, MORSE_desc_t *A, int *info) -{ *info = MORSE_zpotrf_Tile(*uplo, A); } - -void MORSE_ZPOTRI_TILE(MORSE_enum *uplo, MORSE_desc_t *A, int *info) -{ *info = MORSE_zpotri_Tile(*uplo, A); } - -void MORSE_ZPOTRS_TILE(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, int *info) -{ *info = MORSE_zpotrs_Tile(*uplo, A, B); } - -#if defined (PRECISION_c) || defined(PRECISION_z) -void MORSE_ZSYSV_TILE(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, int *info) -{ *info = MORSE_zsysv_Tile(*uplo, A, B); } - -void MORSE_ZSYTRF_TILE(MORSE_enum *uplo, MORSE_desc_t *A, int *info) -{ *info = MORSE_zsytrf_Tile(*uplo, A); } - -void MORSE_ZSYTRS_TILE(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, int *info) -{ *info = MORSE_zsytrs_Tile(*uplo, A, B); } -#endif - -void MORSE_ZSYMM_TILE(MORSE_enum *side, MORSE_enum *uplo, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t *beta, MORSE_desc_t *C, int *info) -{ *info = MORSE_zsymm_Tile(*side, *uplo, *alpha, A, B, *beta, C); } - -void MORSE_ZSYR2K_TILE(MORSE_enum *uplo, MORSE_enum *trans, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t *beta, MORSE_desc_t *C, int *info) -{ *info = MORSE_zsyr2k_Tile(*uplo, *trans, *alpha, A, B, *beta, C); } - -void MORSE_ZSYRK_TILE(MORSE_enum *uplo, MORSE_enum *trans, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_Complex64_t *beta, MORSE_desc_t *C, int *info) -{ *info = MORSE_zsyrk_Tile(*uplo, *trans, *alpha, A, *beta, C); } - -void MORSE_ZTRMM_TILE(MORSE_enum *side, MORSE_enum *uplo, MORSE_enum *transA, MORSE_enum *diag, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, int *info) -{ *info = MORSE_ztrmm_Tile(*side, *uplo, *transA, *diag, *alpha, A, B); } - -void MORSE_ZTRSM_TILE(MORSE_enum *side, MORSE_enum *uplo, MORSE_enum *transA, MORSE_enum *diag, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, int *info) -{ *info = MORSE_ztrsm_Tile(*side, *uplo, *transA, *diag, *alpha, A, B); } - -void MORSE_ZTRSMPL_TILE(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B, int *info) -{ *info = MORSE_ztrsmpl_Tile(A, L, IPIV, B); } - -//void MORSE_ZTRSMRV_TILE(MORSE_enum *side, MORSE_enum *uplo, MORSE_enum *transA, MORSE_enum *diag, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, int *info) -//{ *info = MORSE_ztrsmrv_Tile(*side, *uplo, *transA, *diag, *alpha, A, B); } - -void MORSE_ZTRTRI_TILE(MORSE_enum *uplo, MORSE_enum *diag, MORSE_desc_t *A, int *info) -{ *info = MORSE_ztrtri_Tile(*uplo, *diag, A); } - -void MORSE_ZUNGLQ_TILE(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, int *info) -{ *info = MORSE_zunglq_Tile(A, T, B); } - -void MORSE_ZUNGQR_TILE(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, int *info) -{ *info = MORSE_zungqr_Tile(A, T, B); } - -void MORSE_ZUNMLQ_TILE(MORSE_enum *side, MORSE_enum *trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, int *info) -{ *info = MORSE_zunmlq_Tile(*side, *trans, A, T, B); } - -void MORSE_ZUNMQR_TILE(MORSE_enum *side, MORSE_enum *trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, int *info) -{ *info = MORSE_zunmqr_Tile(*side, *trans, A, T, B); } - - -/** - * FORTRAN API - math functions (asynchronous interface) - */ -//void MORSE_ZGEBRD_TILE_ASYNC(MORSE_desc_t *A, double *D, double *E, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zgebrd_Tile_Async(A, D, E, T, sequence, request); } - -void MORSE_ZGELQF_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zgelqf_Tile_Async(A, T, sequence, request); } - -void MORSE_ZGELQS_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zgelqs_Tile_Async(A, T, B, sequence, request); } - -void MORSE_ZGELS_TILE_ASYNC(MORSE_enum *trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zgels_Tile_Async(*trans, A, T, B, sequence, request); } - -void MORSE_ZGEMM_TILE_ASYNC(MORSE_enum *transA, MORSE_enum *transB, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t *beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zgemm_Tile_Async(*transA, *transB, *alpha, A, B, *beta, C, sequence, request); } - -void MORSE_ZGEQRF_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zgeqrf_Tile_Async(A, T, sequence, request); } - -void MORSE_ZGEQRS_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zgeqrs_Tile_Async(A, T, B, sequence, request); } - -//void MORSE_ZGESV_TILE_ASYNC(MORSE_desc_t *A, int *IPIV, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zgesv_Tile_Async(A, IPIV, B, sequence, request); } - -void MORSE_ZGESV_INCPIV_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zgesv_incpiv_Tile_Async(A, L, IPIV, B, sequence, request); } - -//void MORSE_ZGESV_NOPIV_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zgesv_nopiv_Tile_Async(A, B, sequence, request); } -// -//void MORSE_ZGESVD_TILE_ASYNC(MORSE_enum *jobu, MORSE_enum *jobvt, MORSE_desc_t *A, double *S, MORSE_desc_t *U, MORSE_desc_t *VT, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zgesvd_Tile_Async(*jobu, *jobvt, A, S, U, VT, T, sequence, request); } - -//void MORSE_ZGETRF_TILE_ASYNC(MORSE_desc_t *A, int *IPIV, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zgetrf_Tile_Async(A, IPIV, sequence, request); } - -void MORSE_ZGETRF_INCPIV_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zgetrf_incpiv_Tile_Async(A, L, IPIV, sequence, request); } - -void MORSE_ZGETRF_NOPIV_TILE_ASYNC(MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zgetrf_nopiv_Tile_Async(A, sequence, request); } - -//void MORSE_ZGETRI_TILE_ASYNC(MORSE_desc_t *A, int *IPIV, MORSE_desc_t *W, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zgetri_Tile_Async(A, IPIV, W, sequence, request); } -// -//void MORSE_ZGETRS_TILE_ASYNC(MORSE_enum *trans, MORSE_desc_t *A, int *IPIV, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zgetrs_Tile_Async(*trans, A, IPIV, B, sequence, request); } - -void MORSE_ZGETRS_INCPIV_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zgetrs_incpiv_Tile_Async(A, L, IPIV, B, sequence, request); } - -void MORSE_ZGETRS_NOPIV_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zgetrs_nopiv_Tile_Async(A, B, sequence, request); } - -//void MORSE_ZHEEV_TILE_ASYNC(MORSE_enum *jobz, MORSE_enum *uplo, MORSE_desc_t *A, double *W, MORSE_desc_t *T, MORSE_Complex64_t *Q, int *LDQ, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zheev_Tile_Async(*jobz, *uplo, A, W, T, Q, *LDQ, sequence, request); } -// -//void MORSE_ZHEEVD_TILE_ASYNC(MORSE_enum *jobz, MORSE_enum *uplo, MORSE_desc_t *A, double *W, MORSE_desc_t *T, MORSE_Complex64_t *Q, int *LDQ, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zheevd_Tile_Async(*jobz, *uplo, A, W, T, Q, *LDQ, sequence, request); } -// -//void MORSE_ZHEGST_TILE_ASYNC(MORSE_enum *itype, MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zhegst_Tile_Async(*itype, *uplo, A, B, sequence, request); } -// -//void MORSE_ZHEGV_TILE_ASYNC(MORSE_enum *itype, MORSE_enum *jobz, MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, double *W, MORSE_desc_t *T, MORSE_desc_t *Q, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zhegv_Tile_Async(*itype, *jobz, *uplo, A, B, W, T, Q, sequence, request); } -// -//void MORSE_ZHEGVD_TILE_ASYNC(MORSE_enum *itype, MORSE_enum *jobz, MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, double *W, MORSE_desc_t *T, MORSE_desc_t *Q, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zhegvd_Tile_Async(*itype, *jobz, *uplo, A, B, W, T, Q, sequence, request); } - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZHEMM_TILE_ASYNC(MORSE_enum *side, MORSE_enum *uplo, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t *beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zhemm_Tile_Async(*side, *uplo, *alpha, A, B, *beta, C, sequence, request); } -#endif - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZHER2K_TILE_ASYNC(MORSE_enum *uplo, MORSE_enum *trans, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, double *beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zher2k_Tile_Async(*uplo, *trans, *alpha, A, B, *beta, C, sequence, request); } -#endif - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZHERK_TILE_ASYNC(MORSE_enum *uplo, MORSE_enum *trans, double *alpha, MORSE_desc_t *A, double *beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zherk_Tile_Async(*uplo, *trans, *alpha, A, *beta, C, sequence, request); } -#endif - -//void MORSE_ZHETRD_TILE_ASYNC(MORSE_enum *jobz, MORSE_enum *uplo, MORSE_desc_t *A, double *D, double *E, MORSE_desc_t *T, MORSE_Complex64_t *Q, int *LDQ, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zhetrd_Tile_Async(*jobz, *uplo, A, D, E, T, Q, *LDQ, sequence, request); } - -void MORSE_ZLACPY_TILE_ASYNC(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zlacpy_Tile_Async(*uplo, A, B, sequence, request); } - -void MORSE_ZLANGE_TILE_ASYNC(MORSE_enum *norm, MORSE_desc_t *A, double *value, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zlange_Tile_Async(*norm, A, value, sequence, request); } - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZLANHE_TILE_ASYNC(MORSE_enum *norm, MORSE_enum *uplo, MORSE_desc_t *A, double *value, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zlanhe_Tile_Async(*norm, *uplo, A, value, sequence, request); } -#endif - -void MORSE_ZLANSY_TILE_ASYNC(MORSE_enum *norm, MORSE_enum *uplo, MORSE_desc_t *A, double *value, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zlansy_Tile_Async(*norm, *uplo, A, value, sequence, request); } - -void MORSE_ZLANTR_TILE_ASYNC(MORSE_enum *norm, MORSE_enum *uplo, MORSE_enum *diag, MORSE_desc_t *A, double *value, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zlantr_Tile_Async(*norm, *uplo, *diag, A, value, sequence, request); } - -void MORSE_ZLASET_TILE_ASYNC(MORSE_enum *uplo, MORSE_Complex64_t *alpha, MORSE_Complex64_t *beta, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zlaset_Tile_Async(*uplo, *alpha, *beta, A, sequence, request); } - -//void MORSE_ZLASWP_TILE_ASYNC(MORSE_desc_t *A, int *K1, int *K2, int *IPIV, int *INCX, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zlaswp_Tile_Async(A, *K1, *K2, IPIV, *INCX, sequence, request); } -// -//void MORSE_ZLASWPC_TILE_ASYNC(MORSE_desc_t *A, int *K1, int *K2, int *IPIV, int *INCX, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_zlaswpc_Tile_Async(A, *K1, *K2, IPIV, *INCX, sequence, request); } - -void MORSE_ZLAUUM_TILE_ASYNC(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zlauum_Tile_Async(*uplo, A, sequence, request); } - -#if defined(PRECISION_z) || defined(PRECISION_c) -void MORSE_ZPLGHE_TILE_ASYNC(double *bump, MORSE_enum *uplo, MORSE_desc_t *A, unsigned long long int *seed, MORSE_sequence_t *sequence, MORSE_request_t * *request, int *info) -{ *info = MORSE_zplghe_Tile_Async(*bump, *uplo, A, *seed, sequence, *request); } -#endif - -void MORSE_ZPLGSY_TILE_ASYNC(MORSE_Complex64_t *bump, MORSE_enum *uplo, MORSE_desc_t *A, unsigned long long int *seed, MORSE_sequence_t *sequence, MORSE_request_t * *request, int *info) -{ *info = MORSE_zplgsy_Tile_Async(*bump, *uplo, A, *seed, sequence, *request); } - -void MORSE_ZPLRNT_TILE_ASYNC(MORSE_desc_t *A, unsigned long long int *seed, MORSE_sequence_t *sequence, MORSE_request_t * *request, int *info) -{ *info = MORSE_zplrnt_Tile_Async(A, *seed, sequence, *request); } - -void MORSE_ZPOSV_TILE_ASYNC(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zposv_Tile_Async(*uplo, A, B, sequence, request); } - -void MORSE_ZPOTRF_TILE_ASYNC(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zpotrf_Tile_Async(*uplo, A, sequence, request); } - -void MORSE_ZPOTRI_TILE_ASYNC(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zpotri_Tile_Async(*uplo, A, sequence, request); } - -void MORSE_ZPOTRS_TILE_ASYNC(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zpotrs_Tile_Async(*uplo, A, B, sequence, request); } - -#if defined (PRECISION_c) || defined(PRECISION_z) -void MORSE_ZSYSV_TILE_ASYNC(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zsysv_Tile_Async(*uplo, A, B, sequence, request); } - -void MORSE_ZSYTRF_TILE_ASYNC(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zsytrf_Tile_Async(*uplo, A, sequence, request); } - -void MORSE_ZSYTRS_TILE_ASYNC(MORSE_enum *uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zsytrs_Tile_Async(*uplo, A, B, sequence, request); } -#endif - -void MORSE_ZSYMM_TILE_ASYNC(MORSE_enum *side, MORSE_enum *uplo, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t *beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zsymm_Tile_Async(*side, *uplo, *alpha, A, B, *beta, C, sequence, request); } - -void MORSE_ZSYR2K_TILE_ASYNC(MORSE_enum *uplo, MORSE_enum *trans, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t *beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zsyr2k_Tile_Async(*uplo, *trans, *alpha, A, B, *beta, C, sequence, request); } - -void MORSE_ZSYRK_TILE_ASYNC(MORSE_enum *uplo, MORSE_enum *trans, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_Complex64_t *beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zsyrk_Tile_Async(*uplo, *trans, *alpha, A, *beta, C, sequence, request); } - -void MORSE_ZTRMM_TILE_ASYNC(MORSE_enum *side, MORSE_enum *uplo, MORSE_enum *transA, MORSE_enum *diag, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_ztrmm_Tile_Async(*side, *uplo, *transA, *diag, *alpha, A, B, sequence, request); } - -void MORSE_ZTRSM_TILE_ASYNC(MORSE_enum *side, MORSE_enum *uplo, MORSE_enum *transA, MORSE_enum *diag, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_ztrsm_Tile_Async(*side, *uplo, *transA, *diag, *alpha, A, B, sequence, request); } - -void MORSE_ZTRSMPL_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_ztrsmpl_Tile_Async(A, L, IPIV, B, sequence, request); } - -//void MORSE_ZTRSMRV_TILE_ASYNC(MORSE_enum *side, MORSE_enum *uplo, MORSE_enum *transA, MORSE_enum *diag, MORSE_Complex64_t *alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -//{ *info = MORSE_ztrsmrv_Tile_Async(*side, *uplo, *transA, *diag, *alpha, A, B, sequence, request); } - -void MORSE_ZTRTRI_TILE_ASYNC(MORSE_enum *uplo, MORSE_enum *diag, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_ztrtri_Tile_Async(*uplo, *diag, A, sequence, request); } - -void MORSE_ZUNGLQ_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zunglq_Tile_Async(A, T, B, sequence, request); } - -void MORSE_ZUNGQR_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zungqr_Tile_Async(A, T, B, sequence, request); } - -void MORSE_ZUNMLQ_TILE_ASYNC(MORSE_enum *side, MORSE_enum *trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zunmlq_Tile_Async(*side, *trans, A, T, B, sequence, request); } - -void MORSE_ZUNMQR_TILE_ASYNC(MORSE_enum *side, MORSE_enum *trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request, int *info) -{ *info = MORSE_zunmqr_Tile_Async(*side, *trans, A, T, B, sequence, request); } - - -/** - * FORTRAN API - workspace allocation - */ -//void MORSE_ALLOC_WORKSPACE_ZGEBRD(int *M, int *N, MORSE_desc_t **descT, int *info) -//{ *info = MORSE_Alloc_Workspace_zgebrd(*M, *N, descT); } -// -//void MORSE_ALLOC_WORKSPACE_ZGEEV(int *N, MORSE_desc_t **descT, int *info) -//{ *info = MORSE_Alloc_Workspace_zgeev(*N, descT); } -// -//void MORSE_ALLOC_WORKSPACE_ZGEHRD(int *N, MORSE_desc_t **descT, int *info) -//{ *info = MORSE_Alloc_Workspace_zgehrd(*N, descT); } - -void MORSE_ALLOC_WORKSPACE_ZGELQF(int *M, int *N, MORSE_desc_t **T, int *p, int *q, int *info) -{ *info = MORSE_Alloc_Workspace_zgelqf(*M, *N, T, *p, *q); } - -void MORSE_ALLOC_WORKSPACE_ZGELQF_TILE(int *M, int *N, MORSE_desc_t **descT, int *p, int *q, int *info) -{ *info = MORSE_Alloc_Workspace_zgelqf_Tile(*M, *N, descT, *p, *q); } - -void MORSE_ALLOC_WORKSPACE_ZGELS(int *M, int *N, MORSE_desc_t **T, int *p, int *q, int *info) -{ *info = MORSE_Alloc_Workspace_zgels(*M, *N, T, *p, *q); } - -void MORSE_ALLOC_WORKSPACE_ZGELS_TILE(int *M, int *N, MORSE_desc_t **descT, int *p, int *q, int *info) -{ *info = MORSE_Alloc_Workspace_zgels_Tile(*M, *N, descT, *p, *q); } - -void MORSE_ALLOC_WORKSPACE_ZGEQRF(int *M, int *N, MORSE_desc_t **T, int *p, int *q, int *info) -{ *info = MORSE_Alloc_Workspace_zgeqrf(*M, *N, T, *p, *q); } - -void MORSE_ALLOC_WORKSPACE_ZGEQRF_TILE(int *M, int *N, MORSE_desc_t **descT, int *p, int *q, int *info) -{ *info = MORSE_Alloc_Workspace_zgeqrf_Tile(*M, *N, descT, *p, *q); } - -void MORSE_ALLOC_WORKSPACE_ZGESV_INCPIV(int *N, MORSE_desc_t **descL, int **IPIV, int *p, int *q, int *info) -{ *info = MORSE_Alloc_Workspace_zgesv_incpiv(*N, descL, IPIV, *p, *q); } - -void MORSE_ALLOC_WORKSPACE_ZGESV_INCPIV_TILE (int *N, MORSE_desc_t **descL, int **IPIV, int *p, int *q, int *info) -{ *info = MORSE_Alloc_Workspace_zgesv_incpiv_Tile (*N, descL, IPIV, *p, *q); } - -//void MORSE_ALLOC_WORKSPACE_ZGESVD(int *M, int *N, MORSE_desc_t **descT, int *info) -//{ *info = MORSE_Alloc_Workspace_zgesvd(*M, *N, descT); } - -void MORSE_ALLOC_WORKSPACE_ZGETRF_INCPIV(int *M, int *N, MORSE_desc_t **descL, int **IPIV, int *p, int *q, int *info) -{ *info = MORSE_Alloc_Workspace_zgetrf_incpiv(*M, *N, descL, IPIV, *p, *q); } - -void MORSE_ALLOC_WORKSPACE_ZGETRF_INCPIV_TILE(int *N, MORSE_desc_t **descL, int **IPIV, int *p, int *q, int *info) -{ *info = MORSE_Alloc_Workspace_zgetrf_incpiv_Tile(*N, descL, IPIV, *p, *q); } - -//void MORSE_ALLOC_WORKSPACE_ZGETRI_TILE_ASYNC(MORSE_desc_t *A, MORSE_desc_t *W, int *info) -//{ *info = MORSE_Alloc_Workspace_zgetri_Tile_Async(A, W); } - -//void MORSE_ALLOC_WORKSPACE_ZHEEV(int *M, int *N, MORSE_desc_t **descT, int *info) -//{ *info = MORSE_Alloc_Workspace_zheev(*M, *N, descT); } -// -//void MORSE_ALLOC_WORKSPACE_ZHEEVD(int *M, int *N, MORSE_desc_t **descT, int *info) -//{ *info = MORSE_Alloc_Workspace_zheevd(*M, *N, descT); } -// -//void MORSE_ALLOC_WORKSPACE_ZHEGV(int *M, int *N, MORSE_desc_t **descT, int *info) -//{ *info = MORSE_Alloc_Workspace_zhegv(*M, *N, descT); } -// -//void MORSE_ALLOC_WORKSPACE_ZHEGVD(int *M, int *N, MORSE_desc_t **descT, int *info) -//{ *info = MORSE_Alloc_Workspace_zhegvd(*M, *N, descT); } -// -//void MORSE_ALLOC_WORKSPACE_ZHETRD(int *M, int *N, MORSE_desc_t **descT, int *info) -//{ *info = MORSE_Alloc_Workspace_zhetrd(*M, *N, descT); } - - - diff --git a/control/morsewinthread.h b/control/morsewinthread.h deleted file mode 100644 index a872b7f5e18fa287cabc15d8bae59405f2fb4bae..0000000000000000000000000000000000000000 --- a/control/morsewinthread.h +++ /dev/null @@ -1,79 +0,0 @@ -/** - * - * @file morsewinthread.h - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon Windows thread interface header - * - * @version 1.0.0 - * @author Piotr Luszczek - * @author Cedric Castagnede - * @date 2012-09-15 - * - */ -#ifndef MORSEWINTHREAD_H -#define MORSEWINTHREAD_H - -#include <windows.h> - -/* -typedef struct pthread_s { - HANDLE Hth; - unsigned IDth; - void *(*Fth) (void *); -} pthread_t; -*/ -typedef struct pthread_s { - HANDLE hThread; - unsigned int uThId; -} pthread_t; - -typedef HANDLE pthread_mutex_t; -typedef int pthread_mutexattr_t; -typedef int pthread_attr_t; -typedef int pthread_condattr_t; - -typedef struct pthread_cond_s { - HANDLE hSem; - HANDLE hEvt; - CRITICAL_SECTION cs; - int waitCount; /* waiting thread counter */ -} pthread_cond_t; - -typedef int pthread_attr_t; - -#define PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t) -1) - -#define PTHREAD_SCOPE_SYSTEM 1 - -#define MORSE_DLLPORT -#define MORSE_CDECL __cdecl - -MORSE_DLLPORT pthread_t MORSE_CDECL pthread_self(void); -MORSE_DLLPORT int MORSE_CDECL pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t * attr); -MORSE_DLLPORT int MORSE_CDECL pthread_mutex_destroy(pthread_mutex_t *mutex); -MORSE_DLLPORT int MORSE_CDECL pthread_mutex_lock(pthread_mutex_t *mutex); -MORSE_DLLPORT int MORSE_CDECL pthread_mutex_trylock(pthread_mutex_t *mutex); -MORSE_DLLPORT int MORSE_CDECL pthread_mutex_unlock(pthread_mutex_t *mutex); -MORSE_DLLPORT int MORSE_CDECL pthread_attr_init(pthread_attr_t *attr); -MORSE_DLLPORT int MORSE_CDECL pthread_attr_destroy(pthread_attr_t *attr); -MORSE_DLLPORT int MORSE_CDECL pthread_attr_setscope(pthread_attr_t *attr, int scope); -MORSE_DLLPORT int MORSE_CDECL pthread_create(pthread_t *tid, const pthread_attr_t *attr, void *(*start) (void *), void *arg); -MORSE_DLLPORT int MORSE_CDECL pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr); -MORSE_DLLPORT int MORSE_CDECL pthread_cond_destroy(pthread_cond_t *cond); -MORSE_DLLPORT int MORSE_CDECL pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex); -MORSE_DLLPORT int MORSE_CDECL pthread_cond_broadcast(pthread_cond_t *cond); -MORSE_DLLPORT int MORSE_CDECL pthread_join(pthread_t thread, void **value_ptr); -MORSE_DLLPORT int MORSE_CDECL pthread_equal(pthread_t thread1, pthread_t thread2); - -MORSE_DLLPORT int MORSE_CDECL pthread_setconcurrency (int); - -MORSE_DLLPORT unsigned int MORSE_CDECL pthread_self_id(void); - -#endif diff --git a/control/tile.c b/control/tile.c index bcc9dd9fa1cda9135b25870d637dbe1cb42e7df2..5cb9e166d6783d537b59b0e4b12d0d37aaad581a 100644 --- a/control/tile.c +++ b/control/tile.c @@ -29,7 +29,7 @@ * * @ingroup Tile * - * MORSE_Lapack_to_Tile - Conversion from LAPACK layout to tile layout. + * CHAMELEON_Lapack_to_Tile - Conversion from LAPACK layout to tile layout. * ****************************************************************************** * @@ -40,43 +40,43 @@ * The leading dimension of the matrix Af77. * * @param[out] A - * Descriptor of the MORSE matrix in tile layout. + * Descriptor of the CHAMELEON matrix in tile layout. * ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Lapack_to_Tile(void *Af77, int LDA, MORSE_desc_t *A) +int CHAMELEON_Lapack_to_Tile(void *Af77, int LDA, CHAM_desc_t *A) { switch( A->dtyp ) { - case MorseComplexDouble: - return MORSE_zLapack_to_Tile( (MORSE_Complex64_t *)Af77, LDA, A ); + case ChamComplexDouble: + return CHAMELEON_zLapack_to_Tile( (CHAMELEON_Complex64_t *)Af77, LDA, A ); break; - case MorseComplexFloat: - return MORSE_cLapack_to_Tile( (MORSE_Complex32_t *)Af77, LDA, A ); + case ChamComplexFloat: + return CHAMELEON_cLapack_to_Tile( (CHAMELEON_Complex32_t *)Af77, LDA, A ); break; - case MorseRealFloat: - return MORSE_sLapack_to_Tile( (float *)Af77, LDA, A ); + case ChamRealFloat: + return CHAMELEON_sLapack_to_Tile( (float *)Af77, LDA, A ); break; - case MorseRealDouble: + case ChamRealDouble: default: - return MORSE_dLapack_to_Tile( (double *)Af77, LDA, A ); + return CHAMELEON_dLapack_to_Tile( (double *)Af77, LDA, A ); } - return MORSE_ERR_ILLEGAL_VALUE; + return CHAMELEON_ERR_ILLEGAL_VALUE; } /** * * @ingroup Tile * - * MORSE_Tile_to_Lapack - Conversion from tile layout to LAPACK layout. + * CHAMELEON_Tile_to_Lapack - Conversion from tile layout to LAPACK layout. * ****************************************************************************** * * @param[out] A - * Descriptor of the MORSE matrix in tile layout. + * Descriptor of the CHAMELEON matrix in tile layout. * * @param[in] Af77 * LAPACK matrix (only needed on proc 0). @@ -87,24 +87,24 @@ int MORSE_Lapack_to_Tile(void *Af77, int LDA, MORSE_desc_t *A) ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Tile_to_Lapack(MORSE_desc_t *A, void *Af77, int LDA) +int CHAMELEON_Tile_to_Lapack(CHAM_desc_t *A, void *Af77, int LDA) { switch( A->dtyp ) { - case MorseComplexDouble: - return MORSE_zTile_to_Lapack( A, (MORSE_Complex64_t *)Af77, LDA ); + case ChamComplexDouble: + return CHAMELEON_zTile_to_Lapack( A, (CHAMELEON_Complex64_t *)Af77, LDA ); break; - case MorseComplexFloat: - return MORSE_cTile_to_Lapack( A, (MORSE_Complex32_t *)Af77, LDA ); + case ChamComplexFloat: + return CHAMELEON_cTile_to_Lapack( A, (CHAMELEON_Complex32_t *)Af77, LDA ); break; - case MorseRealFloat: - return MORSE_sTile_to_Lapack( A, (float *)Af77, LDA ); + case ChamRealFloat: + return CHAMELEON_sTile_to_Lapack( A, (float *)Af77, LDA ); break; - case MorseRealDouble: + case ChamRealDouble: default: - return MORSE_dTile_to_Lapack( A, (double *)Af77, LDA ); + return CHAMELEON_dTile_to_Lapack( A, (double *)Af77, LDA ); } - return MORSE_ERR_ILLEGAL_VALUE; + return CHAMELEON_ERR_ILLEGAL_VALUE; } diff --git a/control/workspace.c b/control/workspace.c index 1c8d6d0dfe454d687134e653bba979a0022f35d6..28ffa861552114188a5814670d681842f258265e 100644 --- a/control/workspace.c +++ b/control/workspace.c @@ -31,102 +31,102 @@ /** * */ -int morse_alloc_ibnb_tile(int M, int N, MORSE_enum func, int type, MORSE_desc_t **desc, int p, int q) +int chameleon_alloc_ibnb_tile(int M, int N, cham_tasktype_t func, int type, CHAM_desc_t **desc, int p, int q) { int status; int IB, NB, MT, NT; int64_t lm, ln; - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("morse_alloc_ibnb_tile", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("chameleon_alloc_ibnb_tile", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Tune NB & IB depending on M & N; Set IBNBSIZE */ - status = morse_tune(func, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("morse_alloc_ibnb_tile", "morse_tune() failed"); - return MORSE_ERR_UNEXPECTED; + status = chameleon_tune(func, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("chameleon_alloc_ibnb_tile", "chameleon_tune() failed"); + return CHAMELEON_ERR_UNEXPECTED; } /* Set MT & NT & allocate */ - NB = MORSE_NB; - IB = MORSE_IB; + NB = CHAMELEON_NB; + IB = CHAMELEON_IB; MT = (M%NB==0) ? (M/NB) : (M/NB+1); NT = (N%NB==0) ? (N/NB) : (N/NB+1); /* Size is doubled for RH QR to store the reduction T */ - if ((morse->householder == MORSE_TREE_HOUSEHOLDER) && - ((func == MORSE_FUNC_SGELS) || - (func == MORSE_FUNC_DGELS) || - (func == MORSE_FUNC_CGELS) || - (func == MORSE_FUNC_ZGELS) || - (func == MORSE_FUNC_SGESVD) || - (func == MORSE_FUNC_DGESVD) || - (func == MORSE_FUNC_CGESVD) || - (func == MORSE_FUNC_ZGESVD))) + if ((chamctxt->householder == ChamTreeHouseholder) && + ((func == CHAMELEON_FUNC_SGELS) || + (func == CHAMELEON_FUNC_DGELS) || + (func == CHAMELEON_FUNC_CGELS) || + (func == CHAMELEON_FUNC_ZGELS) || + (func == CHAMELEON_FUNC_SGESVD) || + (func == CHAMELEON_FUNC_DGESVD) || + (func == CHAMELEON_FUNC_CGESVD) || + (func == CHAMELEON_FUNC_ZGESVD))) NT *= 2; lm = IB * MT; ln = NB * NT; /* Allocate and initialize descriptor */ - *desc = (MORSE_desc_t*)malloc(sizeof(MORSE_desc_t)); + *desc = (CHAM_desc_t*)malloc(sizeof(CHAM_desc_t)); if (*desc == NULL) { - morse_error("morse_alloc_ibnb_tile", "malloc() failed"); - return MORSE_ERR_OUT_OF_RESOURCES; + chameleon_error("chameleon_alloc_ibnb_tile", "malloc() failed"); + return CHAMELEON_ERR_OUT_OF_RESOURCES; } - **desc = morse_desc_init(type, IB, NB, IB*NB, lm, ln, 0, 0, lm, ln, p, q); + **desc = chameleon_desc_init(type, IB, NB, IB*NB, lm, ln, 0, 0, lm, ln, p, q); /* Allocate matrix */ - if (morse_desc_mat_alloc(*desc)) { - morse_error("morse_alloc_ibnb_tile", "malloc() failed"); + if (chameleon_desc_mat_alloc(*desc)) { + chameleon_error("chameleon_alloc_ibnb_tile", "malloc() failed"); free(*desc); - return MORSE_ERR_OUT_OF_RESOURCES; + return CHAMELEON_ERR_OUT_OF_RESOURCES; } RUNTIME_desc_create( *desc ); /* Check that everything is ok */ - status = morse_desc_check(*desc); - if (status != MORSE_SUCCESS) { - morse_error("morse_alloc_ibnb_tile", "invalid descriptor"); + status = chameleon_desc_check(*desc); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("chameleon_alloc_ibnb_tile", "invalid descriptor"); free(*desc); return status; } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * */ -int morse_alloc_ipiv(int M, int N, MORSE_enum func, int type, MORSE_desc_t **desc, void **IPIV, int p, int q) +int chameleon_alloc_ipiv(int M, int N, cham_tasktype_t func, int type, CHAM_desc_t **desc, void **IPIV, int p, int q) { int status; int NB, IB, MT, NT; int64_t lm, ln; size_t size; - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("morse_alloc_ipiv", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("chameleon_alloc_ipiv", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } /* Tune NB & IB depending on M & N; Set IBNBSIZE */ - status = morse_tune(func, M, N, 0); - if (status != MORSE_SUCCESS) { - morse_error("morse_alloc_ipiv", "morse_tune() failed"); - return MORSE_ERR_UNEXPECTED; + status = chameleon_tune(func, M, N, 0); + if (status != CHAMELEON_SUCCESS) { + chameleon_error("chameleon_alloc_ipiv", "chameleon_tune() failed"); + return CHAMELEON_ERR_UNEXPECTED; } /* Set MT & NT & allocate */ - NB = MORSE_NB; - IB = MORSE_IB; + NB = CHAMELEON_NB; + IB = CHAMELEON_IB; NT = (N%NB==0) ? (N/NB) : ((N/NB)+1); MT = (M%NB==0) ? (M/NB) : ((M/NB)+1); @@ -137,30 +137,30 @@ int morse_alloc_ipiv(int M, int N, MORSE_enum func, int type, MORSE_desc_t **des size = (size_t)(chameleon_min(MT, NT) * NB * NT * sizeof(int)); if (size == 0) { *IPIV = NULL; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /* TODO: Fix the distribution for IPIV */ *IPIV = (int*)malloc( size ); - *desc = (MORSE_desc_t*)malloc(sizeof(MORSE_desc_t)); - **desc = morse_desc_init(type, IB, NB, IB*NB, lm, ln, 0, 0, lm, ln, p, q ); + *desc = (CHAM_desc_t*)malloc(sizeof(CHAM_desc_t)); + **desc = chameleon_desc_init(type, IB, NB, IB*NB, lm, ln, 0, 0, lm, ln, p, q ); - if ( morse_desc_mat_alloc(*desc) ) { - morse_error("morse_alloc_ipiv", "malloc() failed"); + if ( chameleon_desc_mat_alloc(*desc) ) { + chameleon_error("chameleon_alloc_ipiv", "malloc() failed"); free(*desc); - return MORSE_ERR_OUT_OF_RESOURCES; + return CHAMELEON_ERR_OUT_OF_RESOURCES; } RUNTIME_desc_create( *desc ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * * @ingroup Workspace * - * MORSE_Dealloc_Worksapce - Deallocate workspace descriptor allocated by + * CHAMELEON_Dealloc_Worksapce - Deallocate workspace descriptor allocated by * any workspace allocation routine. * ******************************************************************************* @@ -171,30 +171,30 @@ int morse_alloc_ipiv(int M, int N, MORSE_enum func, int type, MORSE_desc_t **des ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Dealloc_Workspace(MORSE_desc_t **desc) +int CHAMELEON_Dealloc_Workspace(CHAM_desc_t **desc) { - MORSE_context_t *morse; + CHAM_context_t *chamctxt; - morse = morse_context_self(); - if (morse == NULL) { - morse_fatal_error("MORSE_Dealloc_Workspace", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; + chamctxt = chameleon_context_self(); + if (chamctxt == NULL) { + chameleon_fatal_error("CHAMELEON_Dealloc_Workspace", "CHAMELEON not initialized"); + return CHAMELEON_ERR_NOT_INITIALIZED; } if (*desc == NULL) { - morse_error("MORSE_Dealloc_Workspace", "attempting to deallocate a NULL descriptor"); - return MORSE_ERR_UNALLOCATED; + chameleon_error("CHAMELEON_Dealloc_Workspace", "attempting to deallocate a NULL descriptor"); + return CHAMELEON_ERR_UNALLOCATED; } if ((*desc)->mat == NULL && (*desc)->use_mat == 1) { - morse_error("MORSE_Dealloc_Worspace", "attempting to deallocate a NULL pointer"); - return MORSE_ERR_UNALLOCATED; + chameleon_error("CHAMELEON_Dealloc_Worspace", "attempting to deallocate a NULL pointer"); + return CHAMELEON_ERR_UNALLOCATED; } - morse_desc_mat_free( *desc ); + chameleon_desc_mat_free( *desc ); RUNTIME_desc_destroy( *desc ); free(*desc); *desc = NULL; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/control/workspace.h b/control/workspace.h index 70a6a30226230cfab571c8cba892362baf312aa1..32a8b63583e4b69930fd06a68ac2072b22fbf454 100644 --- a/control/workspace.h +++ b/control/workspace.h @@ -17,8 +17,8 @@ * @date 2010-11-15 * */ -#ifndef _MORSE_WORKSPACE_H_ -#define _MORSE_WORKSPACE_H_ +#ifndef _CHAMELEON_WORKSPACE_H_ +#define _CHAMELEON_WORKSPACE_H_ #ifdef __cplusplus extern "C" { @@ -27,8 +27,8 @@ extern "C" { /** * Internal routines */ -int morse_alloc_ibnb_tile(int M, int N, MORSE_enum func, int type, MORSE_desc_t **desc, int p, int q); -int morse_alloc_ipiv(int M, int N, MORSE_enum func, int type, MORSE_desc_t **desc, void **IPIV, int p, int q); +int chameleon_alloc_ibnb_tile(int M, int N, cham_tasktype_t func, int type, CHAM_desc_t **desc, int p, int q); +int chameleon_alloc_ipiv(int M, int N, cham_tasktype_t func, int type, CHAM_desc_t **desc, void **IPIV, int p, int q); #ifdef __cplusplus } diff --git a/control/workspace_z.c b/control/workspace_z.c index e6e795b82991c7199cdef582be078ece58c7bc75..3b950a8610f1d63f4d1eb20d3d9c1a2b31cd1503 100644 --- a/control/workspace_z.c +++ b/control/workspace_z.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Hatem Ltaief * @author Azzam Haidar @@ -31,8 +31,8 @@ * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgeev - Allocates workspace for MORSE_zgeev or - * MORSE_zgeev_Tile routine. + * CHAMELEON_Alloc_Workspace_zgeev - Allocates workspace for CHAMELEON_zgeev or + * CHAMELEON_zgeev_Tile routine. * ****************************************************************************** * @@ -46,18 +46,18 @@ ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgeev(int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(N, N, MORSE_FUNC_ZGEEV, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zgeev(int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(N, N, CHAMELEON_FUNC_ZGEEV, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgehrd - Allocates workspace for MORSE_zgehrd or - * MORSE_zgehrd_Tile routine. + * CHAMELEON_Alloc_Workspace_zgehrd - Allocates workspace for CHAMELEON_zgehrd or + * CHAMELEON_zgehrd_Tile routine. * ****************************************************************************** * @@ -71,17 +71,17 @@ int MORSE_Alloc_Workspace_zgeev(int N, MORSE_desc_t **descT, int p, int q) { ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgehrd(int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(N, N, MORSE_FUNC_ZGEHRD, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zgehrd(int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(N, N, CHAMELEON_FUNC_ZGEHRD, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgebrd - Allocates workspace for MORSE_zgebrd or MORSE_zgebrd_Tile routine. + * CHAMELEON_Alloc_Workspace_zgebrd - Allocates workspace for CHAMELEON_zgebrd or CHAMELEON_zgebrd_Tile routine. * ****************************************************************************** * @@ -98,18 +98,18 @@ int MORSE_Alloc_Workspace_zgehrd(int N, MORSE_desc_t **descT, int p, int q) { ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgebrd(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGEBRD, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zgebrd(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZGEBRD, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgels - Allocates workspace for MORSE_zgels or - * MORSE_zgels_Tile routine. + * CHAMELEON_Alloc_Workspace_zgels - Allocates workspace for CHAMELEON_zgels or + * CHAMELEON_zgels_Tile routine. * ****************************************************************************** * @@ -126,18 +126,18 @@ int MORSE_Alloc_Workspace_zgebrd(int M, int N, MORSE_desc_t **descT, int p, int ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgels(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGELS, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zgels(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZGELS, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgels_Tile - Allocates tile workspace for - * MORSE_zgels_Tile routine. + * CHAMELEON_Alloc_Workspace_zgels_Tile - Allocates tile workspace for + * CHAMELEON_zgels_Tile routine. * ****************************************************************************** * @@ -148,7 +148,7 @@ int MORSE_Alloc_Workspace_zgels(int M, int N, MORSE_desc_t **descT, int p, int q * The number of columns of the matrix A. N >= 0. * * @param[out] descT - * On exit, MORSE_desc_t *on workspace handle for storage of the extra + * On exit, CHAM_desc_t *on workspace handle for storage of the extra * T factors required by the tile QR or the tile LQ factorization. * * @param[in] p @@ -160,18 +160,18 @@ int MORSE_Alloc_Workspace_zgels(int M, int N, MORSE_desc_t **descT, int p, int q ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgels_Tile(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGELS, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zgels_Tile(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZGELS, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgeqrf - Allocates workspace for MORSE_zgeqrf or - * MORSE_zgeqrf_Tile routine. + * CHAMELEON_Alloc_Workspace_zgeqrf - Allocates workspace for CHAMELEON_zgeqrf or + * CHAMELEON_zgeqrf_Tile routine. * ****************************************************************************** * @@ -194,18 +194,18 @@ int MORSE_Alloc_Workspace_zgels_Tile(int M, int N, MORSE_desc_t **descT, int p, ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgeqrf(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGELS, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zgeqrf(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZGELS, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgeqrf_Tile - Allocates tile workspace for - * MORSE_zgels_Tile routine. + * CHAMELEON_Alloc_Workspace_zgeqrf_Tile - Allocates tile workspace for + * CHAMELEON_zgels_Tile routine. * ****************************************************************************** * @@ -216,7 +216,7 @@ int MORSE_Alloc_Workspace_zgeqrf(int M, int N, MORSE_desc_t **descT, int p, int * The number of columns of the matrix A. N >= 0. * * @param[out] descT - * On exit, MORSE_desc_t *on workspace handle for storage of the extra + * On exit, CHAM_desc_t *on workspace handle for storage of the extra * T factors required by the tile QR or the tile LQ factorization. * * @param[in] p @@ -228,18 +228,18 @@ int MORSE_Alloc_Workspace_zgeqrf(int M, int N, MORSE_desc_t **descT, int p, int ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgeqrf_Tile(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGELS, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zgeqrf_Tile(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZGELS, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgelqf - Allocates workspace for MORSE_zgelqf or - * MORSE_zgelqf_Tile routines. + * CHAMELEON_Alloc_Workspace_zgelqf - Allocates workspace for CHAMELEON_zgelqf or + * CHAMELEON_zgelqf_Tile routines. * ****************************************************************************** * @@ -262,17 +262,17 @@ int MORSE_Alloc_Workspace_zgeqrf_Tile(int M, int N, MORSE_desc_t **descT, int p, ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgelqf(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGELS, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zgelqf(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZGELS, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgelqf_Tile - Allocates tile workspace for MORSE_zgels_Tile routine. + * CHAMELEON_Alloc_Workspace_zgelqf_Tile - Allocates tile workspace for CHAMELEON_zgels_Tile routine. * ****************************************************************************** * @@ -283,7 +283,7 @@ int MORSE_Alloc_Workspace_zgelqf(int M, int N, MORSE_desc_t **descT, int p, int * The number of columns of the matrix A. N >= 0. * * @param[out] descT - * On exit, MORSE_desc_t *on workspace handle for storage of the extra + * On exit, CHAM_desc_t *on workspace handle for storage of the extra * T factors required by the tile QR or the tile LQ factorization. * * @param[in] p @@ -295,18 +295,18 @@ int MORSE_Alloc_Workspace_zgelqf(int M, int N, MORSE_desc_t **descT, int p, int ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgelqf_Tile(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGELS, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zgelqf_Tile(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZGELS, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgesv - Allocates workspace for MORSE_zgesv or - * MORSE_zgesv_Tile routines. + * CHAMELEON_Alloc_Workspace_zgesv - Allocates workspace for CHAMELEON_zgesv or + * CHAMELEON_zgesv_Tile routines. * ****************************************************************************** * @@ -325,17 +325,17 @@ int MORSE_Alloc_Workspace_zgelqf_Tile(int M, int N, MORSE_desc_t **descT, int p, ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgesv_incpiv(int N, MORSE_desc_t **descL, int **IPIV, int p, int q) { - return morse_alloc_ipiv(N, N, MORSE_FUNC_ZGESV, MorseComplexDouble, descL, (void**)IPIV, p, q); } +int CHAMELEON_Alloc_Workspace_zgesv_incpiv(int N, CHAM_desc_t **descL, int **IPIV, int p, int q) { + return chameleon_alloc_ipiv(N, N, CHAMELEON_FUNC_ZGESV, ChamComplexDouble, descL, (void**)IPIV, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgesv_Tile - Allocates workspace for MORSE_zgesv_Tile + * CHAMELEON_Alloc_Workspace_zgesv_Tile - Allocates workspace for CHAMELEON_zgesv_Tile * routines. * ******************************************************************************* @@ -345,7 +345,7 @@ int MORSE_Alloc_Workspace_zgesv_incpiv(int N, MORSE_desc_t **descL, int **IPIV, * N >= 0. * * @param[out] descL - * On exit, MORSE descriptor on workspace handle for storage of the + * On exit, CHAMELEON descriptor on workspace handle for storage of the * extra L factors required by the tile LU factorization. * * @param[out] IPIV @@ -355,19 +355,19 @@ int MORSE_Alloc_Workspace_zgesv_incpiv(int N, MORSE_desc_t **descL, int **IPIV, ****************************************************************************** * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgesv_incpiv_Tile(int N, MORSE_desc_t **descL, int **IPIV, int p, int q) +int CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile(int N, CHAM_desc_t **descL, int **IPIV, int p, int q) { - return morse_alloc_ipiv(N, N, MORSE_FUNC_ZGESV, MorseComplexDouble, descL, (void**)IPIV, p, q); + return chameleon_alloc_ipiv(N, N, CHAMELEON_FUNC_ZGESV, ChamComplexDouble, descL, (void**)IPIV, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgesvd - Allocates workspace for MORSE_zgesvd or - * MORSE_zgesvd_Tile routine. + * CHAMELEON_Alloc_Workspace_zgesvd - Allocates workspace for CHAMELEON_zgesvd or + * CHAMELEON_zgesvd_Tile routine. * ******************************************************************************* * @@ -389,19 +389,19 @@ int MORSE_Alloc_Workspace_zgesv_incpiv_Tile(int N, MORSE_desc_t **descL, int **I ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgesvd(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGESVD, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zgesvd(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZGESVD, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgetrf_incpiv - Allocates workspace for - * MORSE_zgetrf_incpiv or MORSE_zgetrf_incpiv_Tile or - * MORSE_zgetrf_incpiv_Tile_Async routines. + * CHAMELEON_Alloc_Workspace_zgetrf_incpiv - Allocates workspace for + * CHAMELEON_zgetrf_incpiv or CHAMELEON_zgetrf_incpiv_Tile or + * CHAMELEON_zgetrf_incpiv_Tile_Async routines. * ******************************************************************************* * @@ -422,24 +422,24 @@ int MORSE_Alloc_Workspace_zgesvd(int M, int N, MORSE_desc_t **descT, int p, int ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * ****************************************************************************** * - * @sa MORSE_zgetrf_incpiv - * @sa MORSE_zgetrf_incpiv_Tile - * @sa MORSE_zgetrf_incpiv_Tile_Async + * @sa CHAMELEON_zgetrf_incpiv + * @sa CHAMELEON_zgetrf_incpiv_Tile + * @sa CHAMELEON_zgetrf_incpiv_Tile_Async * */ -int MORSE_Alloc_Workspace_zgetrf_incpiv(int M, int N, MORSE_desc_t **descL, int **IPIV, int p, int q) { - return morse_alloc_ipiv(M, N, MORSE_FUNC_ZGESV, MorseComplexDouble, descL, (void**)IPIV, p, q); } +int CHAMELEON_Alloc_Workspace_zgetrf_incpiv(int M, int N, CHAM_desc_t **descL, int **IPIV, int p, int q) { + return chameleon_alloc_ipiv(M, N, CHAMELEON_FUNC_ZGESV, ChamComplexDouble, descL, (void**)IPIV, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgetrf_incpiv_Tile - Allocates workspace for - * MORSE_zgesv_incpiv_Tile or MORSE_zgesv_incpiv_Tile_Async routines. + * CHAMELEON_Alloc_Workspace_zgetrf_incpiv_Tile - Allocates workspace for + * CHAMELEON_zgesv_incpiv_Tile or CHAMELEON_zgesv_incpiv_Tile_Async routines. * ******************************************************************************* * @@ -447,7 +447,7 @@ int MORSE_Alloc_Workspace_zgetrf_incpiv(int M, int N, MORSE_desc_t **descL, int * The number of linear equations, i.e., the order of the matrix A. N >= 0. * * @param[out] descL - * On exit, MORSE descriptor on workspace handle for storage of the extra + * On exit, CHAMELEON descriptor on workspace handle for storage of the extra * L factors required by the tile LU factorization. * * @param[out] IPIV @@ -457,17 +457,17 @@ int MORSE_Alloc_Workspace_zgetrf_incpiv(int M, int N, MORSE_desc_t **descL, int ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zgetrf_incpiv_Tile(int N, MORSE_desc_t **descL, int **IPIV, int p, int q) { - return morse_alloc_ipiv(N, N, MORSE_FUNC_ZGESV, MorseComplexDouble, descL, (void**)IPIV, p, q); } +int CHAMELEON_Alloc_Workspace_zgetrf_incpiv_Tile(int N, CHAM_desc_t **descL, int **IPIV, int p, int q) { + return chameleon_alloc_ipiv(N, N, CHAMELEON_FUNC_ZGESV, ChamComplexDouble, descL, (void**)IPIV, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zheev - Allocates workspace for MORSE_zheev or MORSE_zheev_Tile routine. + * CHAMELEON_Alloc_Workspace_zheev - Allocates workspace for CHAMELEON_zheev or CHAMELEON_zheev_Tile routine. * ******************************************************************************* * @@ -489,17 +489,17 @@ int MORSE_Alloc_Workspace_zgetrf_incpiv_Tile(int N, MORSE_desc_t **descL, int ** ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zheev(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZHEEV, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zheev(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZHEEV, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zheevd - Allocates workspace for MORSE_zheevd or MORSE_zheevd_Tile routine. + * CHAMELEON_Alloc_Workspace_zheevd - Allocates workspace for CHAMELEON_zheevd or CHAMELEON_zheevd_Tile routine. * ******************************************************************************* * @@ -521,17 +521,17 @@ int MORSE_Alloc_Workspace_zheev(int M, int N, MORSE_desc_t **descT, int p, int q ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zheevd(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZHEEVD, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zheevd(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZHEEVD, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zhegv - Allocates workspace for MORSE_zhegv or MORSE_zhegv_Tile routine. + * CHAMELEON_Alloc_Workspace_zhegv - Allocates workspace for CHAMELEON_zhegv or CHAMELEON_zhegv_Tile routine. * ******************************************************************************* * @@ -553,17 +553,17 @@ int MORSE_Alloc_Workspace_zheevd(int M, int N, MORSE_desc_t **descT, int p, int ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zhegv(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZHEGV, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zhegv(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZHEGV, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zhegvd - Allocates workspace for MORSE_zhegvd or MORSE_zhegvd_Tile routine. + * CHAMELEON_Alloc_Workspace_zhegvd - Allocates workspace for CHAMELEON_zhegvd or CHAMELEON_zhegvd_Tile routine. * ******************************************************************************* * @@ -585,17 +585,17 @@ int MORSE_Alloc_Workspace_zhegv(int M, int N, MORSE_desc_t **descT, int p, int q ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zhegvd(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZHEGVD, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zhegvd(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZHEGVD, ChamComplexDouble, descT, p, q); } /** * * @ingroup Workspace * - * MORSE_Alloc_Workspace_zhetrd - Allocates workspace for MORSE_zhetrd or MORSE_zhetrd_Tile routine. + * CHAMELEON_Alloc_Workspace_zhetrd - Allocates workspace for CHAMELEON_zhetrd or CHAMELEON_zhetrd_Tile routine. * ******************************************************************************* * @@ -617,8 +617,8 @@ int MORSE_Alloc_Workspace_zhegvd(int M, int N, MORSE_desc_t **descT, int p, int ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * */ -int MORSE_Alloc_Workspace_zhetrd(int M, int N, MORSE_desc_t **descT, int p, int q) { - return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZHETRD, MorseComplexDouble, descT, p, q); } +int CHAMELEON_Alloc_Workspace_zhetrd(int M, int N, CHAM_desc_t **descT, int p, int q) { + return chameleon_alloc_ibnb_tile(M, N, CHAMELEON_FUNC_ZHETRD, ChamComplexDouble, descT, p, q); } diff --git a/coreblas/CMakeLists.txt b/coreblas/CMakeLists.txt index ca80402a7c4791fb8d5c8dc8651d08dcfc3e7ad4..bf39d327190dc0bc128cf68f35d8764761755ff2 100644 --- a/coreblas/CMakeLists.txt +++ b/coreblas/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/coreblas/compute/CMakeLists.txt b/coreblas/compute/CMakeLists.txt index ddae10cf13bd9db29c3f415700ade8629bf0a164..9e758c418cc273d7c6b95b8d61fc860d1454e60e 100644 --- a/coreblas/compute/CMakeLists.txt +++ b/coreblas/compute/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -25,7 +25,7 @@ # ### -# Generate the morse sources for all possible precisions +# Generate the chameleon sources for all possible precisions # ------------------------------------------------------ set(COREBLAS_SRCS_GENERATED "") diff --git a/coreblas/compute/core_dzasum.c b/coreblas/compute/core_dzasum.c index 29694f6ef24aeffecb82ad4ffb0e75fcd256869a..6ce517960e9717566403a5afed1b2fb014e7d86c 100644 --- a/coreblas/compute/core_dzasum.c +++ b/coreblas/compute/core_dzasum.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -25,14 +25,14 @@ /** * - * @defgroup CORE_MORSE_Complex64_t + * @defgroup CORE_CHAMELEON_Complex64_t * @brief Linear algebra routines exposed to users. CPU functions. * */ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_dzasum - Computes the sums of the absolute values of elements in a same * row or column. @@ -42,14 +42,14 @@ * * @param[in] storev * Specifies whether the sums are made per column or row. - * = MorseColumnwise: Computes the sum on each column - * = MorseRowwise: Computes the sum on each row + * = ChamColumnwise: Computes the sum on each column + * = ChamRowwise: Computes the sum on each row * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular or general - * = MorseUpperLower: All matrix A is referenced; - * = MorseUpper: Upper triangle of A is referenced; - * = MorseLower: Lower triangle of A is referenced. + * = ChamUpperLower: All matrix A is referenced; + * = ChamUpper: Upper triangle of A is referenced; + * = ChamLower: Lower triangle of A is referenced. * * @param[in] M * M specifies the number of rows of the matrix A. M >= 0. @@ -64,20 +64,20 @@ * The leading dimension of the array A. lda >= max(1,M). * * @param[inout] work - * Array of dimension M if storev = MorseRowwise; N otherwise. + * Array of dimension M if storev = ChamRowwise; N otherwise. * On exit, contains the sums of the absolute values per column or row. * */ -void CORE_dzasum(MORSE_enum storev, MORSE_enum uplo, int M, int N, - const MORSE_Complex64_t *A, int lda, double *work) +void CORE_dzasum(cham_store_t storev, cham_uplo_t uplo, int M, int N, + const CHAMELEON_Complex64_t *A, int lda, double *work) { - const MORSE_Complex64_t *tmpA; + const CHAMELEON_Complex64_t *tmpA; double *tmpW, sum, abs; int i,j; switch (uplo) { - case MorseUpper: + case ChamUpper: for (j = 0; j < N; j++) { tmpA = A+(j*lda); sum = 0.0; @@ -90,7 +90,7 @@ void CORE_dzasum(MORSE_enum storev, MORSE_enum uplo, int M, int N, work[j] += sum + cabs(*tmpA); } break; - case MorseLower: + case ChamLower: for (j = 0; j < N; j++) { tmpA = A+(j*lda)+j; @@ -107,9 +107,9 @@ void CORE_dzasum(MORSE_enum storev, MORSE_enum uplo, int M, int N, work[j] += sum; } break; - case MorseUpperLower: + case ChamUpperLower: default: - if (storev == MorseColumnwise) { + if (storev == ChamColumnwise) { for (j = 0; j < N; j++) { /* work[j] += cblas_dzasum(M, &(A[j*lda]), 1); */ tmpA = A+(j*lda); diff --git a/coreblas/compute/core_zaxpy.c b/coreblas/compute/core_zaxpy.c index 7e28d4e6cff06ac30cd9656140829be877cdffdb..2d0a90e4f5a3215b48621eab4596f607e08b3d21 100644 --- a/coreblas/compute/core_zaxpy.c +++ b/coreblas/compute/core_zaxpy.c @@ -19,7 +19,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zaxpy adds to vectors together. * @@ -48,14 +48,14 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -int CORE_zaxpy(int M, MORSE_Complex64_t alpha, - const MORSE_Complex64_t *A, int incA, - MORSE_Complex64_t *B, int incB) +int CORE_zaxpy(int M, CHAMELEON_Complex64_t alpha, + const CHAMELEON_Complex64_t *A, int incA, + CHAMELEON_Complex64_t *B, int incB) { if (M < 0) { coreblas_error(1, "Illegal value of M"); @@ -72,7 +72,7 @@ int CORE_zaxpy(int M, MORSE_Complex64_t alpha, cblas_zaxpy(M, CBLAS_SADDR(alpha), A, incA, B, incB); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zgeadd.c b/coreblas/compute/core_zgeadd.c index d6d31f288e0cf7fe0d370e1b42623f4f6d6356c5..daf0feec61420d6c73dde29fea526d0b2dddda59 100644 --- a/coreblas/compute/core_zgeadd.c +++ b/coreblas/compute/core_zgeadd.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @date 2015-11-03 @@ -25,7 +25,7 @@ /** ****************************************************************************** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgeadd adds to matrices together as in PBLAS pzgeadd. * @@ -38,9 +38,9 @@ * @param[in] trans * Specifies whether the matrix A is non-transposed, transposed, or * conjugate transposed - * = MorseNoTrans: op(A) = A - * = MorseTrans: op(A) = A' - * = MorseConjTrans: op(A) = conj(A') + * = ChamNoTrans: op(A) = A + * = ChamTrans: op(A) = A' + * = ChamConjTrans: op(A) = conj(A') * * @param[in] M * Number of rows of the matrices op(A) and B. @@ -52,12 +52,12 @@ * Scalar factor of A. * * @param[in] A - * Matrix of size LDA-by-N, if trans = MorseNoTrans, LDA-by-M + * Matrix of size LDA-by-N, if trans = ChamNoTrans, LDA-by-M * otherwise. * * @param[in] LDA * Leading dimension of the array A. LDA >= max(1,k), with k=M, if - * trans = MorseNoTrans, and k=N otherwise. + * trans = ChamNoTrans, and k=N otherwise. * * @param[in] beta * Scalar factor of B. @@ -72,23 +72,23 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -#if defined(MORSE_HAVE_WEAK) +#if defined(CHAMELEON_HAVE_WEAK) #pragma weak CORE_zgeadd = PCORE_zgeadd #define CORE_zgeadd PCORE_zgeadd #endif -int CORE_zgeadd(MORSE_enum trans, int M, int N, - MORSE_Complex64_t alpha, - const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, - MORSE_Complex64_t *B, int LDB) +int CORE_zgeadd(cham_trans_t trans, int M, int N, + CHAMELEON_Complex64_t alpha, + const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, + CHAMELEON_Complex64_t *B, int LDB) { int i, j; - if ((trans < MorseNoTrans) || (trans > MorseConjTrans)) + if ((trans < ChamNoTrans) || (trans > ChamConjTrans)) { coreblas_error(1, "illegal value of trans"); return -1; @@ -102,8 +102,8 @@ int CORE_zgeadd(MORSE_enum trans, int M, int N, coreblas_error(3, "Illegal value of N"); return -3; } - if ( ((trans == MorseNoTrans) && (LDA < chameleon_max(1,M)) && (M > 0)) || - ((trans != MorseNoTrans) && (LDA < chameleon_max(1,N)) && (N > 0)) ) + if ( ((trans == ChamNoTrans) && (LDA < chameleon_max(1,M)) && (M > 0)) || + ((trans != ChamNoTrans) && (LDA < chameleon_max(1,N)) && (N > 0)) ) { coreblas_error(6, "Illegal value of LDA"); return -6; @@ -115,7 +115,7 @@ int CORE_zgeadd(MORSE_enum trans, int M, int N, switch( trans ) { #if defined(PRECISION_z) || defined(PRECISION_c) - case MorseConjTrans: + case ChamConjTrans: for (j=0; j<N; j++, A++) { for(i=0; i<M; i++, B++) { *B = beta * (*B) + alpha * conj(A[LDA*i]); @@ -125,7 +125,7 @@ int CORE_zgeadd(MORSE_enum trans, int M, int N, break; #endif /* defined(PRECISION_z) || defined(PRECISION_c) */ - case MorseTrans: + case ChamTrans: for (j=0; j<N; j++, A++) { for(i=0; i<M; i++, B++) { *B = beta * (*B) + alpha * A[LDA*i]; @@ -134,7 +134,7 @@ int CORE_zgeadd(MORSE_enum trans, int M, int N, } break; - case MorseNoTrans: + case ChamNoTrans: default: for (j=0; j<N; j++) { for(i=0; i<M; i++, B++, A++) { @@ -144,5 +144,5 @@ int CORE_zgeadd(MORSE_enum trans, int M, int N, B += LDB-M; } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zgelqt.c b/coreblas/compute/core_zgelqt.c index 2ec26732749c7b0024d9c7adc6a5c1919b20b5cf..3d1849b11ca8c2ee5591615bf1d22d7efab2787a 100644 --- a/coreblas/compute/core_zgelqt.c +++ b/coreblas/compute/core_zgelqt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgelqt - computes a LQ factorization of a complex M-by-N tile A: A = L * Q. * @@ -83,16 +83,16 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ int CORE_zgelqt(int M, int N, int IB, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *TAU, - MORSE_Complex64_t *WORK) + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *TAU, + CHAMELEON_Complex64_t *WORK) { int i, k, sb; @@ -120,7 +120,7 @@ int CORE_zgelqt(int M, int N, int IB, /* Quick return */ if ((M == 0) || (N == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; k = chameleon_min(M, N); @@ -131,8 +131,8 @@ int CORE_zgelqt(int M, int N, int IB, &A[LDA*i+i], LDA, &TAU[i], WORK); LAPACKE_zlarft_work(LAPACK_COL_MAJOR, - morse_lapack_const(MorseForward), - morse_lapack_const(MorseRowwise), + chameleon_lapack_const(ChamDirForward), + chameleon_lapack_const(ChamRowwise), N-i, sb, &A[LDA*i+i], LDA, &TAU[i], &T[LDT*i], LDT); @@ -140,10 +140,10 @@ int CORE_zgelqt(int M, int N, int IB, if (M > i+sb) { LAPACKE_zlarfb_work( LAPACK_COL_MAJOR, - morse_lapack_const(MorseRight), - morse_lapack_const(MorseNoTrans), - morse_lapack_const(MorseForward), - morse_lapack_const(MorseRowwise), + chameleon_lapack_const(ChamRight), + chameleon_lapack_const(ChamNoTrans), + chameleon_lapack_const(ChamDirForward), + chameleon_lapack_const(ChamRowwise), M-i-sb, N-i, sb, &A[LDA*i+i], LDA, &T[LDT*i], LDT, @@ -151,7 +151,7 @@ int CORE_zgelqt(int M, int N, int IB, WORK, M-i-sb); } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zgemm.c b/coreblas/compute/core_zgemm.c index f414f822d3cf8ee7304b3eee29490d1af9c3f6b4..461d6ce906b8cf18128add68c91ee4c94cfe909e 100644 --- a/coreblas/compute/core_zgemm.c +++ b/coreblas/compute/core_zgemm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -27,14 +27,14 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_zgemm(MORSE_enum transA, int transB, +void CORE_zgemm(cham_trans_t transA, cham_trans_t transB, int M, int N, int K, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC) + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC) { #ifdef CBLAS_HAS_ZGEMM3M if (get_coreblas_gemm3m_enabled()) diff --git a/coreblas/compute/core_zgeqrt.c b/coreblas/compute/core_zgeqrt.c index bb9cd2c71ee57d804bc53e46862904c151190879..9bed12cef28be40cc05da7a3782782eac1728ba2 100644 --- a/coreblas/compute/core_zgeqrt.c +++ b/coreblas/compute/core_zgeqrt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgeqrt computes a QR factorization of a complex M-by-N tile A: * A = Q * R. @@ -84,16 +84,16 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ int CORE_zgeqrt(int M, int N, int IB, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *TAU, - MORSE_Complex64_t *WORK) + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *TAU, + CHAMELEON_Complex64_t *WORK) { int i, k, sb; @@ -121,7 +121,7 @@ int CORE_zgeqrt(int M, int N, int IB, /* Quick return */ if ((M == 0) || (N == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; k = chameleon_min(M, N); @@ -132,8 +132,8 @@ int CORE_zgeqrt(int M, int N, int IB, &A[LDA*i+i], LDA, &TAU[i], WORK); LAPACKE_zlarft_work(LAPACK_COL_MAJOR, - morse_lapack_const(MorseForward), - morse_lapack_const(MorseColumnwise), + chameleon_lapack_const(ChamDirForward), + chameleon_lapack_const(ChamColumnwise), M-i, sb, &A[LDA*i+i], LDA, &TAU[i], &T[LDT*i], LDT); @@ -141,10 +141,10 @@ int CORE_zgeqrt(int M, int N, int IB, if (N > i+sb) { LAPACKE_zlarfb_work( LAPACK_COL_MAJOR, - morse_lapack_const(MorseLeft), - morse_lapack_const(MorseConjTrans), - morse_lapack_const(MorseForward), - morse_lapack_const(MorseColumnwise), + chameleon_lapack_const(ChamLeft), + chameleon_lapack_const(ChamConjTrans), + chameleon_lapack_const(ChamDirForward), + chameleon_lapack_const(ChamColumnwise), M-i, N-i-sb, sb, &A[LDA*i+i], LDA, &T[LDT*i], LDT, @@ -152,7 +152,7 @@ int CORE_zgeqrt(int M, int N, int IB, WORK, N-i-sb); } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zgesplit.c b/coreblas/compute/core_zgesplit.c index e89c2c24c5166e90642e44c174bf81c928164bc5..b027ed23e0376a8d0ba58cf8667c24de4cd08b0b 100644 --- a/coreblas/compute/core_zgesplit.c +++ b/coreblas/compute/core_zgesplit.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -27,7 +27,7 @@ /** *************************************************************************** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgesplit splits a matrix A into two parts (Upper/Lower), A keeps its * lower/upper part unchanged and the other part is filled with zeros. Ones @@ -57,17 +57,17 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -int CORE_zgesplit(MORSE_enum side, MORSE_enum diag, +int CORE_zgesplit(cham_side_t side, cham_diag_t diag, int M, int N, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB) + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB) { - MORSE_enum uplo; + cham_uplo_t uplo; if (M < 0) { coreblas_error(1, "Illegal value of M"); @@ -86,20 +86,20 @@ int CORE_zgesplit(MORSE_enum side, MORSE_enum diag, return -7; } - if (side == MorseLeft){ - uplo = MorseUpper; + if (side == ChamLeft){ + uplo = ChamUpper; } else{ - uplo = MorseLower; + uplo = ChamLower; } LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, - morse_lapack_const(MorseUpperLower), + chameleon_lapack_const(ChamUpperLower), M, N, A, LDA, B, LDB); LAPACKE_zlaset_work(LAPACK_COL_MAJOR, - morse_lapack_const(uplo), + chameleon_lapack_const(uplo), M, N, 0., 1., A, LDA); (void)diag; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zgessm.c b/coreblas/compute/core_zgessm.c index c2591f78b944293fbdb1b6f94e97669e39acec88..49be050163104cd7a3ed18cb8a8d5a403fa8d484 100644 --- a/coreblas/compute/core_zgessm.c +++ b/coreblas/compute/core_zgessm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -29,7 +29,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgessm applies the factors L computed by CORE_zgetrf_incpiv to * a complex M-by-N tile A. @@ -68,18 +68,18 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * */ int CORE_zgessm(int M, int N, int K, int IB, const int *IPIV, - const MORSE_Complex64_t *L, int LDL, - MORSE_Complex64_t *A, int LDA) + const CHAMELEON_Complex64_t *L, int LDL, + CHAMELEON_Complex64_t *A, int LDA) { - static MORSE_Complex64_t zone = 1.0; - static MORSE_Complex64_t mzone = -1.0; + static CHAMELEON_Complex64_t zone = 1.0; + static CHAMELEON_Complex64_t mzone = -1.0; static int ione = 1; int i, sb; @@ -113,7 +113,7 @@ int CORE_zgessm(int M, int N, int K, int IB, /* Quick return */ if ((M == 0) || (N == 0) || (K == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; for(i = 0; i < K; i += IB) { sb = chameleon_min(IB, K-i); @@ -144,7 +144,7 @@ int CORE_zgessm(int M, int N, int K, int IB, CBLAS_SADDR(zone), &A[i+sb], LDA ); } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zgessq.c b/coreblas/compute/core_zgessq.c index 9a8723dbd3974b7f9683a5a5d7653041b12ee482..2aee7eefc5bc4d8e233bfaad12bdaf092453cea0 100644 --- a/coreblas/compute/core_zgessq.c +++ b/coreblas/compute/core_zgessq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -35,7 +35,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgessq returns the values scl and ssq such that * @@ -83,12 +83,12 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval -k, the k-th argument had an illegal value * */ int CORE_zgessq(int M, int N, - const MORSE_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *A, int LDA, double *scale, double *sumsq) { int i, j; @@ -108,5 +108,5 @@ int CORE_zgessq(int M, int N, #endif } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zgetf2_nopiv.c b/coreblas/compute/core_zgetf2_nopiv.c index 61b4802304674381a3755454c6828da33b15f82e..c84a1162d718de07a28b59af61d0be6375a5df9f 100644 --- a/coreblas/compute/core_zgetf2_nopiv.c +++ b/coreblas/compute/core_zgetf2_nopiv.c @@ -26,7 +26,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgetf2_nopiv computes an LU factorization of a general diagonal * dominant M-by-N matrix A witout no pivoting and no blocking. It is the @@ -59,7 +59,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * \retval >0 if INFO = k, U(k,k) is exactly zero. The factorization * has been completed, but the factor U is exactly @@ -69,10 +69,10 @@ */ int CORE_zgetf2_nopiv(int M, int N, - MORSE_Complex64_t *A, int LDA) + CHAMELEON_Complex64_t *A, int LDA) { - MORSE_Complex64_t mzone = (MORSE_Complex64_t)-1.0; - MORSE_Complex64_t alpha; + CHAMELEON_Complex64_t mzone = (CHAMELEON_Complex64_t)-1.0; + CHAMELEON_Complex64_t alpha; double sfmin; int i, j, k; int info; @@ -94,13 +94,13 @@ CORE_zgetf2_nopiv(int M, int N, /* Quick return */ if ( (M == 0) || (N == 0) ) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; sfmin = LAPACKE_dlamch_work('S'); k = chameleon_min(M, N); for(i=0 ; i < k; i++) { alpha = A[i*LDA+i]; - if ( alpha != (MORSE_Complex64_t)0.0 ) { + if ( alpha != (CHAMELEON_Complex64_t)0.0 ) { /* Compute elements J+1:M of J-th column. */ if (i < M) { if ( cabs(alpha) > sfmin ) { diff --git a/coreblas/compute/core_zgetrf.c b/coreblas/compute/core_zgetrf.c index e466ea71f9676abdbec067753c760d72b01a5e96..336ff84daea0abf94bdaad1a685931e48f6f0ab8 100644 --- a/coreblas/compute/core_zgetrf.c +++ b/coreblas/compute/core_zgetrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,11 +26,11 @@ int CORE_zgetrf(int m, int n, - MORSE_Complex64_t *A, int lda, + CHAMELEON_Complex64_t *A, int lda, int *IPIV, int *info) { *info = LAPACKE_zgetrf_work(LAPACK_COL_MAJOR, m, n, A, lda, IPIV ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zgetrf_incpiv.c b/coreblas/compute/core_zgetrf_incpiv.c index cec1a9bd95fe712d33fcfb4d62dd9e9965d339bf..12cc372b7d8b3f9b94a3137619e733d5d364a55c 100644 --- a/coreblas/compute/core_zgetrf_incpiv.c +++ b/coreblas/compute/core_zgetrf_incpiv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgetrf_incpiv computes an LU factorization of a general M-by-N tile A * using partial pivoting with row interchanges. @@ -72,7 +72,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * \retval >0 if INFO = k, U(k,k) is exactly zero. The factorization * has been completed, but the factor U is exactly @@ -82,7 +82,7 @@ */ int CORE_zgetrf_incpiv( int M, int N, int IB, - MORSE_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *A, int LDA, int *IPIV, int *INFO ) { int i, j, k, sb; @@ -109,7 +109,7 @@ int CORE_zgetrf_incpiv( int M, int N, int IB, /* Quick return */ if ((M == 0) || (N == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; k = chameleon_min(M, N); @@ -137,7 +137,7 @@ int CORE_zgetrf_incpiv( int M, int N, int IB, IPIV[j] = i + IPIV[j]; } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zgetrf_nopiv.c b/coreblas/compute/core_zgetrf_nopiv.c index 6c919e9320e43a52564ee156603e6a85028ec28d..ae7490dad7c6402e5ab2d97abf869d15b8848355 100644 --- a/coreblas/compute/core_zgetrf_nopiv.c +++ b/coreblas/compute/core_zgetrf_nopiv.c @@ -24,7 +24,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgetrf_nopiv computes an LU factorization of a general diagonal * dominant M-by-N matrix A witout pivoting. @@ -61,7 +61,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * \retval >0 if INFO = k, U(k,k) is exactly zero. The factorization * has been completed, but the factor U is exactly @@ -71,11 +71,11 @@ */ int CORE_zgetrf_nopiv(int M, int N, int IB, - MORSE_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *A, int LDA, int *INFO) { - MORSE_Complex64_t zone = (MORSE_Complex64_t)1.0; - MORSE_Complex64_t mzone = (MORSE_Complex64_t)-1.0; + CHAMELEON_Complex64_t zone = (CHAMELEON_Complex64_t)1.0; + CHAMELEON_Complex64_t mzone = (CHAMELEON_Complex64_t)-1.0; int i, k, sb; int iinfo; @@ -100,7 +100,7 @@ int CORE_zgetrf_nopiv(int M, int N, int IB, /* Quick return */ if ((M == 0) || (N == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; k = chameleon_min(M, N); for(i =0 ; i < k; i += IB) { @@ -118,8 +118,8 @@ int CORE_zgetrf_nopiv(int M, int N, int IB, if (i+sb < N) { /* Compute block row of U */ - CORE_ztrsm( MorseLeft, MorseLower, - MorseNoTrans, MorseUnit, + CORE_ztrsm( ChamLeft, ChamLower, + ChamNoTrans, ChamUnit, sb, N-(i+sb), zone, &A[LDA*i+i], LDA, &A[LDA*(i+sb)+i], LDA); @@ -128,7 +128,7 @@ int CORE_zgetrf_nopiv(int M, int N, int IB, { /* Update trailing submatrix */ CORE_zgemm( - MorseNoTrans, MorseNoTrans, + ChamNoTrans, ChamNoTrans, M-(i+sb), N-(i+sb), sb, mzone, &A[LDA*i + i+sb], LDA, &A[LDA*(i+sb)+ i ], LDA, @@ -136,5 +136,5 @@ int CORE_zgetrf_nopiv(int M, int N, int IB, } } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zhe2ge.c b/coreblas/compute/core_zhe2ge.c index df2d6225acedb0ae7332e1c7ec5d8ec0bdc6b500..37e9890b9784abfb8d3558f731c394d747c54155 100644 --- a/coreblas/compute/core_zhe2ge.c +++ b/coreblas/compute/core_zhe2ge.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -28,21 +28,21 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_zhe2ge(MORSE_enum uplo, int M, int N, - const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB) +void CORE_zhe2ge(cham_uplo_t uplo, int M, int N, + const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB) { - const MORSE_Complex64_t *Aptr; - MORSE_Complex64_t *Bptr, *BTptr; + const CHAMELEON_Complex64_t *Aptr; + CHAMELEON_Complex64_t *Bptr, *BTptr; int i, j; Aptr = A; Bptr = B; - if (uplo == MorseLower){ + if (uplo == ChamLower){ for (j = 0; j < N; j++){ /* Diagonal element */ *Bptr = *Aptr; diff --git a/coreblas/compute/core_zhemm.c b/coreblas/compute/core_zhemm.c index c908bd7e891529c77cb063ba35319f6c95f10363..fa049bb08295e656aad5e044a8acbfca677037a0 100644 --- a/coreblas/compute/core_zhemm.c +++ b/coreblas/compute/core_zhemm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -27,14 +27,14 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_zhemm(MORSE_enum side, MORSE_enum uplo, +void CORE_zhemm(cham_side_t side, cham_uplo_t uplo, int M, int N, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC) + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC) { cblas_zhemm( CblasColMajor, diff --git a/coreblas/compute/core_zher2k.c b/coreblas/compute/core_zher2k.c index f7af24a7dcab8dc69a089c5238e7a7707ee77db1..6bfc8760167a3283ed726e9cfd4482fd538b75c7 100644 --- a/coreblas/compute/core_zher2k.c +++ b/coreblas/compute/core_zher2k.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -27,14 +27,14 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_zher2k(MORSE_enum uplo, MORSE_enum trans, +void CORE_zher2k(cham_uplo_t uplo, cham_trans_t trans, int N, int K, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *B, int LDB, - double beta, MORSE_Complex64_t *C, int LDC) + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *B, int LDB, + double beta, CHAMELEON_Complex64_t *C, int LDC) { cblas_zher2k( CblasColMajor, diff --git a/coreblas/compute/core_zherfb.c b/coreblas/compute/core_zherfb.c index 06246c9dc1ca918f5a4c76a089e222ae504ffde6..b7ecc65782ed9930d2ae33edccaa154692295904 100644 --- a/coreblas/compute/core_zherfb.c +++ b/coreblas/compute/core_zherfb.c @@ -23,7 +23,7 @@ /** ******************************************************************************* * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zherfb overwrites the symmetric complex N-by-N tile C with * @@ -34,7 +34,7 @@ * * Q = H(1) H(2) . . . H(k) * - * as returned by CORE_zgeqrt. Only MorseLower supported! + * as returned by CORE_zgeqrt. Only ChamLower supported! * ******************************************************************************* * @@ -86,37 +86,37 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -#if defined(MORSE_HAVE_WEAK) +#if defined(CHAMELEON_HAVE_WEAK) #pragma weak CORE_zherfb = PCORE_zherfb #define CORE_zherfb PCORE_zherfb #define CORE_zunmlq PCORE_zunmlq #define CORE_zunmqr PCORE_zunmqr -int CORE_zunmlq(MORSE_enum side, MORSE_enum trans, +int CORE_zunmlq(cham_side_t side, cham_trans_t trans, int M, int N, int IB, int K, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *C, int LDC, - MORSE_Complex64_t *WORK, int LDWORK); -int CORE_zunmqr(MORSE_enum side, MORSE_enum trans, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *C, int LDC, + CHAMELEON_Complex64_t *WORK, int LDWORK); +int CORE_zunmqr(cham_side_t side, cham_trans_t trans, int M, int N, int K, int IB, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *C, int LDC, - MORSE_Complex64_t *WORK, int LDWORK); + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *C, int LDC, + CHAMELEON_Complex64_t *WORK, int LDWORK); #endif -int CORE_zherfb( MORSE_enum uplo, int n, +int CORE_zherfb( cham_uplo_t uplo, int n, int k, int ib, int nb, - const MORSE_Complex64_t *A, int lda, - const MORSE_Complex64_t *T, int ldt, - MORSE_Complex64_t *C, int ldc, - MORSE_Complex64_t *WORK, int ldwork ) + const CHAMELEON_Complex64_t *A, int lda, + const CHAMELEON_Complex64_t *T, int ldt, + CHAMELEON_Complex64_t *C, int ldc, + CHAMELEON_Complex64_t *WORK, int ldwork ) { /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { + if ((uplo != ChamUpper) && (uplo != ChamLower)) { coreblas_error(1, "Illegal value of uplo"); return -1; } @@ -149,20 +149,20 @@ int CORE_zherfb( MORSE_enum uplo, int n, return -11; } - if (uplo == MorseLower) { + if (uplo == ChamLower) { /* Left */ - CORE_zunmqr(MorseLeft, MorseConjTrans, n, n, k, ib, + CORE_zunmqr(ChamLeft, ChamConjTrans, n, n, k, ib, A, lda, T, ldt, C, ldc, WORK, ldwork); /* Right */ - CORE_zunmqr(MorseRight, MorseNoTrans, n, n, k, ib, + CORE_zunmqr(ChamRight, ChamNoTrans, n, n, k, ib, A, lda, T, ldt, C, ldc, WORK, ldwork); } else { /* Right */ - CORE_zunmlq(MorseRight, MorseConjTrans, n, n, k, ib, + CORE_zunmlq(ChamRight, ChamConjTrans, n, n, k, ib, A, lda, T, ldt, C, ldc, WORK, ldwork); /* Left */ - CORE_zunmlq(MorseLeft, MorseNoTrans, n, n, k, ib, + CORE_zunmlq(ChamLeft, ChamNoTrans, n, n, k, ib, A, lda, T, ldt, C, ldc, WORK, ldwork); } return 0; diff --git a/coreblas/compute/core_zherk.c b/coreblas/compute/core_zherk.c index ec57c9e35838d1921208595927948bb6998d8b61..14befa5dbf0e9337b9a07a33222efdf8754a4377 100644 --- a/coreblas/compute/core_zherk.c +++ b/coreblas/compute/core_zherk.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -27,13 +27,13 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_zherk(MORSE_enum uplo, MORSE_enum trans, +void CORE_zherk(cham_uplo_t uplo, cham_trans_t trans, int N, int K, - double alpha, const MORSE_Complex64_t *A, int LDA, - double beta, MORSE_Complex64_t *C, int LDC) + double alpha, const CHAMELEON_Complex64_t *A, int LDA, + double beta, CHAMELEON_Complex64_t *C, int LDC) { cblas_zherk( CblasColMajor, diff --git a/coreblas/compute/core_zhessq.c b/coreblas/compute/core_zhessq.c index 23915b59a3a5252be0e03ff59d6998a8bc57cc25..09db985710b4487c03679dbe40350b0ad1eb56fb 100644 --- a/coreblas/compute/core_zhessq.c +++ b/coreblas/compute/core_zhessq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c @@ -35,7 +35,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zhessq returns the values scl and ssq such that * @@ -64,9 +64,9 @@ * @param[in] uplo * Specifies whether the upper or lower triangular part of * the hermitian matrix A is to be referenced as follows: - * = MorseLower: Only the lower triangular part of the + * = ChamLower: Only the lower triangular part of the * hermitian matrix A is to be referenced. - * = MorseUpper: Only the upper triangular part of the + * = ChamUpper: Only the upper triangular part of the * hermitian matrix A is to be referenced. * * @param[in] N @@ -89,20 +89,20 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval -k, the k-th argument had an illegal value * */ -int CORE_zhessq(MORSE_enum uplo, int N, - const MORSE_Complex64_t *A, int LDA, +int CORE_zhessq(cham_uplo_t uplo, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *scale, double *sumsq) { int i, j; double tmp; double *ptr; - if ( uplo == MorseUpper ) { + if ( uplo == ChamUpper ) { for(j=0; j<N; j++) { ptr = (double*) ( A + j * LDA ); @@ -153,5 +153,5 @@ int CORE_zhessq(MORSE_enum uplo, int N, } } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zlacpy.c b/coreblas/compute/core_zlacpy.c index eab6dd892dd5d57af0c788a01c53ed6b2cd50600..15f0a03995421045b034093ca1fe526088e89d2b 100644 --- a/coreblas/compute/core_zlacpy.c +++ b/coreblas/compute/core_zlacpy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -28,16 +28,16 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_zlacpy(MORSE_enum uplo, int M, int N, - const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB) +void CORE_zlacpy(cham_uplo_t uplo, int M, int N, + const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB) { LAPACKE_zlacpy_work( LAPACK_COL_MAJOR, - morse_lapack_const(uplo), + chameleon_lapack_const(uplo), M, N, A, LDA, B, LDB); } diff --git a/coreblas/compute/core_zlag2c.c b/coreblas/compute/core_zlag2c.c index 97e2ec26aff5bdf60d2c4e8f330aaef8ed995044..3a147dc092be442050d76209b8a14b2d464650fa 100644 --- a/coreblas/compute/core_zlag2c.c +++ b/coreblas/compute/core_zlag2c.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,12 +26,12 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ void CORE_zlag2c(int m, int n, - const MORSE_Complex64_t *A, int lda, - MORSE_Complex32_t *B, int ldb, int *info) + const CHAMELEON_Complex64_t *A, int lda, + CHAMELEON_Complex32_t *B, int ldb, int *info) { *info = LAPACKE_zlag2c_work(LAPACK_COL_MAJOR, m, n, A, lda, B, ldb); } @@ -41,12 +41,12 @@ void CORE_zlag2c(int m, int n, /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ void CORE_clag2z(int m, int n, - const MORSE_Complex32_t *A, int lda, - MORSE_Complex64_t *B, int ldb) + const CHAMELEON_Complex32_t *A, int lda, + CHAMELEON_Complex64_t *B, int ldb) { LAPACKE_clag2z_work(LAPACK_COL_MAJOR, m, n, A, lda, B, ldb); } diff --git a/coreblas/compute/core_zlange.c b/coreblas/compute/core_zlange.c index a0f6be88564e42f3cfbf2de89ac49c8122eaa982..6359d947ad77544478097323ba616271a96c8c5f 100644 --- a/coreblas/compute/core_zlange.c +++ b/coreblas/compute/core_zlange.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -26,17 +26,17 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_PLASMA_zlange returns the value * - * zlange = ( max(abs(A(i,j))), NORM = MorseMaxNorm + * zlange = ( max(abs(A(i,j))), NORM = ChamMaxNorm * ( - * ( norm1(A), NORM = MorseOneNorm + * ( norm1(A), NORM = ChamOneNorm * ( - * ( normI(A), NORM = MorseInfNorm + * ( normI(A), NORM = ChamInfNorm * ( - * ( normF(A), NORM = MorseFrobeniusNorm + * ( normF(A), NORM = ChamFrobeniusNorm * * where norm1 denotes the one norm of a matrix (maximum column sum), * normI denotes the infinity norm of a matrix (maximum row sum) and @@ -47,10 +47,10 @@ ******************************************************************************* * * @param[in] norm - * = MorseMaxNorm: Max norm - * = MorseOneNorm: One norm - * = MorseInfNorm: Infinity norm - * = MorseFrobeniusNorm: Frobenius norm + * = ChamMaxNorm: Max norm + * = ChamOneNorm: One norm + * = ChamInfNorm: Infinity norm + * = ChamFrobeniusNorm: Frobenius norm * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -66,19 +66,19 @@ * * @param[in,out] work * Array of dimension (MAX(1,LWORK)), where LWORK >= M when NORM = - * MorseInfNorm; otherwise, WORK is not referenced. + * ChamInfNorm; otherwise, WORK is not referenced. * * @param[out] normA * On exit, normA is the norm of matrix A. * */ -void CORE_zlange(int norm, int M, int N, - const MORSE_Complex64_t *A, int LDA, +void CORE_zlange(cham_normtype_t norm, int M, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *work, double *normA) { *normA = LAPACKE_zlange_work( LAPACK_COL_MAJOR, - morse_lapack_const(norm), + chameleon_lapack_const(norm), M, N, A, LDA, work); } diff --git a/coreblas/compute/core_zlanhe.c b/coreblas/compute/core_zlanhe.c index 13275e0e580b31d696ebea60a63f4cc7a58fcd89..d4cbc7fd15f6031d42da4a05a595557f5ead61d3 100644 --- a/coreblas/compute/core_zlanhe.c +++ b/coreblas/compute/core_zlanhe.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -26,17 +26,17 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_PLASMA_zlanhe returns the value * - * zlanhe = ( max(abs(A(i,j))), NORM = MorseMaxNorm + * zlanhe = ( max(abs(A(i,j))), NORM = ChamMaxNorm * ( - * ( norm1(A), NORM = MorseOneNorm + * ( norm1(A), NORM = ChamOneNorm * ( - * ( normI(A), NORM = MorseInfNorm + * ( normI(A), NORM = ChamInfNorm * ( - * ( normF(A), NORM = MorseFrobeniusNorm + * ( normF(A), NORM = ChamFrobeniusNorm * * where norm1 denotes the one norm of a matrix (maximum column sum), * normI denotes the infinity norm of a matrix (maximum row sum) and @@ -47,14 +47,14 @@ ******************************************************************************* * * @param[in] norm - * = MorseMaxNorm: Max norm - * = MorseOneNorm: One norm - * = MorseInfNorm: Infinity norm - * = MorseFrobeniusNorm: Frobenius norm + * = ChamMaxNorm: Max norm + * = ChamOneNorm: One norm + * = ChamInfNorm: Infinity norm + * = ChamFrobeniusNorm: Frobenius norm * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The number of columns/rows of the matrix A. N >= 0. When N = 0, @@ -68,19 +68,19 @@ * * @param[in,out] work * Array of dimension (MAX(1,LWORK)), where LWORK >= N when norm = - * MorseInfNorm or MorseOneNorm; otherwise, work is not referenced. + * ChamInfNorm or ChamOneNorm; otherwise, work is not referenced. * * @param[out] normA * On exit, normA is the norm of matrix A. * */ -void CORE_zlanhe(int norm, MORSE_enum uplo, int N, - const MORSE_Complex64_t *A, int LDA, +void CORE_zlanhe(cham_normtype_t norm, cham_uplo_t uplo, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *work, double *normA) { *normA = LAPACKE_zlanhe_work( LAPACK_COL_MAJOR, - morse_lapack_const(norm), morse_lapack_const(uplo), + chameleon_lapack_const(norm), chameleon_lapack_const(uplo), N, A, LDA, work); } diff --git a/coreblas/compute/core_zlansy.c b/coreblas/compute/core_zlansy.c index 580278f001e12fc383a7c4d62ed89a876903b32e..703a8c71f77eb4456cee224f8c0370357aaf4505 100644 --- a/coreblas/compute/core_zlansy.c +++ b/coreblas/compute/core_zlansy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -26,17 +26,17 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_PLASMA_zlansy returns the value * - * zlansy = ( max(abs(A(i,j))), NORM = MorseMaxNorm + * zlansy = ( max(abs(A(i,j))), NORM = ChamMaxNorm * ( - * ( norm1(A), NORM = MorseOneNorm + * ( norm1(A), NORM = ChamOneNorm * ( - * ( normI(A), NORM = MorseInfNorm + * ( normI(A), NORM = ChamInfNorm * ( - * ( normF(A), NORM = MorseFrobeniusNorm + * ( normF(A), NORM = ChamFrobeniusNorm * * where norm1 denotes the one norm of a matrix (maximum column sum), * normI denotes the infinity norm of a matrix (maximum row sum) and @@ -47,14 +47,14 @@ ******************************************************************************* * * @param[in] norm - * = MorseMaxNorm: Max norm - * = MorseOneNorm: One norm - * = MorseInfNorm: Infinity norm - * = MorseFrobeniusNorm: Frobenius norm + * = ChamMaxNorm: Max norm + * = ChamOneNorm: One norm + * = ChamInfNorm: Infinity norm + * = ChamFrobeniusNorm: Frobenius norm * * @param[in] uplo - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] N * The number of columns/rows of the matrix A. N >= 0. When N = 0, @@ -68,19 +68,19 @@ * * @param[in,out] work * Array of dimension (MAX(1,LWORK)), where LWORK >= N when norm = - * MorseInfNorm or MorseOneNorm; otherwise, work is not referenced. + * ChamInfNorm or ChamOneNorm; otherwise, work is not referenced. * * @param[out] normA * On exit, normA is the norm of matrix A. * */ -void CORE_zlansy(int norm, MORSE_enum uplo, int N, - const MORSE_Complex64_t *A, int LDA, +void CORE_zlansy(cham_normtype_t norm, cham_uplo_t uplo, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *work, double *normA) { *normA = LAPACKE_zlansy_work( LAPACK_COL_MAJOR, - morse_lapack_const(norm), morse_lapack_const(uplo), + chameleon_lapack_const(norm), chameleon_lapack_const(uplo), N, A, LDA, work); } diff --git a/coreblas/compute/core_zlantr.c b/coreblas/compute/core_zlantr.c index 9d37166ad1ab13d69a4e234df1b05314cad12908..2eec1229b69066e5c3242c4ccb190b6f0967788d 100644 --- a/coreblas/compute/core_zlantr.c +++ b/coreblas/compute/core_zlantr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -25,17 +25,17 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_PLASMA_zlantr returns the value * - * zlantr = ( max(abs(A(i,j))), NORM = MorseMaxNorm + * zlantr = ( max(abs(A(i,j))), NORM = ChamMaxNorm * ( - * ( norm1(A), NORM = MorseOneNorm + * ( norm1(A), NORM = ChamOneNorm * ( - * ( normI(A), NORM = MorseInfNorm + * ( normI(A), NORM = ChamInfNorm * ( - * ( normF(A), NORM = MorseFrobeniusNorm + * ( normF(A), NORM = ChamFrobeniusNorm * * where norm1 denotes the one norm of a matrix (maximum column sum), * normI denotes the infinity norm of a matrix (maximum row sum) and @@ -46,28 +46,28 @@ ******************************************************************************* * * @param[in] norm - * = MorseMaxNorm: Max norm - * = MorseOneNorm: One norm - * = MorseInfNorm: Infinity norm - * = MorseFrobeniusNorm: Frobenius norm + * = ChamMaxNorm: Max norm + * = ChamOneNorm: One norm + * = ChamInfNorm: Infinity norm + * = ChamFrobeniusNorm: Frobenius norm * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular: - * = MorseUpper: Upper triangle of A is stored; - * = MorseLower: Lower triangle of A is stored. + * = ChamUpper: Upper triangle of A is stored; + * = ChamLower: Lower triangle of A is stored. * * @param[in] diag * Specifies whether or not A is unit triangular: - * = MorseNonUnit: A is non unit; - * = MorseUnit: A us unit. + * = ChamNonUnit: A is non unit; + * = ChamUnit: A us unit. * * @param[in] M * The number of rows of the matrix A. M >= 0. - * If uplo == MorseUpper, M <= N. When M = 0, CORE_zlantr returns 0. + * If uplo == ChamUpper, M <= N. When M = 0, CORE_zlantr returns 0. * * @param[in] N * The number of columns of the matrix A. N >= 0. - * If uplo == MorseLower, N <= M. When N = 0, CORE_zlantr returns 0. + * If uplo == ChamLower, N <= M. When N = 0, CORE_zlantr returns 0. * * @param[in] A * The LDA-by-N matrix A. @@ -77,7 +77,7 @@ * * @param[in,out] work * Array of dimension (MAX(1,LWORK)), where LWORK >= M when norm = - * MorseInfNorm, or LWORK >= N when norm = MorseOneNorm; otherwise, + * ChamInfNorm, or LWORK >= N when norm = ChamOneNorm; otherwise, * work is not referenced. * * @param[out] normA @@ -85,23 +85,23 @@ * */ -void CORE_zlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, +void CORE_zlantr(cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, int M, int N, - const MORSE_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *A, int LDA, double *work, double *normA) { #if defined(LAPACKE_CORRECT_DLANTR) *normA = LAPACKE_zlantr_work( LAPACK_COL_MAJOR, - morse_lapack_const(norm), - morse_lapack_const(uplo), - morse_lapack_const(diag), + chameleon_lapack_const(norm), + chameleon_lapack_const(uplo), + chameleon_lapack_const(diag), M, N, A, LDA, work); #else - const MORSE_Complex64_t *tmpA; + const CHAMELEON_Complex64_t *tmpA; double value; int i, j, imax; - int idiag = (diag == MorseUnit) ? 1 : 0; + int idiag = (diag == ChamUnit) ? 1 : 0; if ( chameleon_min(M, N) == 0 ) { *normA = 0; @@ -109,14 +109,14 @@ void CORE_zlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, } switch ( norm ) { - case MorseMaxNorm: - if ( diag == MorseUnit ) { + case ChamMaxNorm: + if ( diag == ChamUnit ) { *normA = 1.; } else { *normA = 0.; } - if ( uplo == MorseUpper ) { + if ( uplo == ChamUpper ) { M = chameleon_min(M, N); for (j = 0; j < N; j++) { tmpA = A+(j*LDA); @@ -142,10 +142,10 @@ void CORE_zlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, } break; - case MorseOneNorm: - CORE_ztrasm( MorseColumnwise, uplo, diag, M, N, + case ChamOneNorm: + CORE_ztrasm( ChamColumnwise, uplo, diag, M, N, A, LDA, work ); - if ( uplo == MorseLower ) + if ( uplo == ChamLower ) N = chameleon_min(M,N); *normA = 0; @@ -154,10 +154,10 @@ void CORE_zlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, } break; - case MorseInfNorm: - CORE_ztrasm( MorseRowwise, uplo, diag, M, N, + case ChamInfNorm: + CORE_ztrasm( ChamRowwise, uplo, diag, M, N, A, LDA, work ); - if ( uplo == MorseUpper ) + if ( uplo == ChamUpper ) M = chameleon_min(M,N); *normA = 0; @@ -166,7 +166,7 @@ void CORE_zlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, } break; - case MorseFrobeniusNorm: + case ChamFrobeniusNorm: { double scale = 0.; double sumsq = 1.; diff --git a/coreblas/compute/core_zlascal.c b/coreblas/compute/core_zlascal.c index 635411fd01c5383cea20dd6c42af5ec72ac067d1..645bc6714621667debb2747082412450139d8c1d 100644 --- a/coreblas/compute/core_zlascal.c +++ b/coreblas/compute/core_zlascal.c @@ -25,7 +25,7 @@ /** ******************************************************************************* * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zlascal scales a two-dimensional matrix A. As opposite to * CORE_zlascl(), no checks is performed to prevent under/overflow. This should @@ -35,9 +35,9 @@ * * @param[in] uplo * Specifies the shape of A: - * = MorseUpperLower: A is a general matrix. - * = MorseUpper: A is an upper trapezoidal matrix. - * = MorseLower: A is a lower trapezoidal matrix. + * = ChamUpperLower: A is a general matrix. + * = ChamUpper: A is an upper trapezoidal matrix. + * = ChamLower: A is a lower trapezoidal matrix. * * @param[in] m is the number of rows of the matrix A. m >= 0 * @@ -53,19 +53,19 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ int -CORE_zlascal( MORSE_enum uplo, int m, int n, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int lda ) +CORE_zlascal( cham_uplo_t uplo, int m, int n, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int lda ) { int i; - if ( (uplo != MorseUpperLower) && - (uplo != MorseUpper) && - (uplo != MorseLower)) + if ( (uplo != ChamUpperLower) && + (uplo != ChamUpper) && + (uplo != ChamLower)) { coreblas_error(1, "illegal value of uplo"); return -1; @@ -85,13 +85,13 @@ CORE_zlascal( MORSE_enum uplo, int m, int n, } switch ( uplo ) { - case MorseUpper: + case ChamUpper: for(i=0; i<n; i++) { cblas_zscal( chameleon_min( i+1, m ), CBLAS_SADDR(alpha), A+i*lda, 1 ); } break; - case MorseLower: + case ChamLower: for(i=0; i<n; i++) { cblas_zscal( chameleon_max( m, m-i ), CBLAS_SADDR(alpha), A+i*lda, 1 ); } @@ -107,5 +107,5 @@ CORE_zlascal( MORSE_enum uplo, int m, int n, } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zlaset.c b/coreblas/compute/core_zlaset.c index 1fbc621efadeb20c735e5219debad4650ec1a336..6c667f0d15d725cfbe0119416d31cca13e594a00 100644 --- a/coreblas/compute/core_zlaset.c +++ b/coreblas/compute/core_zlaset.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Mathieu Faverge * @author Emmanuel Agullo @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zlaset - Sets the elements of the matrix A on the diagonal * to beta and on the off-diagonals to alpha @@ -37,9 +37,9 @@ * * @param[in] uplo * Specifies which elements of the matrix are to be set - * = MorseUpper: Upper part of A is set; - * = MorseLower: Lower part of A is set; - * = MorseUpperLower: ALL elements of A are set. + * = ChamUpper: Upper part of A is set; + * = ChamLower: Lower part of A is set; + * = ChamUpperLower: ALL elements of A are set. * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -61,13 +61,13 @@ * The leading dimension of the array A. LDA >= max(1,M). * */ -void CORE_zlaset(MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t beta, - MORSE_Complex64_t *A, int LDA) +void CORE_zlaset(cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, + CHAMELEON_Complex64_t *A, int LDA) { LAPACKE_zlaset_work( LAPACK_COL_MAJOR, - morse_lapack_const(uplo), + chameleon_lapack_const(uplo), M, N, alpha, beta, A, LDA); } diff --git a/coreblas/compute/core_zlaset2.c b/coreblas/compute/core_zlaset2.c index 9cbe36fee5e9f6d16e0dfa967811cd641b78b05e..f07cea6fc51cfc8fa2cf8d83566df0eaca845ce2 100644 --- a/coreblas/compute/core_zlaset2.c +++ b/coreblas/compute/core_zlaset2.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Mathieu Faverge * @author Emmanuel Agullo @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zlaset2 - Sets the elements of the matrix A to alpha. * Not LAPACK compliant! Read below. @@ -37,9 +37,9 @@ * * @param[in] uplo * Specifies which elements of the matrix are to be set - * = MorseUpper: STRICT Upper part of A is set to alpha; - * = MorseLower: STRICT Lower part of A is set to alpha; - * = MorseUpperLower: ALL elements of A are set to alpha. + * = ChamUpper: STRICT Upper part of A is set to alpha; + * = ChamLower: STRICT Lower part of A is set to alpha; + * = ChamUpperLower: ALL elements of A are set to alpha. * Not LAPACK Compliant. * * @param[in] M @@ -59,25 +59,25 @@ * The leading dimension of the array A. LDA >= max(1,M). * */ -void CORE_zlaset2(MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA) +void CORE_zlaset2(cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA) { - if (uplo == MorseUpper) { + if (uplo == ChamUpper) { LAPACKE_zlaset_work( LAPACK_COL_MAJOR, - morse_lapack_const(uplo), + chameleon_lapack_const(uplo), M, N-1, alpha, alpha, A+LDA, LDA); } - else if (uplo == MorseLower) { + else if (uplo == ChamLower) { LAPACKE_zlaset_work( LAPACK_COL_MAJOR, - morse_lapack_const(uplo), + chameleon_lapack_const(uplo), M-1, N, alpha, alpha, A+1, LDA); } else { LAPACKE_zlaset_work( LAPACK_COL_MAJOR, - morse_lapack_const(uplo), + chameleon_lapack_const(uplo), M, N, alpha, alpha, A, LDA); } } diff --git a/coreblas/compute/core_zlatro.c b/coreblas/compute/core_zlatro.c index 73f726ccf1144e6427213fbdbddd24f5839e3364..1c511dd0b741c1eaedfba4c8a43e40736a187385 100644 --- a/coreblas/compute/core_zlatro.c +++ b/coreblas/compute/core_zlatro.c @@ -22,7 +22,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zlatro transposes a m-by-n matrix out of place. * @@ -31,18 +31,18 @@ * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower * triangular: - * = MorseUpper: the upper triangle of A and the lower triangle of B + * = ChamUpper: the upper triangle of A and the lower triangle of B * are referenced. - * = MorseLower: the lower triangle of A and the upper triangle of B + * = ChamLower: the lower triangle of A and the upper triangle of B * are referenced. - * = MorseUpperLower: All A and B are referenced. + * = ChamUpperLower: All A and B are referenced. * * @param[in] trans * Specifies whether the matrix A is transposed, not transposed or * conjugate transposed: - * = MorseNoTrans: B is a copy of A (equivalent to zlacpy); - * = MorseTrans: B is the transpose of A; - * = MorseConjTrans: B is the conjugate transpose of A. + * = ChamNoTrans: B is a copy of A (equivalent to zlacpy); + * = ChamTrans: B is the transpose of A; + * = ChamConjTrans: B is the conjugate transpose of A. * * @param[in] M * Number of rows of the matrix A and number of columns of the matrix B, if trans == Pasma[Conj]Trans. @@ -50,7 +50,7 @@ * * @param[in] N * Number of columns of the matrix A and number of rows of the matrix B, if trans == Pasma[Conj]Trans. - * Number of columns of the matrix A and of the matrix B, if trans == MorseNoTrans. + * Number of columns of the matrix A and of the matrix B, if trans == ChamNoTrans. * * @param[in] A * Matrix of size LDA-by-N, if trans == Pasma[Conj]Trans. @@ -73,27 +73,27 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * */ -#if defined(MORSE_HAVE_WEAK) +#if defined(CHAMELEON_HAVE_WEAK) #pragma weak CORE_zlatro = PCORE_zlatro #define CORE_zlatro PCORE_zlatro #endif -int CORE_zlatro(MORSE_enum uplo, MORSE_enum trans, +int CORE_zlatro(cham_uplo_t uplo, cham_trans_t trans, int M, int N, - const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB) + const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB) { int i, j; /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower) && (uplo != MorseUpperLower) ) { + if ((uplo != ChamUpper) && (uplo != ChamLower) && (uplo != ChamUpperLower) ) { coreblas_error(1, "Illegal value of uplo"); return -1; } - if ((trans < MorseNoTrans) || (trans > MorseConjTrans)) { + if ((trans < ChamNoTrans) || (trans > ChamConjTrans)) { coreblas_error(2, "Illegal value of trans"); return -2; } @@ -114,17 +114,17 @@ int CORE_zlatro(MORSE_enum uplo, MORSE_enum trans, return -8; } - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { CORE_zlacpy(uplo, M, N, A, LDA, B, LDB); } else { - if (trans == MorseConjTrans) { - if(uplo == MorseUpper) { + if (trans == ChamConjTrans) { + if(uplo == ChamUpper) { for(j=0; j<N; j++) for(i=0; i<chameleon_min(j+1,M); i++) B[j+i*LDB] = conj(A[i+j*LDA]); } - else if(uplo == MorseLower) { + else if(uplo == ChamLower) { for(j=0;j<N;j++) for(i=j;i<M;i++) B[j+i*LDB] = conj(A[i+j*LDA]); @@ -136,12 +136,12 @@ int CORE_zlatro(MORSE_enum uplo, MORSE_enum trans, } } else { - if(uplo==MorseUpper) { + if(uplo==ChamUpper) { for(j=0;j<N;j++) for(i=0;i<chameleon_min(j+1,M);i++) B[j+i*LDB] = A[i+j*LDA]; } - else if(uplo==MorseLower) { + else if(uplo==ChamLower) { for(j=0;j<N;j++) for(i=j;i<M;i++) B[j+i*LDB] = A[i+j*LDA]; @@ -154,5 +154,5 @@ int CORE_zlatro(MORSE_enum uplo, MORSE_enum trans, } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zlauum.c b/coreblas/compute/core_zlauum.c index fb3da879e2f790937edffb0d48f937819f0a73d6..59b37225c0df1f9c8fa3322ac68e652b8f7348e8 100644 --- a/coreblas/compute/core_zlauum.c +++ b/coreblas/compute/core_zlauum.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -28,12 +28,12 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_zlauum(MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA) +void CORE_zlauum(cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA) { - LAPACKE_zlauum_work(LAPACK_COL_MAJOR, morse_lapack_const(uplo), N, A, LDA ); + LAPACKE_zlauum_work(LAPACK_COL_MAJOR, chameleon_lapack_const(uplo), N, A, LDA ); } diff --git a/coreblas/compute/core_zpamm.c b/coreblas/compute/core_zpamm.c index 60b126a816f550a5326c9238b5c9bec3c8d28f1d..5da5615d96af42c769345a33015a42e68eec9d5b 100644 --- a/coreblas/compute/core_zpamm.c +++ b/coreblas/compute/core_zpamm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Dulceneia Becker * @author Mathieu Faverge * @author Emmanuel Agullo @@ -26,29 +26,29 @@ #include "coreblas/lapacke.h" #include "coreblas.h" -static inline int CORE_zpamm_a2(MORSE_enum side, MORSE_enum trans, MORSE_enum uplo, +static inline int CORE_zpamm_a2(cham_side_t side, cham_trans_t trans, cham_uplo_t uplo, int M, int N, int K, int L, int vi2, int vi3, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - MORSE_Complex64_t *W, int LDW); -static inline int CORE_zpamm_w(MORSE_enum side, MORSE_enum trans, MORSE_enum uplo, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + CHAMELEON_Complex64_t *W, int LDW); +static inline int CORE_zpamm_w(cham_side_t side, cham_trans_t trans, cham_uplo_t uplo, int M, int N, int K, int L, int vi2, int vi3, - const MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - MORSE_Complex64_t *W, int LDW); + const CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + CHAMELEON_Complex64_t *W, int LDW); /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * ZPAMM performs one of the matrix-matrix operations * * LEFT RIGHT - * OP MorseW : W = A1 + op(V) * A2 or W = A1 + A2 * op(V) - * OP MorseA2 : A2 = A2 - op(V) * W or A2 = A2 - W * op(V) + * OP ChameleonW : W = A1 + op(V) * A2 or W = A1 + A2 * op(V) + * OP ChameleonA2 : A2 = A2 - op(V) * W or A2 = A2 - W * op(V) * * where op( V ) is one of * @@ -104,41 +104,41 @@ static inline int CORE_zpamm_w(MORSE_enum side, MORSE_enum trans, MORSE_enum upl * * OP specifies which operation to perform: * - * @arg MorseW : W = A1 + op(V) * A2 or W = A1 + A2 * op(V) - * @arg MorseA2 : A2 = A2 - op(V) * W or A2 = A2 - W * op(V) + * @arg ChameleonW : W = A1 + op(V) * A2 or W = A1 + A2 * op(V) + * @arg ChameleonA2 : A2 = A2 - op(V) * W or A2 = A2 - W * op(V) * * @param[in] side * * SIDE specifies whether op( V ) multiplies A2 * or W from the left or right as follows: * - * @arg MorseLeft : multiply op( V ) from the left - * OP MorseW : W = A1 + op(V) * A2 - * OP MorseA2 : A2 = A2 - op(V) * W + * @arg ChamLeft : multiply op( V ) from the left + * OP ChameleonW : W = A1 + op(V) * A2 + * OP ChameleonA2 : A2 = A2 - op(V) * W * - * @arg MorseRight : multiply op( V ) from the right - * OP MorseW : W = A1 + A2 * op(V) - * OP MorseA2 : A2 = A2 - W * op(V) + * @arg ChamRight : multiply op( V ) from the right + * OP ChameleonW : W = A1 + A2 * op(V) + * OP ChameleonA2 : A2 = A2 - W * op(V) * * @param[in] storev * * Indicates how the vectors which define the elementary * reflectors are stored in V: * - * @arg MorseColumnwise - * @arg MorseRowwise + * @arg ChamColumnwise + * @arg ChamRowwise * * @param[in] M * The number of rows of the A1, A2 and W - * If SIDE is MorseLeft, the number of rows of op( V ) + * If SIDE is ChamLeft, the number of rows of op( V ) * * @param[in] N * The number of columns of the A1, A2 and W - * If SIDE is MorseRight, the number of columns of op( V ) + * If SIDE is ChamRight, the number of columns of op( V ) * * @param[in] K - * If SIDE is MorseLeft, the number of columns of op( V ) - * If SIDE is MorseRight, the number of rows of op( V ) + * If SIDE is ChamLeft, the number of columns of op( V ) + * If SIDE is ChamRight, the number of rows of op( V ) * * @param[in] L * The size of the triangular part of V @@ -151,23 +151,23 @@ static inline int CORE_zpamm_w(MORSE_enum side, MORSE_enum trans, MORSE_enum upl * * @param[in,out] A2 * On entry, the M-by-N tile A2. - * On exit, if OP is MorseA2 A2 is overwritten + * On exit, if OP is ChameleonA2 A2 is overwritten * * @param[in] LDA2 * The leading dimension of the tile A2. LDA2 >= max(1,M). * * @param[in] V * The matrix V as described above. - * If SIDE is MorseLeft : op( V ) is M-by-K - * If SIDE is MorseRight: op( V ) is K-by-N + * If SIDE is ChamLeft : op( V ) is M-by-K + * If SIDE is ChamRight: op( V ) is K-by-N * * @param[in] LDV * The leading dimension of the array V. * * @param[in,out] W * On entry, the M-by-N matrix W. - * On exit, W is overwritten either if OP is MorseA2 or MorseW. - * If OP is MorseA2, W is an input and is used as a workspace. + * On exit, W is overwritten either if OP is ChameleonA2 or ChameleonW. + * If OP is ChameleonA2, W is an input and is used as a workspace. * * @param[in] LDW * The leading dimension of array WORK. @@ -175,32 +175,32 @@ static inline int CORE_zpamm_w(MORSE_enum side, MORSE_enum trans, MORSE_enum upl ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ int -CORE_zpamm(int op, MORSE_enum side, MORSE_enum storev, +CORE_zpamm(int op, cham_side_t side, cham_store_t storev, int M, int N, int K, int L, - const MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - MORSE_Complex64_t *W, int LDW) + const CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + CHAMELEON_Complex64_t *W, int LDW) { int vi2, vi3, uplo, trans, info; /* Check input arguments */ - if ((op != MorseW) && (op != MorseA2)) { + if ((op != ChameleonW) && (op != ChameleonA2)) { coreblas_error(1, "Illegal value of op"); return -1; } - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { coreblas_error(2, "Illegal value of side"); return -2; } - if ((storev != MorseColumnwise) && (storev != MorseRowwise)) { + if ((storev != ChamColumnwise) && (storev != ChamRowwise)) { coreblas_error(3, "Illegal value of storev"); return -3; } @@ -239,13 +239,13 @@ CORE_zpamm(int op, MORSE_enum side, MORSE_enum storev, /* Quick return */ if ((M == 0) || (N == 0) || (K == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* * TRANS is set as: * * ------------------------------------- - * side direct MorseW MorseA2 + * side direct ChameleonW ChameleonA2 * ------------------------------------- * left colwise T N * rowwise N T @@ -255,42 +255,42 @@ CORE_zpamm(int op, MORSE_enum side, MORSE_enum storev, */ /* Columnwise*/ - if (storev == MorseColumnwise) { - uplo = CblasUpper; - if (side == MorseLeft) { - trans = op == MorseA2 ? MorseNoTrans : MorseConjTrans; - vi2 = trans == MorseNoTrans ? M - L : K - L; + if (storev == ChamColumnwise) { + uplo = ChamUpper; + if (side == ChamLeft) { + trans = op == ChameleonA2 ? ChamNoTrans : ChamConjTrans; + vi2 = trans == ChamNoTrans ? M - L : K - L; } else { - trans = op == MorseW ? MorseNoTrans : MorseConjTrans; - vi2 = trans == MorseNoTrans ? K - L : N - L; + trans = op == ChameleonW ? ChamNoTrans : ChamConjTrans; + vi2 = trans == ChamNoTrans ? K - L : N - L; } vi3 = LDV * L; } /* Rowwise */ else { - uplo = CblasLower; - if (side == MorseLeft) { - trans = op == MorseW ? MorseNoTrans : MorseConjTrans; - vi2 = trans == MorseNoTrans ? K - L : M - L; + uplo = ChamLower; + if (side == ChamLeft) { + trans = op == ChameleonW ? ChamNoTrans : ChamConjTrans; + vi2 = trans == ChamNoTrans ? K - L : M - L; } else { - trans = op == MorseA2 ? MorseNoTrans : MorseConjTrans; - vi2 = trans == MorseNoTrans ? N - L : K - L; + trans = op == ChameleonA2 ? ChamNoTrans : ChamConjTrans; + vi2 = trans == ChamNoTrans ? N - L : K - L; } vi2 *= LDV; vi3 = L; } /**/ - if (op==MorseW) { + if (op==ChameleonW) { info = CORE_zpamm_w( side, trans, uplo, M, N, K, L, vi2, vi3, A1, LDA1, A2, LDA2, V, LDV, W, LDW); if (info != 0) return info; - } else if (op==MorseA2) { + } else if (op==ChameleonA2) { info = CORE_zpamm_a2( side, trans, uplo, M, N, K, L, vi2, vi3, A2, LDA2, V, LDV, W, LDW); @@ -298,18 +298,18 @@ CORE_zpamm(int op, MORSE_enum side, MORSE_enum storev, return info; } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /**/ static inline int -CORE_zpamm_w(MORSE_enum side, MORSE_enum trans, MORSE_enum uplo, +CORE_zpamm_w(cham_side_t side, cham_trans_t trans, cham_uplo_t uplo, int M, int N, int K, int L, int vi2, int vi3, - const MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - MORSE_Complex64_t *W, int LDW) + const CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + CHAMELEON_Complex64_t *W, int LDW) { /* @@ -317,13 +317,13 @@ CORE_zpamm_w(MORSE_enum side, MORSE_enum trans, MORSE_enum uplo, */ int j; - static MORSE_Complex64_t zone = 1.0; - static MORSE_Complex64_t zzero = 0.0; + static CHAMELEON_Complex64_t zone = 1.0; + static CHAMELEON_Complex64_t zzero = 0.0; - if (side == MorseLeft) { + if (side == ChamLeft) { - if (((trans == MorseConjTrans) && (uplo == CblasUpper)) || - ((trans == MorseNoTrans) && (uplo == CblasLower))) { + if (((trans == ChamConjTrans) && (uplo == ChamUpper)) || + ((trans == ChamNoTrans) && (uplo == ChamLower))) { /* * W = A1 + V' * A2 @@ -331,7 +331,7 @@ CORE_zpamm_w(MORSE_enum side, MORSE_enum trans, MORSE_enum uplo, /* W = A2_2 */ LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, - morse_lapack_const(MorseUpperLower), + chameleon_lapack_const(ChamUpperLower), L, N, &A2[K-L], LDA2, W, LDW); @@ -375,16 +375,16 @@ CORE_zpamm_w(MORSE_enum side, MORSE_enum trans, MORSE_enum uplo, } else { printf("Left Upper/NoTrans & Lower/ConjTrans not implemented yet\n"); - return MORSE_ERR_NOT_SUPPORTED; + return CHAMELEON_ERR_NOT_SUPPORTED; } } else { //side right - if (((trans == MorseConjTrans) && (uplo == CblasUpper)) || - ((trans == MorseNoTrans) && (uplo == CblasLower))) { + if (((trans == ChamConjTrans) && (uplo == ChamUpper)) || + ((trans == ChamNoTrans) && (uplo == ChamLower))) { printf("Right Upper/ConjTrans & Lower/NoTrans not implemented yet\n"); - return MORSE_ERR_NOT_SUPPORTED; + return CHAMELEON_ERR_NOT_SUPPORTED; } else { @@ -397,7 +397,7 @@ CORE_zpamm_w(MORSE_enum side, MORSE_enum trans, MORSE_enum uplo, /* W = A2_2 */ LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, - morse_lapack_const(MorseUpperLower), + chameleon_lapack_const(ChamUpperLower), M, L, &A2[LDA2*(K-L)], LDA2, W, LDW); @@ -440,17 +440,17 @@ CORE_zpamm_w(MORSE_enum side, MORSE_enum trans, MORSE_enum uplo, } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /**/ static inline int -CORE_zpamm_a2(MORSE_enum side, MORSE_enum trans, MORSE_enum uplo, +CORE_zpamm_a2(cham_side_t side, cham_trans_t trans, cham_uplo_t uplo, int M, int N, int K, int L, int vi2, int vi3, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - MORSE_Complex64_t *W, int LDW) + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + CHAMELEON_Complex64_t *W, int LDW) { /* @@ -458,16 +458,16 @@ CORE_zpamm_a2(MORSE_enum side, MORSE_enum trans, MORSE_enum uplo, */ int j; - static MORSE_Complex64_t zone = 1.0; - static MORSE_Complex64_t mzone = -1.0; + static CHAMELEON_Complex64_t zone = 1.0; + static CHAMELEON_Complex64_t mzone = -1.0; - if (side == MorseLeft) { + if (side == ChamLeft) { - if (((trans == MorseConjTrans) && (uplo == CblasUpper)) || - ((trans == MorseNoTrans) && (uplo == CblasLower))) { + if (((trans == ChamConjTrans) && (uplo == ChamUpper)) || + ((trans == ChamNoTrans) && (uplo == ChamLower))) { printf("Left Upper/ConjTrans & Lower/NoTrans not implemented yet\n"); - return MORSE_ERR_NOT_SUPPORTED; + return CHAMELEON_ERR_NOT_SUPPORTED; } else { //trans @@ -515,8 +515,8 @@ CORE_zpamm_a2(MORSE_enum side, MORSE_enum trans, MORSE_enum uplo, } else { //side right - if (((trans == MorseConjTrans) && (uplo == CblasUpper)) || - ((trans == MorseNoTrans) && (uplo == CblasLower))) { + if (((trans == ChamConjTrans) && (uplo == ChamUpper)) || + ((trans == ChamNoTrans) && (uplo == ChamLower))) { /* * A2 = A2 - W * V' @@ -561,11 +561,11 @@ CORE_zpamm_a2(MORSE_enum side, MORSE_enum trans, MORSE_enum uplo, } else { printf("Right Upper/NoTrans & Lower/ConjTrans not implemented yet\n"); - return MORSE_ERR_NOT_SUPPORTED; + return CHAMELEON_ERR_NOT_SUPPORTED; } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zparfb.c b/coreblas/compute/core_zparfb.c index 10d84ee12ee79cccbd2ad5a334636aa2619e60b4..6dacf50491ab69772c9913a6d64b81af906c9179 100644 --- a/coreblas/compute/core_zparfb.c +++ b/coreblas/compute/core_zparfb.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Dulceneia Becker * @author Mathieu Faverge * @author Emmanuel Agullo @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zparfb applies a complex upper triangular block reflector H * or its transpose H' to a complex rectangular matrix formed by @@ -52,24 +52,24 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] direct * Indicates how H is formed from a product of elementary * reflectors - * @arg MorseForward : H = H(1) H(2) . . . H(k) (Forward) - * @arg MorseBackward : H = H(k) . . . H(2) H(1) (Backward) + * @arg ChamDirForward : H = H(1) H(2) . . . H(k) (Forward) + * @arg ChamDirBackward : H = H(k) . . . H(2) H(1) (Backward) * * @param[in] storev * Indicates how the vectors which define the elementary * reflectors are stored: - * @arg MorseColumnwise - * @arg MorseRowwise + * @arg ChamColumnwise + * @arg ChamRowwise * * @param[in] M1 * The number of columns of the tile A1. M1 >= 0. @@ -133,39 +133,39 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ /* This kernel is never traced so return type on previous line for convert2eztrace.pl script */ int -CORE_zparfb(MORSE_enum side, MORSE_enum trans, MORSE_enum direct, MORSE_enum storev, +CORE_zparfb(cham_side_t side, cham_trans_t trans, cham_dir_t direct, cham_store_t storev, int M1, int N1, int M2, int N2, int K, int L, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK, int LDWORK) + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK, int LDWORK) { - static MORSE_Complex64_t zone = 1.0; - static MORSE_Complex64_t mzone = -1.0; + static CHAMELEON_Complex64_t zone = 1.0; + static CHAMELEON_Complex64_t mzone = -1.0; int j; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { coreblas_error(1, "Illegal value of side"); return -1; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { coreblas_error(2, "Illegal value of trans"); return -2; } - if ((direct != MorseForward) && (direct != MorseBackward)) { + if ((direct != ChamDirForward) && (direct != ChamDirBackward)) { coreblas_error(3, "Illegal value of direct"); return -3; } - if ((storev != MorseColumnwise) && (storev != MorseRowwise)) { + if ((storev != ChamColumnwise) && (storev != ChamRowwise)) { coreblas_error(4, "Illegal value of storev"); return -4; } @@ -178,12 +178,12 @@ CORE_zparfb(MORSE_enum side, MORSE_enum trans, MORSE_enum direct, MORSE_enum sto return -6; } if ((M2 < 0) || - ( (side == MorseRight) && (M1 != M2) ) ) { + ( (side == ChamRight) && (M1 != M2) ) ) { coreblas_error(7, "Illegal value of M2"); return -7; } if ((N2 < 0) || - ( (side == MorseLeft) && (N1 != N2) ) ) { + ( (side == ChamLeft) && (N1 != N2) ) ) { coreblas_error(8, "Illegal value of N2"); return -8; } @@ -194,11 +194,11 @@ CORE_zparfb(MORSE_enum side, MORSE_enum trans, MORSE_enum direct, MORSE_enum sto /* Quick return */ if ((M1 == 0) || (N1 == 0) || (M2 == 0) || (N2 == 0) || (K == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (direct == MorseForward) { + if (direct == ChamDirForward) { - if (side == MorseLeft) { + if (side == ChamLeft) { /* * Column or Rowwise / Forward / Left @@ -210,7 +210,7 @@ CORE_zparfb(MORSE_enum side, MORSE_enum trans, MORSE_enum direct, MORSE_enum sto /* W = A1 + op(V) * A2 */ CORE_zpamm( - MorseW, MorseLeft, storev, + ChameleonW, ChamLeft, storev, K, N1, M2, L, A1, LDA1, A2, LDA2, @@ -234,7 +234,7 @@ CORE_zparfb(MORSE_enum side, MORSE_enum trans, MORSE_enum direct, MORSE_enum sto /* A2 = A2 - op(V) * W */ /* W also changes: W = V * W, A2 = A2 - W */ CORE_zpamm( - MorseA2, MorseLeft, storev, + ChameleonA2, ChamLeft, storev, M2, N2, K, L, A1, LDA1, A2, LDA2, @@ -252,7 +252,7 @@ CORE_zparfb(MORSE_enum side, MORSE_enum trans, MORSE_enum direct, MORSE_enum sto /* W = A1 + A2 * op(V) */ CORE_zpamm( - MorseW, MorseRight, storev, + ChameleonW, ChamRight, storev, M1, K, N2, L, A1, LDA1, A2, LDA2, @@ -276,7 +276,7 @@ CORE_zparfb(MORSE_enum side, MORSE_enum trans, MORSE_enum direct, MORSE_enum sto /* A2 = A2 - W * op(V) */ /* W also changes: W = W * V', A2 = A2 - W */ CORE_zpamm( - MorseA2, MorseRight, storev, + ChameleonA2, ChamRight, storev, M2, N2, K, L, A1, LDA1, A2, LDA2, @@ -286,8 +286,8 @@ CORE_zparfb(MORSE_enum side, MORSE_enum trans, MORSE_enum direct, MORSE_enum sto } else { coreblas_error(3, "Not implemented (Backward / Left or Right)"); - return MORSE_ERR_NOT_SUPPORTED; + return CHAMELEON_ERR_NOT_SUPPORTED; } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zpemv.c b/coreblas/compute/core_zpemv.c index b2d0161f18dc637665308c0e1c809e8343938a9b..fd5467b8afae3161faeebf6807fb5bda3e0d4a34 100644 --- a/coreblas/compute/core_zpemv.c +++ b/coreblas/compute/core_zpemv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Dulceneia Becker * @author Mathieu Faverge * @author Emmanuel Agullo @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zpemv performs one of the matrix-vector operations * @@ -46,14 +46,14 @@ * * @param[in] storev * - * @arg MorseColumnwise : array A stored columwise - * @arg MorseRowwise : array A stored rowwise + * @arg ChamColumnwise : array A stored columwise + * @arg ChamRowwise : array A stored rowwise * * @param[in] trans * - * @arg MorseNoTrans : y := alpha*A*x + beta*y. - * @arg MorseTrans : y := alpha*A**T*x + beta*y. - * @arg MorseConjTrans : y := alpha*A**H*x + beta*y. + * @arg ChamNoTrans : y := alpha*A*x + beta*y. + * @arg ChamTrans : y := alpha*A**T*x + beta*y. + * @arg ChamConjTrans : y := alpha*A**H*x + beta*y. * * @param[in] M * Number of rows of the matrix A. @@ -114,20 +114,20 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -int CORE_zpemv(MORSE_enum trans, int storev, +int CORE_zpemv(cham_trans_t trans, cham_store_t storev, int M, int N, int L, - MORSE_Complex64_t ALPHA, - const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *X, int INCX, - MORSE_Complex64_t BETA, - MORSE_Complex64_t *Y, int INCY, - MORSE_Complex64_t *WORK) + CHAMELEON_Complex64_t ALPHA, + const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *X, int INCX, + CHAMELEON_Complex64_t BETA, + CHAMELEON_Complex64_t *Y, int INCY, + CHAMELEON_Complex64_t *WORK) { /* @@ -135,20 +135,20 @@ int CORE_zpemv(MORSE_enum trans, int storev, */ int K; - static MORSE_Complex64_t zzero = 0.0; + static CHAMELEON_Complex64_t zzero = 0.0; /* Check input arguments */ - if ((trans < MorseNoTrans) || (trans > MorseConjTrans)) { + if ((trans < ChamNoTrans) || (trans > ChamConjTrans)) { coreblas_error(1, "Illegal value of trans"); return -1; } - if ((storev != MorseColumnwise) && (storev != MorseRowwise)) { + if ((storev != ChamColumnwise) && (storev != ChamRowwise)) { coreblas_error(2, "Illegal value of storev"); return -2; } - if (!( ((storev == MorseColumnwise) && (trans != MorseNoTrans)) || - ((storev == MorseRowwise) && (trans == MorseNoTrans)) )) { + if (!( ((storev == ChamColumnwise) && (trans != ChamNoTrans)) || + ((storev == ChamRowwise) && (trans == ChamNoTrans)) )) { coreblas_error(2, "Illegal values of trans/storev"); return -2; } @@ -179,15 +179,15 @@ int CORE_zpemv(MORSE_enum trans, int storev, /* Quick return */ if ((M == 0) || (N == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; if ((ALPHA == zzero) && (BETA == zzero)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* If L < 2, there is no triangular part */ if (L == 1) L = 0; /* Columnwise */ - if (storev == MorseColumnwise) { + if (storev == ChamColumnwise) { /* * ______________ * | | | A1: A[ 0 ] @@ -204,8 +204,8 @@ int CORE_zpemv(MORSE_enum trans, int storev, /* Columnwise / NoTrans */ - if (trans == MorseNoTrans) { - coreblas_error(1, "The case MorseNoTrans / MorseColumnwise is not yet implemented"); + if (trans == ChamNoTrans) { + coreblas_error(1, "The case ChamNoTrans / ChamColumnwise is not yet implemented"); return -1; } /* Columnwise / [Conj]Trans */ @@ -218,9 +218,9 @@ int CORE_zpemv(MORSE_enum trans, int storev, cblas_zcopy( L, &X[INCX*(M-L)], INCX, WORK, 1); cblas_ztrmv( - CblasColMajor, (CBLAS_UPLO)MorseUpper, + CblasColMajor, (CBLAS_UPLO)ChamUpper, (CBLAS_TRANSPOSE)trans, - (CBLAS_DIAG)MorseNonUnit, + (CBLAS_DIAG)ChamNonUnit, L, &A[M-L], LDA, WORK, 1); if (M > L) { @@ -271,7 +271,7 @@ int CORE_zpemv(MORSE_enum trans, int storev, */ /* Rowwise / NoTrans */ - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { /* L top rows of A and y */ if (L > 0) { @@ -279,16 +279,16 @@ int CORE_zpemv(MORSE_enum trans, int storev, cblas_zcopy( L, &X[INCX*(N-L)], INCX, WORK, 1); cblas_ztrmv( - CblasColMajor, (CBLAS_UPLO)MorseLower, - (CBLAS_TRANSPOSE)MorseNoTrans, - (CBLAS_DIAG)MorseNonUnit, + CblasColMajor, (CBLAS_UPLO)ChamLower, + (CBLAS_TRANSPOSE)ChamNoTrans, + (CBLAS_DIAG)ChamNonUnit, L, &A[LDA*(N-L)], LDA, WORK, 1); if (N > L) { /* y_1 = beta * y_1 [ + alpha * A_1 * x_1 ] */ cblas_zgemv( - CblasColMajor, (CBLAS_TRANSPOSE)MorseNoTrans, + CblasColMajor, (CBLAS_TRANSPOSE)ChamNoTrans, L, N-L, CBLAS_SADDR(ALPHA), A, LDA, X, INCX, CBLAS_SADDR(BETA), Y, INCY); @@ -311,17 +311,17 @@ int CORE_zpemv(MORSE_enum trans, int storev, /* M-L bottom rows of Y */ if (M > L) { cblas_zgemv( - CblasColMajor, (CBLAS_TRANSPOSE)MorseNoTrans, + CblasColMajor, (CBLAS_TRANSPOSE)ChamNoTrans, M-L, N, CBLAS_SADDR(ALPHA), &A[L], LDA, X, INCX, CBLAS_SADDR(BETA), &Y[INCY*L], INCY); } } /* Rowwise / [Conj]Trans */ else { - coreblas_error(1, "The case Morse[Conj]Trans / MorseRowwise is not yet implemented"); + coreblas_error(1, "The case Cham[Conj]Trans / ChamRowwise is not yet implemented"); return -1; } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zplghe.c b/coreblas/compute/core_zplghe.c index 6c5d16f423b8a2416b941b18e176c591cc439566..8db1d83b8c7149c8a2e794f462bacf10b176755f 100644 --- a/coreblas/compute/core_zplghe.c +++ b/coreblas/compute/core_zplghe.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Piotr Luszczek * @author Pierre Lemarinier * @author Mathieu Faverge @@ -65,10 +65,10 @@ Rnd64_jump(unsigned long long int n, unsigned long long int seed ) { // CORE_zplghe - Generate a tile for random hermitian (positive definite if bump is large enough) matrix. -void CORE_zplghe( double bump, int m, int n, MORSE_Complex64_t *A, int lda, +void CORE_zplghe( double bump, int m, int n, CHAMELEON_Complex64_t *A, int lda, int bigM, int m0, int n0, unsigned long long int seed ) { - MORSE_Complex64_t *tmp = A; + CHAMELEON_Complex64_t *tmp = A; int64_t i, j; unsigned long long int ran, jump; diff --git a/coreblas/compute/core_zplgsy.c b/coreblas/compute/core_zplgsy.c index e2af54bdb3c2196539eb9fa65875f160ee518b6c..bcf7f22f82474c5cfe65cc406224c19a519d263f 100644 --- a/coreblas/compute/core_zplgsy.c +++ b/coreblas/compute/core_zplgsy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Piotr Luszczek * @author Pierre Lemarinier * @author Mathieu Faverge @@ -66,10 +66,10 @@ Rnd64_jump(unsigned long long int n, unsigned long long int seed ) { // CORE_zplgsy - Generate a tile for random symmetric (positive definite if 'bump' is large enough) matrix. -void CORE_zplgsy( MORSE_Complex64_t bump, int m, int n, MORSE_Complex64_t *A, int lda, +void CORE_zplgsy( CHAMELEON_Complex64_t bump, int m, int n, CHAMELEON_Complex64_t *A, int lda, int bigM, int m0, int n0, unsigned long long int seed ) { - MORSE_Complex64_t *tmp = A; + CHAMELEON_Complex64_t *tmp = A; int64_t i, j; unsigned long long int ran, jump; diff --git a/coreblas/compute/core_zplrnt.c b/coreblas/compute/core_zplrnt.c index 8f4971dabf71fba964f563406d14031ee8940d17..a27fab67705fcae719a302bb386ed70560b70ef5 100644 --- a/coreblas/compute/core_zplrnt.c +++ b/coreblas/compute/core_zplrnt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Piotr Luszczek * @author Pierre Lemarinier * @author Mathieu Faverge @@ -65,10 +65,10 @@ Rnd64_jump(unsigned long long int n, unsigned long long int seed ) { // CORE_zplrnt - Generate a tile for random matrix. -void CORE_zplrnt( int m, int n, MORSE_Complex64_t *A, int lda, +void CORE_zplrnt( int m, int n, CHAMELEON_Complex64_t *A, int lda, int bigM, int m0, int n0, unsigned long long int seed ) { - MORSE_Complex64_t *tmp = A; + CHAMELEON_Complex64_t *tmp = A; int64_t i, j; unsigned long long int ran, jump; diff --git a/coreblas/compute/core_zpotrf.c b/coreblas/compute/core_zpotrf.c index 082b30a369929e5e5f59b5858580f93fd6c2f512..1e818f19523d319a6e0e775acb24f4e2ee128a63 100644 --- a/coreblas/compute/core_zpotrf.c +++ b/coreblas/compute/core_zpotrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,14 +28,14 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_zpotrf(MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA, int *INFO) +void CORE_zpotrf(cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA, int *INFO) { *INFO = LAPACKE_zpotrf_work( LAPACK_COL_MAJOR, - morse_lapack_const(uplo), + chameleon_lapack_const(uplo), N, A, LDA ); } diff --git a/coreblas/compute/core_zssssm.c b/coreblas/compute/core_zssssm.c index fbd6c7906525dbed9b8c2fda66951758f6921b43..386c487dd8a92025d433b8c03e216d51e2e44af3 100644 --- a/coreblas/compute/core_zssssm.c +++ b/coreblas/compute/core_zssssm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zssssm applies the LU factorization update from a complex * matrix formed by a lower triangular IB-by-K tile L1 on top of a @@ -92,20 +92,20 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * */ int CORE_zssssm(int M1, int N1, int M2, int N2, int K, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *L1, int LDL1, - const MORSE_Complex64_t *L2, int LDL2, + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *L1, int LDL1, + const CHAMELEON_Complex64_t *L2, int LDL2, const int *IPIV) { - static MORSE_Complex64_t zone = 1.0; - static MORSE_Complex64_t mzone =-1.0; + static CHAMELEON_Complex64_t zone = 1.0; + static CHAMELEON_Complex64_t mzone =-1.0; int i, ii, sb; int im, ip; @@ -154,7 +154,7 @@ int CORE_zssssm(int M1, int N1, int M2, int N2, int K, int IB, /* Quick return */ if ((M1 == 0) || (N1 == 0) || (M2 == 0) || (N2 == 0) || (K == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; ip = 0; @@ -185,7 +185,7 @@ int CORE_zssssm(int M1, int N1, int M2, int N2, int K, int IB, &A1[ii], LDA1, CBLAS_SADDR(zone), A2, LDA2); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zsymm.c b/coreblas/compute/core_zsymm.c index 044206f95c2565f4b81cee344286e049ff066070..431d65c840888f9af472c1c3edef4eea08c4fa54 100644 --- a/coreblas/compute/core_zsymm.c +++ b/coreblas/compute/core_zsymm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -27,14 +27,14 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_zsymm(MORSE_enum side, MORSE_enum uplo, +void CORE_zsymm(cham_side_t side, cham_uplo_t uplo, int M, int N, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC) + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC) { cblas_zsymm( CblasColMajor, diff --git a/coreblas/compute/core_zsyr2k.c b/coreblas/compute/core_zsyr2k.c index bac0e1b20645455a06efd4ab9323d20881fd81d6..af35387131def6d7971cdb479031881db12288f3 100644 --- a/coreblas/compute/core_zsyr2k.c +++ b/coreblas/compute/core_zsyr2k.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -27,14 +27,14 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_zsyr2k(MORSE_enum uplo, MORSE_enum trans, +void CORE_zsyr2k(cham_uplo_t uplo, cham_trans_t trans, int N, int K, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC) + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC) { cblas_zsyr2k( CblasColMajor, diff --git a/coreblas/compute/core_zsyrk.c b/coreblas/compute/core_zsyrk.c index ef360ebd47e4b909ca561e8e949f504f07ff2ab2..665f06f6e68c47c5a81caad4c180946d920c8dd0 100644 --- a/coreblas/compute/core_zsyrk.c +++ b/coreblas/compute/core_zsyrk.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -27,13 +27,13 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_zsyrk(MORSE_enum uplo, MORSE_enum trans, +void CORE_zsyrk(cham_uplo_t uplo, cham_trans_t trans, int N, int K, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC) + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC) { cblas_zsyrk( CblasColMajor, diff --git a/coreblas/compute/core_zsyssq.c b/coreblas/compute/core_zsyssq.c index b1c16e6f3f70fd6b9e47a0a9652ecc141d0d24bd..e44a0488281d1e940eac6211c6d2a48caa4ba49f 100644 --- a/coreblas/compute/core_zsyssq.c +++ b/coreblas/compute/core_zsyssq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -35,7 +35,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zsyssq returns the values scl and ssq such that * @@ -64,9 +64,9 @@ * @param[in] uplo * Specifies whether the upper or lower triangular part of * the symmetric matrix A is to be referenced as follows: - * = MorseLower: Only the lower triangular part of the + * = ChamLower: Only the lower triangular part of the * symmetric matrix A is to be referenced. - * = MorseUpper: Only the upper triangular part of the + * = ChamUpper: Only the upper triangular part of the * symmetric matrix A is to be referenced. * * @param[in] N @@ -89,20 +89,20 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval -k, the k-th argument had an illegal value * */ -int CORE_zsyssq(MORSE_enum uplo, int N, - const MORSE_Complex64_t *A, int LDA, +int CORE_zsyssq(cham_uplo_t uplo, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *scale, double *sumsq) { int i, j; double tmp; double *ptr; - if ( uplo == MorseUpper ) { + if ( uplo == ChamUpper ) { for(j=0; j<N; j++) { ptr = (double*) ( A + j * LDA ); @@ -157,5 +157,5 @@ int CORE_zsyssq(MORSE_enum uplo, int N, } } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zsytf2_nopiv.c b/coreblas/compute/core_zsytf2_nopiv.c index 21316c6491495a14ee4ccc20475e397de263b108..4deca1664dcebca7266780bcf176933fd4b48c6f 100644 --- a/coreblas/compute/core_zsytf2_nopiv.c +++ b/coreblas/compute/core_zsytf2_nopiv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -29,23 +29,23 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -static MORSE_Complex64_t zone = 1.; -static MORSE_Complex64_t mzone = -1.; +static CHAMELEON_Complex64_t zone = 1.; +static CHAMELEON_Complex64_t mzone = -1.; -int CORE_zsytf2_nopiv(MORSE_enum uplo, int n, MORSE_Complex64_t *A, int lda) +int CORE_zsytf2_nopiv(cham_uplo_t uplo, int n, CHAMELEON_Complex64_t *A, int lda) { - MORSE_Complex64_t *Akk = A; /* A [k ][k] */ - MORSE_Complex64_t *Amk; - MORSE_Complex64_t alpha; + CHAMELEON_Complex64_t *Akk = A; /* A [k ][k] */ + CHAMELEON_Complex64_t *Amk; + CHAMELEON_Complex64_t alpha; int k; if (n == 0) return 0; - if ( uplo == MorseLower ) + if ( uplo == ChamLower ) { for ( k=0; k<n-1; k++ ) { diff --git a/coreblas/compute/core_ztplqt.c b/coreblas/compute/core_ztplqt.c index fedcd3d65eda9e176d0678593217174882890476..f95ebd960259d9f83178ccbfa211da955093ed80 100644 --- a/coreblas/compute/core_ztplqt.c +++ b/coreblas/compute/core_ztplqt.c @@ -23,7 +23,7 @@ /** ****************************************************************************** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztplqt computes a blocked LQ factorization of a complex * "triangular-pentagonal" matrix C, which is composed of a @@ -78,15 +78,15 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ int CORE_ztplqt( int M, int N, int L, int IB, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK ) + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK ) { #if !defined(NDEBUG) /* Check input arguments */ @@ -127,7 +127,7 @@ int CORE_ztplqt( int M, int N, int L, int IB, /* Quick return */ if ((M == 0) || (N == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; if ( L == 0 ) { CORE_ztslqt( M, N, IB, A, LDA, B, LDB, T, LDT, WORK, WORK+M ); @@ -140,5 +140,5 @@ int CORE_ztplqt( int M, int N, int L, int IB, /* coreblas_error( 3, "Illegal value of L (only 0 or M handled for now)"); */ /* return -3; */ /* } */ - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_ztpmlqt.c b/coreblas/compute/core_ztpmlqt.c index e67dc7a3502b838c2be10180f4fa06877eedd9f7..e4207a731637f6d66a31cb18f8b1b013cce4c80e 100644 --- a/coreblas/compute/core_ztpmlqt.c +++ b/coreblas/compute/core_ztpmlqt.c @@ -22,7 +22,7 @@ /** ******************************************************************************* * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztpmlqt applies a complex orthogonal matrix Q obtained from a * "triangular-pentagonal" complex block reflector H to a general complex matrix @@ -31,12 +31,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M * The number of rows of the tile B. M >= 0. @@ -72,16 +72,16 @@ * The leading dimension of the array T. LDT >= IB. * * @param[in,out] A - * A is COMPLEX*16 array, dimension (LDA,N) if side = MorseLeft - * or (LDA,K) if SIDE = MorseRight + * A is COMPLEX*16 array, dimension (LDA,N) if side = ChamLeft + * or (LDA,K) if SIDE = ChamRight * On entry, the K-by-N or M-by-K matrix A. * On exit, A is overwritten by the corresponding block of * Q*C or Q**H*C or C*Q or C*Q**H. See Further Details. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,M). - * If side = MorseLeft, LDA >= max(1,K); - * If side = Morseright, LDA >= max(1,M). + * If side = ChamLeft, LDA >= max(1,K); + * If side = Chamright, LDA >= max(1,M). * * @param[in,out] B * On entry, the M-by-N tile B. @@ -93,7 +93,7 @@ * * @param[out] WORK * Workspace array of size LDWORK-by-NB. - * LDWORK = N if side = MorseLeft, or M if side = MorseRight. + * LDWORK = N if side = ChamLeft, or M if side = ChamRight. * ******************************************************************************* * @@ -111,10 +111,10 @@ * rows of a K-by-K upper triangular matrix. If L=K, V2 is lower triangular; * if L=0, there is no trapezoidal block, hence V = V1 is rectangular. * - * If side = MorseLeft: C = [A] where A is K-by-N, B is M-by-N and V is K-by-M. + * If side = ChamLeft: C = [A] where A is K-by-N, B is M-by-N and V is K-by-M. * [B] * - * If side = MorseRight: C = [A B] where A is M-by-K, B is M-by-N and V is K-by-N. + * If side = ChamRight: C = [A B] where A is M-by-K, B is M-by-N and V is K-by-N. * * The complex orthogonal matrix Q is formed from V and T. * @@ -129,28 +129,28 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -int CORE_ztpmlqt( MORSE_enum side, MORSE_enum trans, +int CORE_ztpmlqt( cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int IB, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t *WORK ) + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t *WORK ) { int m1, n1, ldwork; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { coreblas_error(1, "Illegal value of side"); return -1; } - if ( side == MorseLeft ) { + if ( side == ChamLeft ) { m1 = K; n1 = N; ldwork = IB; @@ -179,5 +179,5 @@ int CORE_ztpmlqt( MORSE_enum side, MORSE_enum trans, return -6; } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_ztpmqrt.c b/coreblas/compute/core_ztpmqrt.c index 168cf12aff66e88af00808caf83b137c4e9cda9e..b7c818e90d3b079b0b3985820974af092e4d1f8f 100644 --- a/coreblas/compute/core_ztpmqrt.c +++ b/coreblas/compute/core_ztpmqrt.c @@ -22,7 +22,7 @@ /** ******************************************************************************* * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztpmqrt applies a complex orthogonal matrix Q obtained from a * "triangular-pentagonal" complex block reflector H to a general complex matrix @@ -31,12 +31,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M * The number of rows of the tile B. M >= 0. @@ -72,16 +72,16 @@ * The leading dimension of the array T. LDT >= IB. * * @param[in,out] A - * A is COMPLEX*16 array, dimension (LDA,N) if side = MorseLeft - * or (LDA,K) if SIDE = MorseRight + * A is COMPLEX*16 array, dimension (LDA,N) if side = ChamLeft + * or (LDA,K) if SIDE = ChamRight * On entry, the K-by-N or M-by-K matrix A. * On exit, A is overwritten by the corresponding block of * Q*C or Q**H*C or C*Q or C*Q**H. See Further Details. * * @param[in] LDA * The leading dimension of the array A. LDA >= max(1,M). - * If side = MorseLeft, LDA >= max(1,K); - * If side = Morseright, LDA >= max(1,M). + * If side = ChamLeft, LDA >= max(1,K); + * If side = Chamright, LDA >= max(1,M). * * @param[in,out] B * On entry, the M-by-N tile B. @@ -93,7 +93,7 @@ * * @param[out] WORK * Workspace array of size LDWORK-by-NB. - * LDWORK = N if side = MorseLeft, or M if side = MorseRight. + * LDWORK = N if side = ChamLeft, or M if side = ChamRight. * ******************************************************************************* * @@ -112,10 +112,10 @@ * rows of a K-by-K upper triangular matrix. If L=K, V2 is upper triangular; * if L=0, there is no trapezoidal block, hence V = V1 is rectangular. * - * If side = MorseLeft: C = [A] where A is K-by-N, B is M-by-N and V is M-by-K. + * If side = ChamLeft: C = [A] where A is K-by-N, B is M-by-N and V is M-by-K. * [B] * - * If side = MorseRight: C = [A B] where A is M-by-K, B is M-by-N and V is N-by-K. + * If side = ChamRight: C = [A B] where A is M-by-K, B is M-by-N and V is N-by-K. * * The complex orthogonal matrix Q is formed from V and T. * @@ -130,28 +130,28 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -int CORE_ztpmqrt( MORSE_enum side, MORSE_enum trans, +int CORE_ztpmqrt( cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int IB, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t *WORK ) + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t *WORK ) { int m1, n1, ldwork; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { coreblas_error(1, "Illegal value of side"); return -1; } - if ( side == MorseLeft ) { + if ( side == ChamLeft ) { m1 = K; n1 = N; ldwork = IB; @@ -180,5 +180,5 @@ int CORE_ztpmqrt( MORSE_enum side, MORSE_enum trans, return -6; } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_ztpqrt.c b/coreblas/compute/core_ztpqrt.c index c32ed347c4482f772249b3458b7b7ec509f95776..46f430e7f923e08b65c7e9b46421eb05cdf006e6 100644 --- a/coreblas/compute/core_ztpqrt.c +++ b/coreblas/compute/core_ztpqrt.c @@ -23,7 +23,7 @@ /** ****************************************************************************** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztpqrt computes a blocked QR factorization of a complex * "triangular-pentagonal" matrix C, which is composed of a @@ -83,15 +83,15 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ int CORE_ztpqrt( int M, int N, int L, int IB, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK ) + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK ) { #if !defined(NDEBUG) /* Check input arguments */ @@ -132,7 +132,7 @@ int CORE_ztpqrt( int M, int N, int L, int IB, /* Quick return */ if ((M == 0) || (N == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; if ( L == 0 ) { CORE_ztsqrt( M, N, IB, A, LDA, B, LDB, T, LDT, WORK, WORK+N ); @@ -145,5 +145,5 @@ int CORE_ztpqrt( int M, int N, int L, int IB, /* coreblas_error( 3, "Illegal value of L (only 0 or M handled for now)"); */ /* return -3; */ /* } */ - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_ztradd.c b/coreblas/compute/core_ztradd.c index 2d67dc1d08931246a915590cdf58a95ad6e47204..182c890c3a172624ba3b9e849726895211d9d7b2 100644 --- a/coreblas/compute/core_ztradd.c +++ b/coreblas/compute/core_ztradd.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2015-11-03 * @precisions normal z -> c d s @@ -24,7 +24,7 @@ /** ****************************************************************************** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztradd adds to matrices together as in PBLAS pztradd. * @@ -36,16 +36,16 @@ * * @param[in] uplo * Specifies the shape of A and B matrices: - * = MorseUpperLower: A and B are general matrices. - * = MorseUpper: op(A) and B are upper trapezoidal matrices. - * = MorseLower: op(A) and B are lower trapezoidal matrices. + * = ChamUpperLower: A and B are general matrices. + * = ChamUpper: op(A) and B are upper trapezoidal matrices. + * = ChamLower: op(A) and B are lower trapezoidal matrices. * * @param[in] trans * Specifies whether the matrix A is non-transposed, transposed, or * conjugate transposed - * = MorseNoTrans: op(A) = A - * = MorseTrans: op(A) = A' - * = MorseConjTrans: op(A) = conj(A') + * = ChamNoTrans: op(A) = A + * = ChamTrans: op(A) = A' + * = ChamConjTrans: op(A) = conj(A') * * @param[in] M * Number of rows of the matrices A and B. @@ -75,45 +75,45 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -#if defined(MORSE_HAVE_WEAK) +#if defined(CHAMELEON_HAVE_WEAK) #pragma weak CORE_ztradd = PCORE_ztradd #define CORE_ztradd PCORE_ztradd #define CORE_zgeadd PCORE_zgeadd int -CORE_zgeadd(MORSE_enum trans, int M, int N, - MORSE_Complex64_t alpha, - const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, - MORSE_Complex64_t *B, int LDB); +CORE_zgeadd(cham_trans_t trans, int M, int N, + CHAMELEON_Complex64_t alpha, + const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, + CHAMELEON_Complex64_t *B, int LDB); #endif -int CORE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, - MORSE_Complex64_t alpha, - const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, - MORSE_Complex64_t *B, int LDB) +int CORE_ztradd(cham_uplo_t uplo, cham_trans_t trans, int M, int N, + CHAMELEON_Complex64_t alpha, + const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, + CHAMELEON_Complex64_t *B, int LDB) { int i, j; - if (uplo == MorseUpperLower){ + if (uplo == ChamUpperLower){ int rc = CORE_zgeadd( trans, M, N, alpha, A, LDA, beta, B, LDB ); - if (rc != MORSE_SUCCESS) + if (rc != CHAMELEON_SUCCESS) return rc-1; else return rc; } - if ((uplo != MorseUpper) && - (uplo != MorseLower)) + if ((uplo != ChamUpper) && + (uplo != ChamLower)) { coreblas_error(1, "illegal value of uplo"); return -1; } - if ((trans < MorseNoTrans) || (trans > MorseConjTrans)) + if ((trans < ChamNoTrans) || (trans > ChamConjTrans)) { coreblas_error(2, "illegal value of trans"); return -2; @@ -127,8 +127,8 @@ int CORE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, coreblas_error(4, "Illegal value of N"); return -4; } - if ( ((trans == MorseNoTrans) && (LDA < chameleon_max(1,M)) && (M > 0)) || - ((trans != MorseNoTrans) && (LDA < chameleon_max(1,N)) && (N > 0)) ) + if ( ((trans == ChamNoTrans) && (LDA < chameleon_max(1,M)) && (M > 0)) || + ((trans != ChamNoTrans) && (LDA < chameleon_max(1,N)) && (N > 0)) ) { coreblas_error(7, "Illegal value of LDA"); return -7; @@ -139,12 +139,12 @@ int CORE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, } /** - * MorseLower + * ChamLower */ - if (uplo == MorseLower) { + if (uplo == ChamLower) { switch( trans ) { #if defined(PRECISION_z) || defined(PRECISION_c) - case MorseConjTrans: + case ChamConjTrans: for (j=0; j<N; j++, A++) { for(i=j; i<M; i++, B++) { *B = beta * (*B) + alpha * conj(A[LDA*i]); @@ -154,7 +154,7 @@ int CORE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, break; #endif /* defined(PRECISION_z) || defined(PRECISION_c) */ - case MorseTrans: + case ChamTrans: for (j=0; j<N; j++, A++) { for(i=j; i<M; i++, B++) { *B = beta * (*B) + alpha * A[LDA*i]; @@ -163,7 +163,7 @@ int CORE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, } break; - case MorseNoTrans: + case ChamNoTrans: default: for (j=0; j<N; j++) { for(i=j; i<M; i++, B++, A++) { @@ -175,12 +175,12 @@ int CORE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, } } /** - * MorseUpper + * ChamUpper */ else { switch( trans ) { #if defined(PRECISION_z) || defined(PRECISION_c) - case MorseConjTrans: + case ChamConjTrans: for (j=0; j<N; j++, A++) { int mm = chameleon_min( j+1, M ); for(i=0; i<mm; i++, B++) { @@ -191,7 +191,7 @@ int CORE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, break; #endif /* defined(PRECISION_z) || defined(PRECISION_c) */ - case MorseTrans: + case ChamTrans: for (j=0; j<N; j++, A++) { int mm = chameleon_min( j+1, M ); for(i=0; i<mm; i++, B++) { @@ -201,7 +201,7 @@ int CORE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, } break; - case MorseNoTrans: + case ChamNoTrans: default: for (j=0; j<N; j++) { int mm = chameleon_min( j+1, M ); @@ -213,5 +213,5 @@ int CORE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, } } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_ztrasm.c b/coreblas/compute/core_ztrasm.c index 5ca15d12ed967ab50adad14cb0154b59ebc40fcb..6af370ce0b4845d798a0c31d9bad58f4a0c6ef1c 100644 --- a/coreblas/compute/core_ztrasm.c +++ b/coreblas/compute/core_ztrasm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -25,7 +25,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztrasm - Computes the sums of the absolute values of elements in a same * row or column in a triangular matrix. @@ -35,18 +35,18 @@ * * @param[in] storev * Specifies whether the sums are made per column or row. - * = MorseColumnwise: Computes the sum on each column - * = MorseRowwise: Computes the sum on each row + * = ChamColumnwise: Computes the sum on each column + * = ChamRowwise: Computes the sum on each row * * @param[in] uplo * Specifies whether the matrix A is upper triangular or lower triangular - * = MorseUpper: Upper triangle of A is referenced; - * = MorseLower: Lower triangle of A is referenced. + * = ChamUpper: Upper triangle of A is referenced; + * = ChamLower: Lower triangle of A is referenced. * * @param[in] diag * Specifies whether or not A is unit triangular: - * = MorseNonUnit: A is non unit; - * = MorseUnit: A us unit. + * = ChamNonUnit: A is non unit; + * = ChamUnit: A us unit. * * @param[in] M * M specifies the number of rows of the matrix A. M >= 0. @@ -61,27 +61,27 @@ * The leading dimension of the array A. lda >= max(1,M). * * @param[in,out] work - * Array of dimension M if storev = MorseRowwise; N otherwise. + * Array of dimension M if storev = ChamRowwise; N otherwise. * On exit, contains the sums of the absolute values per column or row * added to the input values. * */ -void CORE_ztrasm(MORSE_enum storev, MORSE_enum uplo, MORSE_enum diag, +void CORE_ztrasm(cham_store_t storev, cham_uplo_t uplo, cham_diag_t diag, int M, int N, - const MORSE_Complex64_t *A, int lda, double *work) + const CHAMELEON_Complex64_t *A, int lda, double *work) { - const MORSE_Complex64_t *tmpA; + const CHAMELEON_Complex64_t *tmpA; int i, j, imax; - int idiag = (diag == MorseUnit) ? 1 : 0; + int idiag = (diag == ChamUnit) ? 1 : 0; /* - * MorseUpper / MorseColumnwise + * ChamUpper / ChamColumnwise */ - if (uplo == MorseUpper ) { + if (uplo == ChamUpper ) { M = chameleon_min(M, N); - if (storev == MorseColumnwise) { + if (storev == ChamColumnwise) { for (j = 0; j < N; j++) { tmpA = A+(j*lda); imax = chameleon_min(j+1-idiag, M); @@ -96,10 +96,10 @@ void CORE_ztrasm(MORSE_enum storev, MORSE_enum uplo, MORSE_enum diag, } } /* - * MorseUpper / MorseRowwise + * ChamUpper / ChamRowwise */ else { - if (diag == MorseUnit) { + if (diag == ChamUnit) { for (i = 0; i < M; i++) { work[i] += 1.; } @@ -118,9 +118,9 @@ void CORE_ztrasm(MORSE_enum storev, MORSE_enum uplo, MORSE_enum diag, N = chameleon_min(M, N); /* - * MorseLower / MorseColumnwise + * ChamLower / ChamColumnwise */ - if (storev == MorseColumnwise) { + if (storev == ChamColumnwise) { for (j = 0; j < N; j++) { tmpA = A + j * (lda+1) + idiag; @@ -132,10 +132,10 @@ void CORE_ztrasm(MORSE_enum storev, MORSE_enum uplo, MORSE_enum diag, } } /* - * MorseLower / MorseRowwise + * ChamLower / ChamRowwise */ else { - if (diag == MorseUnit) { + if (diag == ChamUnit) { for (i = 0; i < N; i++) { work[i] += 1.; } diff --git a/coreblas/compute/core_ztrmm.c b/coreblas/compute/core_ztrmm.c index b6133fe86fd6590a1bd009d2b82bf16d4c527c85..43cf3aa020d937871f057e8404e76848fcc0cd72 100644 --- a/coreblas/compute/core_ztrmm.c +++ b/coreblas/compute/core_ztrmm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -27,15 +27,15 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_ztrmm(MORSE_enum side, MORSE_enum uplo, - MORSE_enum transA, MORSE_enum diag, +void CORE_ztrmm(cham_side_t side, cham_uplo_t uplo, + cham_trans_t transA, cham_diag_t diag, int M, int N, - MORSE_Complex64_t alpha, - const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB) + CHAMELEON_Complex64_t alpha, + const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB) { cblas_ztrmm( CblasColMajor, diff --git a/coreblas/compute/core_ztrsm.c b/coreblas/compute/core_ztrsm.c index 07060577c3ef0de11cf79ef720f789711f0a7c0f..4096d06f459c58defec310b84af2a98a44e4c9e8 100644 --- a/coreblas/compute/core_ztrsm.c +++ b/coreblas/compute/core_ztrsm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -27,14 +27,14 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_ztrsm(MORSE_enum side, MORSE_enum uplo, - MORSE_enum transA, MORSE_enum diag, +void CORE_ztrsm(cham_side_t side, cham_uplo_t uplo, + cham_trans_t transA, cham_diag_t diag, int M, int N, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB) + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB) { cblas_ztrsm( CblasColMajor, diff --git a/coreblas/compute/core_ztrssq.c b/coreblas/compute/core_ztrssq.c index 207768b32ea696cff98b390daa2c08036be94d0c..7a128d5740fcfd82ec607303c97c5612a485042d 100644 --- a/coreblas/compute/core_ztrssq.c +++ b/coreblas/compute/core_ztrssq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -35,7 +35,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztrssq returns the values scl and ssq such that * @@ -83,26 +83,26 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval -k, the k-th argument had an illegal value * */ -int CORE_ztrssq(MORSE_enum uplo, MORSE_enum diag, int M, int N, - const MORSE_Complex64_t *A, int LDA, +int CORE_ztrssq(cham_uplo_t uplo, cham_diag_t diag, int M, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *scale, double *sumsq) { int i, j, imax; - int idiag = (diag == MorseUnit) ? 1 : 0; + int idiag = (diag == ChamUnit) ? 1 : 0; double tmp; double *ptr; - if ( diag == MorseUnit ){ + if ( diag == ChamUnit ){ tmp = sqrt( chameleon_min(M, N) ); UPDATE( 1., tmp ); } - if (uplo == MorseUpper ) { + if (uplo == ChamUpper ) { M = chameleon_min(M, N); for(j=0; j<N; j++) { @@ -139,5 +139,5 @@ int CORE_ztrssq(MORSE_enum uplo, MORSE_enum diag, int M, int N, } } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_ztrtri.c b/coreblas/compute/core_ztrtri.c index 252c953f8e11d206bdbf23dba0377383e0d3602c..1fcdfd158b1da658523d7087cac0921b54f5d2ae 100644 --- a/coreblas/compute/core_ztrtri.c +++ b/coreblas/compute/core_ztrtri.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -28,14 +28,14 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void CORE_ztrtri(MORSE_enum uplo, MORSE_enum diag, int N, MORSE_Complex64_t *A, int LDA, int *info) +void CORE_ztrtri(cham_uplo_t uplo, cham_diag_t diag, int N, CHAMELEON_Complex64_t *A, int LDA, int *info) { *info = LAPACKE_ztrtri_work( LAPACK_COL_MAJOR, - morse_lapack_const(uplo), morse_lapack_const(diag), + chameleon_lapack_const(uplo), chameleon_lapack_const(diag), N, A, LDA); } diff --git a/coreblas/compute/core_ztslqt.c b/coreblas/compute/core_ztslqt.c index ce9e955dfd93cd057bfaf21b780119d917958597..58c6b5e8b1797959c4bd29a75295177f3b092275 100644 --- a/coreblas/compute/core_ztslqt.c +++ b/coreblas/compute/core_ztslqt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztslqt computes a LQ factorization of a rectangular matrix * formed by coupling side-by-side a complex M-by-M @@ -95,21 +95,21 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ int CORE_ztslqt(int M, int N, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *TAU, MORSE_Complex64_t *WORK) + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *TAU, CHAMELEON_Complex64_t *WORK) { - static MORSE_Complex64_t zone = 1.0; - static MORSE_Complex64_t zzero = 0.0; + static CHAMELEON_Complex64_t zone = 1.0; + static CHAMELEON_Complex64_t zzero = 0.0; - MORSE_Complex64_t alpha; + CHAMELEON_Complex64_t alpha; int i, ii, sb; /* Check input arguments */ @@ -132,7 +132,7 @@ int CORE_ztslqt(int M, int N, int IB, /* Quick return */ if ((M == 0) || (N == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; for(ii = 0; ii < M; ii += IB) { sb = chameleon_min(M-ii, IB); @@ -157,7 +157,7 @@ int CORE_ztslqt(int M, int N, int IB, WORK, 1); cblas_zgemv( - CblasColMajor, (CBLAS_TRANSPOSE)MorseNoTrans, + CblasColMajor, (CBLAS_TRANSPOSE)ChamNoTrans, sb-i-1, N, CBLAS_SADDR(zone), &A2[ii+i+1], LDA2, &A2[ii+i], LDA2, @@ -178,7 +178,7 @@ int CORE_ztslqt(int M, int N, int IB, * Calculate T. */ cblas_zgemv( - CblasColMajor, (CBLAS_TRANSPOSE)MorseNoTrans, i, N, + CblasColMajor, (CBLAS_TRANSPOSE)ChamNoTrans, i, N, CBLAS_SADDR(alpha), &A2[ii], LDA2, &A2[ii+i], LDA2, CBLAS_SADDR(zzero), &T[LDT*(ii+i)], 1); @@ -187,8 +187,8 @@ int CORE_ztslqt(int M, int N, int IB, LAPACKE_zlacgv_work(1, &A1[LDA1*(ii+i)+ii+i], LDA1 ); #endif cblas_ztrmv( - CblasColMajor, (CBLAS_UPLO)MorseUpper, - (CBLAS_TRANSPOSE)MorseNoTrans, (CBLAS_DIAG)MorseNonUnit, i, + CblasColMajor, (CBLAS_UPLO)ChamUpper, + (CBLAS_TRANSPOSE)ChamNoTrans, (CBLAS_DIAG)ChamNonUnit, i, &T[LDT*ii], LDT, &T[LDT*(ii+i)], 1); @@ -196,7 +196,7 @@ int CORE_ztslqt(int M, int N, int IB, } if (M > ii+sb) { CORE_ztsmlq( - MorseRight, MorseConjTrans, + ChamRight, ChamConjTrans, M-(ii+sb), sb, M-(ii+sb), N, IB, IB, &A1[LDA1*ii+ii+sb], LDA1, &A2[ii+sb], LDA2, @@ -205,7 +205,7 @@ int CORE_ztslqt(int M, int N, int IB, WORK, LDA1); } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_ztsmlq.c b/coreblas/compute/core_ztsmlq.c index 1181e465c5868db2e84012efc12a785d78b3805b..15323bbff8ac94626816d4bc1e54678ca8262c08 100644 --- a/coreblas/compute/core_ztsmlq.c +++ b/coreblas/compute/core_ztsmlq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Azzam Haidar @@ -29,7 +29,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztsmlq overwrites the general complex M1-by-N1 tile A1 and * M2-by-N2 tile A2 with @@ -51,12 +51,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M1 * The number of rows of the tile A1. M1 >= 0. @@ -66,11 +66,11 @@ * * @param[in] M2 * The number of rows of the tile A2. M2 >= 0. - * M2 = M1 if side == MorseRight. + * M2 = M1 if side == ChamRight. * * @param[in] N2 * The number of columns of the tile A2. N2 >= 0. - * N2 = N1 if side == MorseLeft. + * N2 = N1 if side == ChamLeft. * * @param[in] K * The number of elementary reflectors whose product defines @@ -111,29 +111,29 @@ * * @param[out] WORK * Workspace array of size - * LDWORK-by-M1 if side == MorseLeft - * LDWORK-by-IB if side == MorseRight + * LDWORK-by-M1 if side == ChamLeft + * LDWORK-by-IB if side == ChamRight * * @param[in] LDWORK * The leading dimension of the array WORK. - * LDWORK >= max(1,IB) if side == MorseLeft - * LDWORK >= max(1,N1) if side == MorseRight + * LDWORK >= max(1,IB) if side == ChamLeft + * LDWORK >= max(1,N1) if side == ChamRight * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -int CORE_ztsmlq(MORSE_enum side, MORSE_enum trans, +int CORE_ztsmlq(cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK, int LDWORK) + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK, int LDWORK) { int i, i1, i3; int NW; @@ -144,20 +144,20 @@ int CORE_ztsmlq(MORSE_enum side, MORSE_enum trans, int ni = N1; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { coreblas_error(1, "Illegal value of side"); return -1; } /* NW is the minimum dimension of WORK */ - if (side == MorseLeft) { + if (side == ChamLeft) { NW = IB; } else { NW = N1; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { coreblas_error(2, "Illegal value of trans"); return -2; } @@ -170,18 +170,18 @@ int CORE_ztsmlq(MORSE_enum side, MORSE_enum trans, return -4; } if ( (M2 < 0) || - ( (M2 != M1) && (side == MorseRight) ) ){ + ( (M2 != M1) && (side == ChamRight) ) ){ coreblas_error(5, "Illegal value of M2"); return -5; } if ( (N2 < 0) || - ( (N2 != N1) && (side == MorseLeft) ) ){ + ( (N2 != N1) && (side == ChamLeft) ) ){ coreblas_error(6, "Illegal value of N2"); return -6; } if ((K < 0) || - ( (side == MorseLeft) && (K > M1) ) || - ( (side == MorseRight) && (K > N1) ) ) { + ( (side == ChamLeft) && (K > M1) ) || + ( (side == ChamRight) && (K > N1) ) ) { coreblas_error(7, "Illegal value of K"); return -7; } @@ -212,10 +212,10 @@ int CORE_ztsmlq(MORSE_enum side, MORSE_enum trans, /* Quick return */ if ((M1 == 0) || (N1 == 0) || (M2 == 0) || (N2 == 0) || (K == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (((side == MorseLeft) && (trans == MorseNoTrans)) - || ((side == MorseRight) && (trans != MorseNoTrans))) { + if (((side == ChamLeft) && (trans == ChamNoTrans)) + || ((side == ChamRight) && (trans != ChamNoTrans))) { i1 = 0; i3 = IB; } @@ -224,17 +224,17 @@ int CORE_ztsmlq(MORSE_enum side, MORSE_enum trans, i3 = -IB; } - if (trans == MorseNoTrans) { - trans = MorseConjTrans; + if (trans == ChamNoTrans) { + trans = ChamConjTrans; } else { - trans = MorseNoTrans; + trans = ChamNoTrans; } for(i = i1; (i > -1) && (i < K); i += i3) { kb = chameleon_min(IB, K-i); - if (side == MorseLeft) { + if (side == ChamLeft) { /* * H or H' is applied to C(i:m,1:n) */ @@ -252,7 +252,7 @@ int CORE_ztsmlq(MORSE_enum side, MORSE_enum trans, * Apply H or H' (NOTE: CORE_zparfb used to be CORE_ztsrfb) */ CORE_zparfb( - side, trans, MorseForward, MorseRowwise, + side, trans, ChamDirForward, ChamRowwise, mi, ni, M2, N2, kb, 0, A1 + LDA1 * jc + ic, LDA1, A2, LDA2, @@ -260,7 +260,7 @@ int CORE_ztsmlq(MORSE_enum side, MORSE_enum trans, T + i * LDT, LDT, WORK, LDWORK); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_ztsmlq_hetra1.c b/coreblas/compute/core_ztsmlq_hetra1.c index e7903c4e05b4c4be3b756aacc90d00a712e30f59..004e826b721f87e581bc394f6e52384df37516ce 100644 --- a/coreblas/compute/core_ztsmlq_hetra1.c +++ b/coreblas/compute/core_ztsmlq_hetra1.c @@ -24,7 +24,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztsmlq_hetra1: see CORE_ztsmlq * @@ -38,12 +38,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] m1 * The number of rows of the tile A1. m1 >= 0. @@ -53,11 +53,11 @@ * * @param[in] m2 * The number of rows of the tile A2. m2 >= 0. - * m2 = m1 if side == MorseRight. + * m2 = m1 if side == ChamRight. * * @param[in] n2 * The number of columns of the tile A2. n2 >= 0. - * n2 = n1 if side == MorseLeft. + * n2 = n1 if side == ChamLeft. * * @param[in] k * The number of elementary reflectors whose product defines @@ -98,41 +98,41 @@ * * @param[out] WORK * Workspace array of size - * LDWORK-by-m1 if side == MorseLeft - * LDWORK-by-IB if side == MorseRight + * LDWORK-by-m1 if side == ChamLeft + * LDWORK-by-IB if side == ChamRight * * @param[in] ldwork * The leading dimension of the array WORK. - * LDWORK >= max(1,IB) if side == MorseLeft - * LDWORK >= max(1,n1) if side == MorseRight + * LDWORK >= max(1,IB) if side == ChamLeft + * LDWORK >= max(1,n1) if side == ChamRight * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -#if defined(MORSE_HAVE_WEAK) +#if defined(CHAMELEON_HAVE_WEAK) #pragma weak CORE_ztsmlq_hetra1 = PCORE_ztsmlq_hetra1 #define CORE_ztsmlq_hetra1 PCORE_ztsmlq_hetra1 #define CORE_ztsmlq PCORE_ztsmlq -int CORE_ztsmlq(MORSE_enum side, MORSE_enum trans, +int CORE_ztsmlq(cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int K, int IB, - MORSE_Complex64_t *A1, int lda1, - MORSE_Complex64_t *A2, int lda2, - const MORSE_Complex64_t *V, int ldv, - const MORSE_Complex64_t *T, int ldt, - MORSE_Complex64_t *WORK, int LDWORK); + CHAMELEON_Complex64_t *A1, int lda1, + CHAMELEON_Complex64_t *A2, int lda2, + const CHAMELEON_Complex64_t *V, int ldv, + const CHAMELEON_Complex64_t *T, int ldt, + CHAMELEON_Complex64_t *WORK, int LDWORK); #endif -int CORE_ztsmlq_hetra1( MORSE_enum side, MORSE_enum trans, +int CORE_ztsmlq_hetra1( cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, - MORSE_Complex64_t *A1, int lda1, - MORSE_Complex64_t *A2, int lda2, - const MORSE_Complex64_t *V, int ldv, - const MORSE_Complex64_t *T, int ldt, - MORSE_Complex64_t *WORK, int ldwork) + CHAMELEON_Complex64_t *A1, int lda1, + CHAMELEON_Complex64_t *A2, int lda2, + const CHAMELEON_Complex64_t *V, int ldv, + const CHAMELEON_Complex64_t *T, int ldt, + CHAMELEON_Complex64_t *WORK, int ldwork) { int i, j; @@ -170,5 +170,5 @@ int CORE_ztsmlq_hetra1( MORSE_enum side, MORSE_enum trans, } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_ztsmqr.c b/coreblas/compute/core_ztsmqr.c index c18c2c392ee75ee68f2f8a762b7fb50e22cc86e9..a1d194e14639dccaa7d5f0d14b787a572bb63fa1 100644 --- a/coreblas/compute/core_ztsmqr.c +++ b/coreblas/compute/core_ztsmqr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Azzam Haidar @@ -29,7 +29,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztsmqr overwrites the general complex M1-by-N1 tile A1 and * M2-by-N2 tile A2 with @@ -51,12 +51,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M1 * The number of rows of the tile A1. M1 >= 0. @@ -66,11 +66,11 @@ * * @param[in] M2 * The number of rows of the tile A2. M2 >= 0. - * M2 = M1 if side == MorseRight. + * M2 = M1 if side == ChamRight. * * @param[in] N2 * The number of columns of the tile A2. N2 >= 0. - * N2 = N1 if side == MorseLeft. + * N2 = N1 if side == ChamLeft. * * @param[in] K * The number of elementary reflectors whose product defines @@ -111,29 +111,29 @@ * * @param[out] WORK * Workspace array of size - * LDWORK-by-N1 if side == MorseLeft - * LDWORK-by-IB if side == MorseRight + * LDWORK-by-N1 if side == ChamLeft + * LDWORK-by-IB if side == ChamRight * * @param[in] LDWORK * The leading dimension of the array WORK. - * LDWORK >= max(1,IB) if side == MorseLeft - * LDWORK >= max(1,M1) if side == MorseRight + * LDWORK >= max(1,IB) if side == ChamLeft + * LDWORK >= max(1,M1) if side == ChamRight * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -int CORE_ztsmqr(MORSE_enum side, MORSE_enum trans, +int CORE_ztsmqr(cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK, int LDWORK) + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK, int LDWORK) { int i, i1, i3; int NQ, NW; @@ -144,13 +144,13 @@ int CORE_ztsmqr(MORSE_enum side, MORSE_enum trans, int ni = N1; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { coreblas_error(1, "Illegal value of side"); return -1; } /* NQ is the order of Q */ - if (side == MorseLeft) { + if (side == ChamLeft) { NQ = M2; NW = IB; } @@ -159,7 +159,7 @@ int CORE_ztsmqr(MORSE_enum side, MORSE_enum trans, NW = M1; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { coreblas_error(2, "Illegal value of trans"); return -2; } @@ -172,18 +172,18 @@ int CORE_ztsmqr(MORSE_enum side, MORSE_enum trans, return -4; } if ( (M2 < 0) || - ( (M2 != M1) && (side == MorseRight) ) ){ + ( (M2 != M1) && (side == ChamRight) ) ){ coreblas_error(5, "Illegal value of M2"); return -5; } if ( (N2 < 0) || - ( (N2 != N1) && (side == MorseLeft) ) ){ + ( (N2 != N1) && (side == ChamLeft) ) ){ coreblas_error(6, "Illegal value of N2"); return -6; } if ((K < 0) || - ( (side == MorseLeft) && (K > M1) ) || - ( (side == MorseRight) && (K > N1) ) ) { + ( (side == ChamLeft) && (K > M1) ) || + ( (side == ChamRight) && (K > N1) ) ) { coreblas_error(7, "Illegal value of K"); return -7; } @@ -214,10 +214,10 @@ int CORE_ztsmqr(MORSE_enum side, MORSE_enum trans, /* Quick return */ if ((M1 == 0) || (N1 == 0) || (M2 == 0) || (N2 == 0) || (K == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (((side == MorseLeft) && (trans != MorseNoTrans)) - || ((side == MorseRight) && (trans == MorseNoTrans))) { + if (((side == ChamLeft) && (trans != ChamNoTrans)) + || ((side == ChamRight) && (trans == ChamNoTrans))) { i1 = 0; i3 = IB; } @@ -229,7 +229,7 @@ int CORE_ztsmqr(MORSE_enum side, MORSE_enum trans, for(i = i1; (i > -1) && (i < K); i += i3) { kb = chameleon_min(IB, K-i); - if (side == MorseLeft) { + if (side == ChamLeft) { /* * H or H' is applied to C(i:m,1:n) */ @@ -247,7 +247,7 @@ int CORE_ztsmqr(MORSE_enum side, MORSE_enum trans, * Apply H or H' (NOTE: CORE_zparfb used to be CORE_ztsrfb) */ CORE_zparfb( - side, trans, MorseForward, MorseColumnwise, + side, trans, ChamDirForward, ChamColumnwise, mi, ni, M2, N2, kb, 0, A1 + LDA1*jc+ic, LDA1, A2, LDA2, @@ -255,7 +255,7 @@ int CORE_ztsmqr(MORSE_enum side, MORSE_enum trans, T + LDT*i, LDT, WORK, LDWORK); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_ztsmqr_hetra1.c b/coreblas/compute/core_ztsmqr_hetra1.c index f66c27f1101b9ab192d1a550a101f75f7148a530..7f763d06af687f770e0f56e366e2fd05aa1a53ec 100644 --- a/coreblas/compute/core_ztsmqr_hetra1.c +++ b/coreblas/compute/core_ztsmqr_hetra1.c @@ -25,7 +25,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztsmqr_hetra1: see CORE_ztsmqr * @@ -40,12 +40,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] m1 * The number of rows of the tile A1. M1 >= 0. @@ -55,11 +55,11 @@ * * @param[in] m2 * The number of rows of the tile A2. M2 >= 0. - * M2 = M1 if side == MorseRight. + * M2 = M1 if side == ChamRight. * * @param[in] n2 * The number of columns of the tile A2. N2 >= 0. - * N2 = N1 if side == MorseLeft. + * N2 = N1 if side == ChamLeft. * * @param[in] k * The number of elementary reflectors whose product defines @@ -100,41 +100,41 @@ * * @param[out] WORK * Workspace array of size - * LDWORK-by-N1 if side == MorseLeft - * LDWORK-by-IB if side == MorseRight + * LDWORK-by-N1 if side == ChamLeft + * LDWORK-by-IB if side == ChamRight * * @param[in] ldwork * The leading dimension of the array WORK. - * LDWORK >= max(1,IB) if side == MorseLeft - * LDWORK >= max(1,M1) if side == MorseRight + * LDWORK >= max(1,IB) if side == ChamLeft + * LDWORK >= max(1,M1) if side == ChamRight * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -#if defined(MORSE_HAVE_WEAK) +#if defined(CHAMELEON_HAVE_WEAK) #pragma weak CORE_ztsmqr_hetra1 = PCORE_ztsmqr_hetra1 #define CORE_ztsmqr_hetra1 PCORE_ztsmqr_hetra1 #define CORE_ztsmqr PCORE_ztsmqr -int CORE_ztsmqr(MORSE_enum side, MORSE_enum trans, +int CORE_ztsmqr(cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK, int LDWORK); + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK, int LDWORK); #endif -int CORE_ztsmqr_hetra1( MORSE_enum side, MORSE_enum trans, +int CORE_ztsmqr_hetra1( cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, - MORSE_Complex64_t *A1, int lda1, - MORSE_Complex64_t *A2, int lda2, - const MORSE_Complex64_t *V, int ldv, - const MORSE_Complex64_t *T, int ldt, - MORSE_Complex64_t *WORK, int ldwork) + CHAMELEON_Complex64_t *A1, int lda1, + CHAMELEON_Complex64_t *A2, int lda2, + const CHAMELEON_Complex64_t *V, int ldv, + const CHAMELEON_Complex64_t *T, int ldt, + CHAMELEON_Complex64_t *WORK, int ldwork) { int i, j; @@ -169,5 +169,5 @@ int CORE_ztsmqr_hetra1( MORSE_enum side, MORSE_enum trans, } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_ztsqrt.c b/coreblas/compute/core_ztsqrt.c index 92841443166aca0fe9806131a10a282d318150fe..82b293cce27a5d619892b7c72947f2c64de7e76a 100644 --- a/coreblas/compute/core_ztsqrt.c +++ b/coreblas/compute/core_ztsqrt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztsqrt computes a QR factorization of a rectangular matrix * formed by coupling a complex N-by-N upper triangular tile A1 @@ -84,22 +84,22 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ int CORE_ztsqrt(int M, int N, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *TAU, MORSE_Complex64_t *WORK) + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *TAU, CHAMELEON_Complex64_t *WORK) { - static MORSE_Complex64_t zone = 1.0; - static MORSE_Complex64_t zzero = 0.0; + static CHAMELEON_Complex64_t zone = 1.0; + static CHAMELEON_Complex64_t zzero = 0.0; - MORSE_Complex64_t alpha; + CHAMELEON_Complex64_t alpha; int i, ii, sb; /* Check input arguments */ @@ -122,7 +122,7 @@ int CORE_ztsqrt(int M, int N, int IB, /* Quick return */ if ((M == 0) || (N == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; for(ii = 0; ii < N; ii += IB) { sb = chameleon_min(N-ii, IB); @@ -146,7 +146,7 @@ int CORE_ztsqrt(int M, int N, int IB, LAPACKE_zlacgv_work(sb-i-1, WORK, 1); #endif cblas_zgemv( - CblasColMajor, (CBLAS_TRANSPOSE)MorseConjTrans, + CblasColMajor, (CBLAS_TRANSPOSE)ChamConjTrans, M, sb-i-1, CBLAS_SADDR(zone), &A2[LDA2*(ii+i+1)], LDA2, &A2[LDA2*(ii+i)], 1, @@ -172,14 +172,14 @@ int CORE_ztsqrt(int M, int N, int IB, */ alpha = -TAU[ii+i]; cblas_zgemv( - CblasColMajor, (CBLAS_TRANSPOSE)MorseConjTrans, M, i, + CblasColMajor, (CBLAS_TRANSPOSE)ChamConjTrans, M, i, CBLAS_SADDR(alpha), &A2[LDA2*ii], LDA2, &A2[LDA2*(ii+i)], 1, CBLAS_SADDR(zzero), &T[LDT*(ii+i)], 1); cblas_ztrmv( - CblasColMajor, (CBLAS_UPLO)MorseUpper, - (CBLAS_TRANSPOSE)MorseNoTrans, (CBLAS_DIAG)MorseNonUnit, i, + CblasColMajor, (CBLAS_UPLO)ChamUpper, + (CBLAS_TRANSPOSE)ChamNoTrans, (CBLAS_DIAG)ChamNonUnit, i, &T[LDT*ii], LDT, &T[LDT*(ii+i)], 1); @@ -187,7 +187,7 @@ int CORE_ztsqrt(int M, int N, int IB, } if (N > ii+sb) { CORE_ztsmqr( - MorseLeft, MorseConjTrans, + ChamLeft, ChamConjTrans, sb, N-(ii+sb), M, N-(ii+sb), IB, IB, &A1[LDA1*(ii+sb)+ii], LDA1, &A2[LDA2*(ii+sb)], LDA2, @@ -196,7 +196,7 @@ int CORE_ztsqrt(int M, int N, int IB, WORK, sb); } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_ztstrf.c b/coreblas/compute/core_ztstrf.c index 86888d73d43b6964d98e9af01bdbae9081d85034..e2c9bc0073b269d1810aae10a8eb77e389194233 100644 --- a/coreblas/compute/core_ztstrf.c +++ b/coreblas/compute/core_ztstrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -29,7 +29,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztstrf computes an LU factorization of a complex matrix formed * by an upper triangular NB-by-N tile U on top of a M-by-N tile A @@ -85,7 +85,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * \retval >0 if INFO = k, U(k,k) is exactly zero. The factorization * has been completed, but the factor U is exactly @@ -96,17 +96,17 @@ int CORE_ztstrf(int M, int N, int IB, int NB, - MORSE_Complex64_t *U, int LDU, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *L, int LDL, + CHAMELEON_Complex64_t *U, int LDU, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *L, int LDL, int *IPIV, - MORSE_Complex64_t *WORK, int LDWORK, + CHAMELEON_Complex64_t *WORK, int LDWORK, int *INFO) { - static MORSE_Complex64_t zzero = 0.0; - static MORSE_Complex64_t mzone =-1.0; + static CHAMELEON_Complex64_t zzero = 0.0; + static CHAMELEON_Complex64_t mzone =-1.0; - MORSE_Complex64_t alpha; + CHAMELEON_Complex64_t alpha; int i, j, ii, sb; int im, ip; @@ -139,10 +139,10 @@ int CORE_ztstrf(int M, int N, int IB, int NB, /* Quick return */ if ((M == 0) || (N == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* Set L to 0 */ - memset(L, 0, LDL*N*sizeof(MORSE_Complex64_t)); + memset(L, 0, LDL*N*sizeof(CHAMELEON_Complex64_t)); ip = 0; for (ii = 0; ii < N; ii += IB) { @@ -176,7 +176,7 @@ int CORE_ztstrf(int M, int N, int IB, int NB, *INFO = ii+i+1; } - alpha = ((MORSE_Complex64_t)1. / U[LDU*(ii+i)+ii+i]); + alpha = ((CHAMELEON_Complex64_t)1. / U[LDU*(ii+i)+ii+i]); cblas_zscal(M, CBLAS_SADDR(alpha), &A[LDA*(ii+i)], 1); cblas_zcopy(M, &A[LDA*(ii+i)], 1, &WORK[LDWORK*i], 1); cblas_zgeru( @@ -210,7 +210,7 @@ int CORE_ztstrf(int M, int N, int IB, int NB, } } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zttlqt.c b/coreblas/compute/core_zttlqt.c index 3c0aa09b83070f07a8698e7f92cb857edaeff3fb..6abd97c435fbbc5e607023cb7ee56e22f4c3b282 100644 --- a/coreblas/compute/core_zttlqt.c +++ b/coreblas/compute/core_zttlqt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Dulceneia Becker * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zttlqt computes a LQ factorization of a rectangular matrix * formed by coupling side-by-side a complex M-by-M lower triangular tile A1 @@ -96,24 +96,24 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ int CORE_zttlqt(int M, int N, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *TAU, MORSE_Complex64_t *WORK) + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *TAU, CHAMELEON_Complex64_t *WORK) { - static MORSE_Complex64_t zone = 1.0; - static MORSE_Complex64_t zzero = 0.0; + static CHAMELEON_Complex64_t zone = 1.0; + static CHAMELEON_Complex64_t zzero = 0.0; #if defined(PRECISION_z) || defined(PRECISION_c) static int ione = 1; #endif - MORSE_Complex64_t alpha; + CHAMELEON_Complex64_t alpha; int i, j, l, ii, sb, mi, ni; /* Check input arguments */ @@ -136,11 +136,11 @@ int CORE_zttlqt(int M, int N, int IB, /* Quick return */ if ((M == 0) || (N == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* TODO: Need to check why some cases require * this to not have uninitialized values */ - CORE_zlaset( MorseUpperLower, IB, N, + CORE_zlaset( ChamUpperLower, IB, N, 0., 0., T, LDT); for(ii = 0; ii < M; ii += IB) { @@ -168,7 +168,7 @@ int CORE_zttlqt(int M, int N, int IB, WORK, 1); cblas_zgemv( - CblasColMajor, (CBLAS_TRANSPOSE)MorseNoTrans, + CblasColMajor, (CBLAS_TRANSPOSE)ChamNoTrans, mi, ni, CBLAS_SADDR(zone), &A2[j+1], LDA2, &A2[j], LDA2, @@ -197,7 +197,7 @@ int CORE_zttlqt(int M, int N, int IB, alpha = -(TAU[j]); CORE_zpemv( - MorseNoTrans, MorseRowwise, + ChamNoTrans, ChamRowwise, i , chameleon_min(j, N), l, alpha, &A2[ii], LDA2, &A2[j], LDA2, @@ -206,9 +206,9 @@ int CORE_zttlqt(int M, int N, int IB, /* T(0:i-1, j) = T(0:i-1, ii:j-1) * T(0:i-1, j) */ cblas_ztrmv( - CblasColMajor, (CBLAS_UPLO)MorseUpper, - (CBLAS_TRANSPOSE)MorseNoTrans, - (CBLAS_DIAG)MorseNonUnit, + CblasColMajor, (CBLAS_UPLO)ChamUpper, + (CBLAS_TRANSPOSE)ChamNoTrans, + (CBLAS_DIAG)ChamNonUnit, i, &T[LDT*ii], LDT, &T[LDT*j], 1); @@ -228,8 +228,8 @@ int CORE_zttlqt(int M, int N, int IB, ni = chameleon_min(ii+sb, N); l = chameleon_min(sb, chameleon_max(0, ni-ii)); CORE_zparfb( - MorseRight, MorseNoTrans, - MorseForward, MorseRowwise, + ChamRight, ChamNoTrans, + ChamDirForward, ChamRowwise, mi, IB, mi, ni, sb, l, &A1[LDA1*ii+ii+sb], LDA1, &A2[ii+sb], LDA2, @@ -239,7 +239,7 @@ int CORE_zttlqt(int M, int N, int IB, } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zttmlq.c b/coreblas/compute/core_zttmlq.c index d08418881a1925760d7bcdd1ebd78aee399329b1..815cf872f75d1428a33aa28d0ca6d66ba77eb2c7 100644 --- a/coreblas/compute/core_zttmlq.c +++ b/coreblas/compute/core_zttmlq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Dulceneia Becker * @author Mathieu Faverge @@ -27,7 +27,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zttmlq overwrites the general complex M1-by-N1 tile A1 and * M2-by-N2 tile A2 (N1 == N2) with @@ -49,12 +49,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M1 * The number of rows of the tile A1. M1 >= 0. @@ -114,18 +114,18 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -int CORE_zttmlq(MORSE_enum side, MORSE_enum trans, +int CORE_zttmlq(cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK, int LDWORK) + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK, int LDWORK) { int i, i1, i3, l; int NW; @@ -138,20 +138,20 @@ int CORE_zttmlq(MORSE_enum side, MORSE_enum trans, int ni2 = N2; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { coreblas_error(1, "Illegal value of side"); return -1; } /* NQ is the order of Q */ - if (side == MorseLeft) { + if (side == ChamLeft) { NW = IB; } else { NW = N1; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { coreblas_error(2, "Illegal value of trans"); return -2; } @@ -164,18 +164,18 @@ int CORE_zttmlq(MORSE_enum side, MORSE_enum trans, return -4; } if ((M2 < 0) || - ( (side == MorseRight) && (M1 != M2) ) ) { + ( (side == ChamRight) && (M1 != M2) ) ) { coreblas_error(5, "Illegal value of M2"); return -5; } if ((N2 < 0) || - ( (side == MorseLeft) && (N1 != N2) ) ) { + ( (side == ChamLeft) && (N1 != N2) ) ) { coreblas_error(6, "Illegal value of N2"); return -6; } if ((K < 0) || - ( (side == MorseLeft) && (K > M1) ) || - ( (side == MorseRight) && (K > N1) ) ) { + ( (side == ChamLeft) && (K > M1) ) || + ( (side == ChamRight) && (K > N1) ) ) { coreblas_error(7, "Illegal value of K"); return -7; } @@ -206,10 +206,10 @@ int CORE_zttmlq(MORSE_enum side, MORSE_enum trans, /* Quick return */ if ((M1 == 0) || (N1 == 0) || (M2 == 0) || (N2 == 0) || (K == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (((side == MorseLeft) && (trans == MorseNoTrans)) - || ((side == MorseRight) && (trans != MorseNoTrans))) { + if (((side == ChamLeft) && (trans == ChamNoTrans)) + || ((side == ChamRight) && (trans != ChamNoTrans))) { i1 = 0; i3 = IB; } @@ -219,17 +219,17 @@ int CORE_zttmlq(MORSE_enum side, MORSE_enum trans, } /* Transpose */ - if (trans == MorseNoTrans) { - trans = MorseConjTrans; + if (trans == ChamNoTrans) { + trans = ChamConjTrans; } else { - trans = MorseNoTrans; + trans = ChamNoTrans; } for (i = i1; (i > -1) && (i < K); i+=i3) { kb = chameleon_min(IB, K-i); - if (side == MorseLeft) { + if (side == ChamLeft) { mi1 = kb; // M1 - i; mi2 = chameleon_min(i+kb, M2); l = chameleon_min(kb, chameleon_max(0, M2-i)); @@ -246,7 +246,7 @@ int CORE_zttmlq(MORSE_enum side, MORSE_enum trans, * Apply H or H' (NOTE: CORE_zparfb used to be CORE_zttrfb) */ CORE_zparfb( - side, trans, MorseForward, MorseRowwise, + side, trans, ChamDirForward, ChamRowwise, mi1, ni1, mi2, ni2, kb, l, &A1[LDA1*jc+ic], LDA1, A2, LDA2, @@ -254,7 +254,7 @@ int CORE_zttmlq(MORSE_enum side, MORSE_enum trans, &T[LDT*i], LDT, WORK, LDWORK); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zttmqr.c b/coreblas/compute/core_zttmqr.c index 446f7a875825664f46cf986396eb08c203ce47c1..f7a9142d353de7eaa5d1f3cc6d9615d98b875301 100644 --- a/coreblas/compute/core_zttmqr.c +++ b/coreblas/compute/core_zttmqr.c @@ -12,7 +12,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Dulceneia Becker * @author Mathieu Faverge @@ -26,7 +26,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zttmqr overwrites the general complex M1-by-N1 tile A1 and * M2-by-N2 tile A2 (N1 == N2) with @@ -48,12 +48,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M1 * The number of rows of the tile A1. M1 >= 0. @@ -113,18 +113,18 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -int CORE_zttmqr(MORSE_enum side, MORSE_enum trans, +int CORE_zttmqr(cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK, int LDWORK) + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK, int LDWORK) { int i, i1, i3; int NQ, NW; @@ -137,13 +137,13 @@ int CORE_zttmqr(MORSE_enum side, MORSE_enum trans, int ni2 = N2; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { coreblas_error(1, "Illegal value of side"); return -1; } /* NQ is the order of Q */ - if (side == MorseLeft) { + if (side == ChamLeft) { NQ = M2; NW = IB; } @@ -152,7 +152,7 @@ int CORE_zttmqr(MORSE_enum side, MORSE_enum trans, NW = M1; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { coreblas_error(2, "Illegal value of trans"); return -2; } @@ -165,18 +165,18 @@ int CORE_zttmqr(MORSE_enum side, MORSE_enum trans, return -4; } if ( (M2 < 0) || - ( (M2 != M1) && (side == MorseRight) ) ){ + ( (M2 != M1) && (side == ChamRight) ) ){ coreblas_error(5, "Illegal value of M2"); return -5; } if ( (N2 < 0) || - ( (N2 != N1) && (side == MorseLeft) ) ){ + ( (N2 != N1) && (side == ChamLeft) ) ){ coreblas_error(6, "Illegal value of N2"); return -6; } if ((K < 0) || - ( (side == MorseLeft) && (K > M1) ) || - ( (side == MorseRight) && (K > N1) ) ) { + ( (side == ChamLeft) && (K > M1) ) || + ( (side == ChamRight) && (K > N1) ) ) { coreblas_error(7, "Illegal value of K"); return -7; } @@ -207,10 +207,10 @@ int CORE_zttmqr(MORSE_enum side, MORSE_enum trans, /* Quick return */ if ((M1 == 0) || (N1 == 0) || (M2 == 0) || (N2 == 0) || (K == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (((side == MorseLeft) && (trans != MorseNoTrans)) - || ((side == MorseRight) && (trans == MorseNoTrans))) { + if (((side == ChamLeft) && (trans != ChamNoTrans)) + || ((side == ChamRight) && (trans == ChamNoTrans))) { i1 = 0; i3 = IB; } @@ -222,7 +222,7 @@ int CORE_zttmqr(MORSE_enum side, MORSE_enum trans, for (i = i1; (i > -1) && (i < K); i+=i3) { kb = chameleon_min(IB, K-i); - if (side == MorseLeft) { + if (side == ChamLeft) { mi1 = kb; mi2 = chameleon_min(i+kb, M2); l = chameleon_min(kb, chameleon_max(0, M2-i)); @@ -239,7 +239,7 @@ int CORE_zttmqr(MORSE_enum side, MORSE_enum trans, * Apply H or H' (NOTE: CORE_zparfb used to be CORE_zttrfb) */ CORE_zparfb( - side, trans, MorseForward, MorseColumnwise, + side, trans, ChamDirForward, ChamColumnwise, mi1, ni1, mi2, ni2, kb, l, A1 + LDA1*jc+ic, LDA1, A2, LDA2, @@ -247,7 +247,7 @@ int CORE_zttmqr(MORSE_enum side, MORSE_enum trans, T + LDT*i, LDT, WORK, LDWORK); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zttqrt.c b/coreblas/compute/core_zttqrt.c index a55d6d7d38736331d3ebf7833af8524d2e7de619..3da97a4ec590921c5e01892468ec5230ca29b1af 100644 --- a/coreblas/compute/core_zttqrt.c +++ b/coreblas/compute/core_zttqrt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Dulceneia Becker * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zttqrt computes a QR factorization of a rectangular matrix * formed by coupling a complex N-by-N upper triangular tile A1 @@ -96,22 +96,22 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ int CORE_zttqrt(int M, int N, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *TAU, MORSE_Complex64_t *WORK) + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *TAU, CHAMELEON_Complex64_t *WORK) { static int ione = 1; - static MORSE_Complex64_t zone = 1.0; - static MORSE_Complex64_t zzero = 0.0; + static CHAMELEON_Complex64_t zone = 1.0; + static CHAMELEON_Complex64_t zzero = 0.0; - MORSE_Complex64_t alpha; + CHAMELEON_Complex64_t alpha; int i, j, l, ii, sb, mi, ni; /* Check input arguments */ @@ -134,11 +134,11 @@ int CORE_zttqrt(int M, int N, int IB, /* Quick return */ if ((M == 0) || (N == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; /* TODO: Need to check why some cases require * this to not have uninitialized values */ - CORE_zlaset( MorseUpperLower, IB, N, + CORE_zlaset( ChamUpperLower, IB, N, 0., 0., T, LDT); for (ii = 0; ii < N; ii += IB) { @@ -168,7 +168,7 @@ int CORE_zttqrt(int M, int N, int IB, LAPACKE_zlacgv_work(ni, WORK, 1); #endif cblas_zgemv( - CblasColMajor, (CBLAS_TRANSPOSE)MorseConjTrans, + CblasColMajor, (CBLAS_TRANSPOSE)ChamConjTrans, mi, ni, CBLAS_SADDR(zone), &A2[LDA2*(j+1)], LDA2, &A2[LDA2*j], 1, @@ -203,7 +203,7 @@ int CORE_zttqrt(int M, int N, int IB, alpha = -(TAU[j]); CORE_zpemv( - MorseConjTrans, MorseColumnwise, + ChamConjTrans, ChamColumnwise, chameleon_min(j, M), i, l, alpha, &A2[LDA2*ii], LDA2, &A2[LDA2*j], 1, @@ -212,9 +212,9 @@ int CORE_zttqrt(int M, int N, int IB, /* T(0:i-1, j) = T(0:i-1, ii:j-1) * T(0:i-1, j) */ cblas_ztrmv( - CblasColMajor, (CBLAS_UPLO)MorseUpper, - (CBLAS_TRANSPOSE)MorseNoTrans, - (CBLAS_DIAG)MorseNonUnit, + CblasColMajor, (CBLAS_UPLO)ChamUpper, + (CBLAS_TRANSPOSE)ChamNoTrans, + (CBLAS_DIAG)ChamNonUnit, i, &T[LDT*ii], LDT, &T[LDT*j], 1); @@ -229,8 +229,8 @@ int CORE_zttqrt(int M, int N, int IB, ni = N-(ii+sb); l = chameleon_min(sb, chameleon_max(0, mi-ii)); CORE_zparfb( - MorseLeft, MorseConjTrans, - MorseForward, MorseColumnwise, + ChamLeft, ChamConjTrans, + ChamDirForward, ChamColumnwise, IB, ni, mi, ni, sb, l, //replaced sb by IB &A1[LDA1*(ii+sb)+ii], LDA1, &A2[LDA2*(ii+sb)], LDA2, @@ -239,7 +239,7 @@ int CORE_zttqrt(int M, int N, int IB, WORK, sb); } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zunmlq.c b/coreblas/compute/core_zunmlq.c index 8b3f398cc01de09424ab1d73a4aee2313005d9f3..e6f3b0f0e7db41d7d820ea26bb5b3ff2392bcbb0 100644 --- a/coreblas/compute/core_zunmlq.c +++ b/coreblas/compute/core_zunmlq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Dulceneia Becker @@ -29,7 +29,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zunmlq overwrites the general complex M-by-N tile C with * @@ -48,12 +48,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : Transpose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : Transpose, apply Q**H. * * @param[in] M * The number of rows of the tile C. M >= 0. @@ -64,15 +64,15 @@ * @param[in] K * The number of elementary reflectors whose product defines * the matrix Q. - * If SIDE = MorseLeft, M >= K >= 0; - * if SIDE = MorseRight, N >= K >= 0. + * If SIDE = ChamLeft, M >= K >= 0; + * if SIDE = ChamRight, N >= K >= 0. * * @param[in] IB * The inner-blocking size. IB >= 0. * * @param[in] A - * Dimension: (LDA,M) if SIDE = MorseLeft, - * (LDA,N) if SIDE = MorseRight, + * Dimension: (LDA,M) if SIDE = ChamLeft, + * (LDA,N) if SIDE = ChamRight, * The i-th row must contain the vector which defines the * elementary reflector H(i), for i = 1,2,...,k, as returned by * CORE_zgelqt in the first k rows of its array argument A. @@ -100,23 +100,23 @@ * * @param[in] LDWORK * The dimension of the array WORK. - * If SIDE = MorseLeft, LDWORK >= max(1,N); - * if SIDE = MorseRight, LDWORK >= max(1,M). + * If SIDE = ChamLeft, LDWORK >= max(1,N); + * if SIDE = ChamRight, LDWORK >= max(1,M). * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -int CORE_zunmlq(MORSE_enum side, MORSE_enum trans, +int CORE_zunmlq(cham_side_t side, cham_trans_t trans, int M, int N, int K, int IB, - const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *C, int LDC, - MORSE_Complex64_t *WORK, int LDWORK) + const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *C, int LDC, + CHAMELEON_Complex64_t *WORK, int LDWORK) { int i, kb; int i1, i3; @@ -127,14 +127,14 @@ int CORE_zunmlq(MORSE_enum side, MORSE_enum trans, int mi = M; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { coreblas_error(1, "Illegal value of side"); return -1; } /* * NQ is the order of Q and NW is the minimum dimension of WORK */ - if (side == MorseLeft) { + if (side == ChamLeft) { nq = M; nw = N; } @@ -143,7 +143,7 @@ int CORE_zunmlq(MORSE_enum side, MORSE_enum trans, nw = M; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { coreblas_error(2, "Illegal value of trans"); return -2; } @@ -178,10 +178,10 @@ int CORE_zunmlq(MORSE_enum side, MORSE_enum trans, /* Quick return */ if ((M == 0) || (N == 0) || (K == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (((side == MorseLeft) && (trans == MorseNoTrans)) - || ((side == MorseRight) && (trans != MorseNoTrans))) { + if (((side == ChamLeft) && (trans == ChamNoTrans)) + || ((side == ChamRight) && (trans != ChamNoTrans))) { i1 = 0; i3 = IB; } @@ -190,17 +190,17 @@ int CORE_zunmlq(MORSE_enum side, MORSE_enum trans, i3 = -IB; } - if( trans == MorseNoTrans) { - trans = MorseConjTrans; + if( trans == ChamNoTrans) { + trans = ChamConjTrans; } else { - trans = MorseNoTrans; + trans = ChamNoTrans; } for(i = i1; (i >- 1) && (i < K); i+=i3 ) { kb = chameleon_min(IB, K-i); - if (side == MorseLeft) { + if (side == ChamLeft) { /* * H or H' is applied to C(i:m,1:n) */ @@ -218,17 +218,17 @@ int CORE_zunmlq(MORSE_enum side, MORSE_enum trans, * Apply H or H' */ LAPACKE_zlarfb_work(LAPACK_COL_MAJOR, - morse_lapack_const(side), - morse_lapack_const(trans), - morse_lapack_const(MorseForward), - morse_lapack_const(MorseRowwise), + chameleon_lapack_const(side), + chameleon_lapack_const(trans), + chameleon_lapack_const(ChamDirForward), + chameleon_lapack_const(ChamRowwise), mi, ni, kb, &A[LDA*i+i], LDA, &T[LDT*i], LDT, &C[LDC*jc+ic], LDC, WORK, LDWORK); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/core_zunmqr.c b/coreblas/compute/core_zunmqr.c index 7504f2ca04044abaa1acd1f8f57cda5ee28f0dfe..30e7ad3355ca7bfb2a82c8d1438d4a645daa6e76 100644 --- a/coreblas/compute/core_zunmqr.c +++ b/coreblas/compute/core_zunmqr.c @@ -14,7 +14,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -29,7 +29,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zunmqr overwrites the general complex M-by-N tile C with * @@ -48,12 +48,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : Transpose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : Transpose, apply Q**H. * * @param[in] M * The number of rows of the tile C. M >= 0. @@ -64,8 +64,8 @@ * @param[in] K * The number of elementary reflectors whose product defines * the matrix Q. - * If SIDE = MorseLeft, M >= K >= 0; - * if SIDE = MorseRight, N >= K >= 0. + * If SIDE = ChamLeft, M >= K >= 0; + * if SIDE = ChamRight, N >= K >= 0. * * @param[in] IB * The inner-blocking size. IB >= 0. @@ -78,8 +78,8 @@ * * @param[in] LDA * The leading dimension of the array A. - * If SIDE = MorseLeft, LDA >= max(1,M); - * if SIDE = MorseRight, LDA >= max(1,N). + * If SIDE = ChamLeft, LDA >= max(1,M); + * if SIDE = ChamRight, LDA >= max(1,N). * * @param[in] T * The IB-by-K triangular factor T of the block reflector. @@ -101,23 +101,23 @@ * * @param[in] LDWORK * The dimension of the array WORK. - * If SIDE = MorseLeft, LDWORK >= max(1,N); - * if SIDE = MorseRight, LDWORK >= max(1,M). + * If SIDE = ChamLeft, LDWORK >= max(1,N); + * if SIDE = ChamRight, LDWORK >= max(1,M). * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -int CORE_zunmqr(MORSE_enum side, MORSE_enum trans, +int CORE_zunmqr(cham_side_t side, cham_trans_t trans, int M, int N, int K, int IB, - const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *C, int LDC, - MORSE_Complex64_t *WORK, int LDWORK) + const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *C, int LDC, + CHAMELEON_Complex64_t *WORK, int LDWORK) { int i, kb; int i1, i3; @@ -128,14 +128,14 @@ int CORE_zunmqr(MORSE_enum side, MORSE_enum trans, int mi = M; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { coreblas_error(1, "Illegal value of side"); return -1; } /* * NQ is the order of Q and NW is the minimum dimension of WORK */ - if (side == MorseLeft) { + if (side == ChamLeft) { nq = M; nw = N; } @@ -144,7 +144,7 @@ int CORE_zunmqr(MORSE_enum side, MORSE_enum trans, nw = M; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { coreblas_error(2, "Illegal value of trans"); return -2; } @@ -179,10 +179,10 @@ int CORE_zunmqr(MORSE_enum side, MORSE_enum trans, /* Quick return */ if ((M == 0) || (N == 0) || (K == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (((side == MorseLeft) && (trans != MorseNoTrans)) - || ((side == MorseRight) && (trans == MorseNoTrans))) { + if (((side == ChamLeft) && (trans != ChamNoTrans)) + || ((side == ChamRight) && (trans == ChamNoTrans))) { i1 = 0; i3 = IB; } @@ -194,7 +194,7 @@ int CORE_zunmqr(MORSE_enum side, MORSE_enum trans, for(i = i1; (i >- 1) && (i < K); i+=i3 ) { kb = chameleon_min(IB, K-i); - if (side == MorseLeft) { + if (side == ChamLeft) { /* * H or H' is applied to C(i:m,1:n) */ @@ -212,17 +212,17 @@ int CORE_zunmqr(MORSE_enum side, MORSE_enum trans, * Apply H or H' */ LAPACKE_zlarfb_work(LAPACK_COL_MAJOR, - morse_lapack_const(side), - morse_lapack_const(trans), - morse_lapack_const(MorseForward), - morse_lapack_const(MorseColumnwise), + chameleon_lapack_const(side), + chameleon_lapack_const(trans), + chameleon_lapack_const(ChamDirForward), + chameleon_lapack_const(ChamColumnwise), mi, ni, kb, &A[LDA*i+i], LDA, &T[LDT*i], LDT, &C[LDC*jc+ic], LDC, WORK, LDWORK); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/coreblas/compute/global.c b/coreblas/compute/global.c index 7296f8f00b47b3a0b201fb03ba0fcb7eddcc005a..e8167a8bf6f80a42ea9e14a3ffedc17ba09632ec 100644 --- a/coreblas/compute/global.c +++ b/coreblas/compute/global.c @@ -32,7 +32,7 @@ get_coreblas_gemm3m_enabled(void) { /** * LAPACK Constants */ -char *morse_lapack_constants[] = +char *chameleon_lapack_constants[] = { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", @@ -45,22 +45,22 @@ char *morse_lapack_constants[] = "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", // 100 - "Row", // 101: MorseRowMajor - "Column", // 102: MorseColMajor + "Row", // 101: ChamRowMajor + "Column", // 102: ChamColMajor "", "", "", "", "", "", "", "", - "No transpose", // 111: MorseNoTrans - "Transpose", // 112: MorseTrans - "Conjugate transpose", // 113: MorseConjTrans + "No transpose", // 111: ChamNoTrans + "Transpose", // 112: ChamTrans + "Conjugate transpose", // 113: ChamConjTrans "", "", "", "", "", "", "", - "Upper", // 121: MorseUpper - "Lower", // 122: MorseLower - "All", // 123: MorseUpperLower + "Upper", // 121: ChamUpper + "Lower", // 122: ChamLower + "All", // 123: ChamUpperLower "", "", "", "", "", "", "", - "Non-unit", // 131: MorseNonUnit - "Unit", // 132: MorseUnit + "Non-unit", // 131: ChamNonUnit + "Unit", // 132: ChamUnit "", "", "", "", "", "", "", "", - "Left", // 141: MorseLeft - "Right", // 142: MorseRight + "Left", // 141: ChamLeft + "Right", // 142: ChamRight "", "", "", "", "", "", "", "", "", // 151: "", // 152: @@ -68,55 +68,55 @@ char *morse_lapack_constants[] = "", // 154: "", // 155: "", // 156: - "Epsilon", // 157: MorseEps + "Epsilon", // 157: ChamEps "", // 158: "", // 159: "", // 160: "", "", "", "", "", "", "", "", "", "", - "One norm", // 171: MorseOneNorm - "", // 172: MorseRealOneNorm - "", // 173: MorseTwoNorm - "Frobenius norm", // 174: MorseFrobeniusNorm - "Infinity norm", // 175: MorseInfNorm - "", // 176: MorseRealInfNorm - "Maximum norm", // 177: MorseMaxNorm - "", // 178: MorseRealMaxNorm + "One norm", // 171: ChamOneNorm + "", // 172: ChamRealOneNorm + "", // 173: ChamTwoNorm + "Frobenius norm", // 174: ChamFrobeniusNorm + "Infinity norm", // 175: ChamInfNorm + "", // 176: ChamRealInfNorm + "Maximum norm", // 177: ChamMaxNorm + "", // 178: ChamRealMaxNorm "", // 179 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", // 200 - "Uniform", // 201: MorseDistUniform - "Symmetric", // 202: MorseDistSymmetric - "Normal", // 203: MorseDistNormal + "Uniform", // 201: ChamDistUniform + "Symmetric", // 202: ChamDistSymmetric + "Normal", // 203: ChamDistNormal "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", // 240 - "Hermitian", // 241 MorseHermGeev - "Positive ev Hermitian",// 242 MorseHermPoev - "NonSymmetric pos sv", // 243 MorseNonsymPosv - "Symmetric pos sv", // 244 MorseSymPosv + "Hermitian", // 241 ChamHermGeev + "Positive ev Hermitian",// 242 ChamHermPoev + "NonSymmetric pos sv", // 243 ChamNonsymPosv + "Symmetric pos sv", // 244 ChamSymPosv "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", // 290 - "No Packing", // 291 MorseNoPacking - "U zero out subdiag", // 292 MorsePackSubdiag - "L zero out superdiag", // 293 MorsePackSupdiag - "C", // 294 MorsePackColumn - "R", // 295 MorsePackRow - "B", // 296 MorsePackLowerBand - "Q", // 297 MorsePackUpeprBand - "Z", // 298 MorsePackAll + "No Packing", // 291 ChamNoPacking + "U zero out subdiag", // 292 ChamPackSubdiag + "L zero out superdiag", // 293 ChamPackSupdiag + "C", // 294 ChamPackColumn + "R", // 295 ChamPackRow + "B", // 296 ChamPackLowerBand + "Q", // 297 ChamPackUpeprBand + "Z", // 298 ChamPackAll "", // 299 "", // 300 - "No vectors", // 301 MorseNoVec - "Vectors needed", // 302 MorseVec - "I", // 303 MorseIvec + "No vectors", // 301 ChamNoVec + "Vectors needed", // 302 ChamVec + "I", // 303 ChamIvec "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", diff --git a/coreblas/eztrace_module/CMakeLists.txt b/coreblas/eztrace_module/CMakeLists.txt index 5ae5c17175209a5c32a9c6c1cf96403d8978de04..75f29d677209fd3cdb069d558ca952bb7e7bdfe8 100644 --- a/coreblas/eztrace_module/CMakeLists.txt +++ b/coreblas/eztrace_module/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/coreblas/eztrace_module/coreblas_eztrace_module b/coreblas/eztrace_module/coreblas_eztrace_module index 20e7ccc16c8c71da9444f9bf229ffa5cd565e667..dca1e36d9e89400b90540eabed8170c493390fb0 100644 --- a/coreblas/eztrace_module/coreblas_eztrace_module +++ b/coreblas/eztrace_module/coreblas_eztrace_module @@ -3,6 +3,8 @@ NAME chameleon_core DESC "Module for Chameleon CORE functions" ID 7770 +#include <chameleon.h> + void CORE_scasum(int storev, int uplo, int M, int N, void *A, int lda, float *work); void CORE_cbrdalg(int uplo, int N, int NB, diff --git a/coreblas/include/CMakeLists.txt b/coreblas/include/CMakeLists.txt index 3f8b4bd7afa9bd5a9fffd575b8e07a3b700bca95..b2815ff671f0be3275d7fe54dd906a166a21a432 100644 --- a/coreblas/include/CMakeLists.txt +++ b/coreblas/include/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/coreblas/include/coreblas.h b/coreblas/include/coreblas.h index d180bcfb121d1429c06d67d04e49165fc8185c3c..92b4bb8b245d60efdadb1ad69a3334fd4714d556 100644 --- a/coreblas/include/coreblas.h +++ b/coreblas/include/coreblas.h @@ -35,12 +35,12 @@ #include "coreblas/cblas.h" /** - * MORSE types and constants + * CHAMELEON types and constants */ -#include "chameleon/chameleon_config.h" -#include "chameleon/morse_types.h" -#include "chameleon/morse_struct.h" -#include "chameleon/morse_constants.h" +#include "chameleon/config.h" +#include "chameleon/types.h" +#include "chameleon/struct.h" +#include "chameleon/constants.h" /** * CORE BLAS headers @@ -77,8 +77,8 @@ END_C_DECLS */ BEGIN_C_DECLS -extern char *morse_lapack_constants[]; -#define morse_lapack_const(morse_const) morse_lapack_constants[morse_const][0] +extern char *chameleon_lapack_constants[]; +#define chameleon_lapack_const(chameleon_const) chameleon_lapack_constants[chameleon_const][0] void set_coreblas_gemm3m_enabled( int v ); int get_coreblas_gemm3m_enabled( void ); diff --git a/coreblas/include/coreblas/coreblas_z.h b/coreblas/include/coreblas/coreblas_z.h index 4589e60f9867d9fa98fabde61ace3fda9c61db7b..22f9fbdb251c63826b459a488161ed500971a53b 100644 --- a/coreblas/include/coreblas/coreblas_z.h +++ b/coreblas/include/coreblas/coreblas_z.h @@ -9,11 +9,11 @@ * *** * - * @brief Chameleon CPU MORSE_Complex64_t kernels header + * @brief Chameleon CPU CHAMELEON_Complex64_t kernels header * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Hatem Ltaief * @author Azzam Haidar @@ -24,379 +24,379 @@ * @precisions normal z -> c d s * */ -#ifndef _MORSE_CORE_ZBLAS_H_ -#define _MORSE_CORE_ZBLAS_H_ +#ifndef _CHAMELEON_CORE_ZBLAS_H_ +#define _CHAMELEON_CORE_ZBLAS_H_ /** * Declarations of serial kernels - alphabetical order */ -void CORE_dzasum(int storev, MORSE_enum uplo, int M, int N, - const MORSE_Complex64_t *A, int lda, double *work); -void CORE_zbrdalg(MORSE_enum uplo, int N, int NB, - const MORSE_desc_t *pA, MORSE_Complex64_t *C, MORSE_Complex64_t *S, +void CORE_dzasum(cham_store_t storev, cham_uplo_t uplo, int M, int N, + const CHAMELEON_Complex64_t *A, int lda, double *work); +void CORE_zbrdalg(cham_uplo_t uplo, int N, int NB, + const CHAM_desc_t *pA, CHAMELEON_Complex64_t *C, CHAMELEON_Complex64_t *S, int i, int j, int m, int grsiz); -int CORE_zgbelr(MORSE_enum uplo, int N, - MORSE_desc_t *A, MORSE_Complex64_t *V, MORSE_Complex64_t *TAU, +int CORE_zgbelr(cham_uplo_t uplo, int N, + CHAM_desc_t *A, CHAMELEON_Complex64_t *V, CHAMELEON_Complex64_t *TAU, int st, int ed, int eltsize); -int CORE_zgbrce(MORSE_enum uplo, int N, - MORSE_desc_t *A, MORSE_Complex64_t *V, MORSE_Complex64_t *TAU, +int CORE_zgbrce(cham_uplo_t uplo, int N, + CHAM_desc_t *A, CHAMELEON_Complex64_t *V, CHAMELEON_Complex64_t *TAU, int st, int ed, int eltsize); -int CORE_zgblrx(MORSE_enum uplo, int N, - MORSE_desc_t *A, MORSE_Complex64_t *V, MORSE_Complex64_t *TAU, +int CORE_zgblrx(cham_uplo_t uplo, int N, + CHAM_desc_t *A, CHAMELEON_Complex64_t *V, CHAMELEON_Complex64_t *TAU, int st, int ed, int eltsize); -int CORE_zaxpy(int M, MORSE_Complex64_t alpha, - const MORSE_Complex64_t *A, int incA, - MORSE_Complex64_t *B, int incB); -int CORE_zgeadd(MORSE_enum trans, int M, int N, - MORSE_Complex64_t alpha, - const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, - MORSE_Complex64_t *B, int LDB); -int CORE_zlascal( MORSE_enum uplo, int m, int n, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int lda ); +int CORE_zaxpy(int M, CHAMELEON_Complex64_t alpha, + const CHAMELEON_Complex64_t *A, int incA, + CHAMELEON_Complex64_t *B, int incB); +int CORE_zgeadd(cham_trans_t trans, int M, int N, + CHAMELEON_Complex64_t alpha, + const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, + CHAMELEON_Complex64_t *B, int LDB); +int CORE_zlascal( cham_uplo_t uplo, int m, int n, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int lda ); int CORE_zgelqt(int M, int N, int IB, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *TAU, - MORSE_Complex64_t *WORK); -void CORE_zgemm(MORSE_enum transA, MORSE_enum transB, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *TAU, + CHAMELEON_Complex64_t *WORK); +void CORE_zgemm(cham_trans_t transA, cham_trans_t transB, int M, int N, int K, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC); + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC); int CORE_zgeqrt(int M, int N, int IB, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *TAU, MORSE_Complex64_t *WORK); -int CORE_zgesplit(MORSE_enum side, MORSE_enum diag, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *TAU, CHAMELEON_Complex64_t *WORK); +int CORE_zgesplit(cham_side_t side, cham_diag_t diag, int M, int N, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB); + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB); int CORE_zgessm(int M, int N, int K, int IB, const int *IPIV, - const MORSE_Complex64_t *L, int LDL, - MORSE_Complex64_t *A, int LDA); + const CHAMELEON_Complex64_t *L, int LDL, + CHAMELEON_Complex64_t *A, int LDA); int CORE_zgessq(int M, int N, - const MORSE_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *A, int LDA, double *scale, double *sumsq); int CORE_zgetf2_nopiv(int M, int N, - MORSE_Complex64_t *A, int LDA); + CHAMELEON_Complex64_t *A, int LDA); int CORE_zgetrf(int M, int N, - MORSE_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *A, int LDA, int *IPIV, int *INFO); int CORE_zgetrf_incpiv(int M, int N, int IB, - MORSE_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *A, int LDA, int *IPIV, int *INFO); int CORE_zgetrf_nopiv(int M, int N, int IB, - MORSE_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *A, int LDA, int *INFO); int CORE_zgetrf_reclap(int M, int N, - MORSE_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *A, int LDA, int *IPIV, int *info); -int CORE_zgetrf_rectil(const MORSE_desc_t A, int *IPIV, int *info); -void CORE_zgetrip(int m, int n, MORSE_Complex64_t *A, - MORSE_Complex64_t *work); -void CORE_zhe2ge(MORSE_enum uplo, int M, int N, - const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB); -int CORE_zhbelr(MORSE_enum uplo, int N, - MORSE_desc_t *A, MORSE_Complex64_t *V, MORSE_Complex64_t *TAU, +int CORE_zgetrf_rectil(const CHAM_desc_t A, int *IPIV, int *info); +void CORE_zgetrip(int m, int n, CHAMELEON_Complex64_t *A, + CHAMELEON_Complex64_t *work); +void CORE_zhe2ge(cham_uplo_t uplo, int M, int N, + const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB); +int CORE_zhbelr(cham_uplo_t uplo, int N, + CHAM_desc_t *A, CHAMELEON_Complex64_t *V, CHAMELEON_Complex64_t *TAU, int st, int ed, int eltsize); -int CORE_zhblrx(MORSE_enum uplo, int N, - MORSE_desc_t *A, MORSE_Complex64_t *V, MORSE_Complex64_t *TAU, +int CORE_zhblrx(cham_uplo_t uplo, int N, + CHAM_desc_t *A, CHAMELEON_Complex64_t *V, CHAMELEON_Complex64_t *TAU, int st, int ed, int eltsize); -int CORE_zhbrce(MORSE_enum uplo, int N, - MORSE_desc_t *A, MORSE_Complex64_t *V, MORSE_Complex64_t *TAU, +int CORE_zhbrce(cham_uplo_t uplo, int N, + CHAM_desc_t *A, CHAMELEON_Complex64_t *V, CHAMELEON_Complex64_t *TAU, int st, int ed, int eltsize); void CORE_zhbtype1cb(int N, int NB, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *V, MORSE_Complex64_t *TAU, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *V, CHAMELEON_Complex64_t *TAU, int st, int ed, int sweep, int Vblksiz, int WANTZ, - MORSE_Complex64_t *WORK); + CHAMELEON_Complex64_t *WORK); void CORE_zhbtype2cb(int N, int NB, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *V, MORSE_Complex64_t *TAU, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *V, CHAMELEON_Complex64_t *TAU, int st, int ed, int sweep, int Vblksiz, int WANTZ, - MORSE_Complex64_t *WORK); + CHAMELEON_Complex64_t *WORK); void CORE_zhbtype3cb(int N, int NB, - MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *V, const MORSE_Complex64_t *TAU, + CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *V, const CHAMELEON_Complex64_t *TAU, int st, int ed, int sweep, int Vblksiz, int WANTZ, - MORSE_Complex64_t *WORK); -void CORE_zhegst(int itype, MORSE_enum uplo, int N, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, int *INFO); -void CORE_zhemm(MORSE_enum side, MORSE_enum uplo, + CHAMELEON_Complex64_t *WORK); +void CORE_zhegst(int itype, cham_uplo_t uplo, int N, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, int *INFO); +void CORE_zhemm(cham_side_t side, cham_uplo_t uplo, int M, int N, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC); -void CORE_zherk(MORSE_enum uplo, MORSE_enum trans, + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC); +void CORE_zherk(cham_uplo_t uplo, cham_trans_t trans, int N, int K, - double alpha, const MORSE_Complex64_t *A, int LDA, - double beta, MORSE_Complex64_t *C, int LDC); -void CORE_zher2k(MORSE_enum uplo, MORSE_enum trans, + double alpha, const CHAMELEON_Complex64_t *A, int LDA, + double beta, CHAMELEON_Complex64_t *C, int LDC); +void CORE_zher2k(cham_uplo_t uplo, cham_trans_t trans, int N, int K, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *B, int LDB, - double beta, MORSE_Complex64_t *C, int LDC); -int CORE_zhessq(MORSE_enum uplo, int N, - const MORSE_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *B, int LDB, + double beta, CHAMELEON_Complex64_t *C, int LDC); +int CORE_zhessq(cham_uplo_t uplo, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *scale, double *sumsq); -int CORE_zherfb(MORSE_enum uplo, int N, int K, int IB, int NB, - const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *C, int LDC, - MORSE_Complex64_t *WORK, int LDWORK); -void CORE_zlacpy(MORSE_enum uplo, int M, int N, - const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB); -void CORE_zlange(int norm, int M, int N, - const MORSE_Complex64_t *A, int LDA, +int CORE_zherfb(cham_uplo_t uplo, int N, int K, int IB, int NB, + const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *C, int LDC, + CHAMELEON_Complex64_t *WORK, int LDWORK); +void CORE_zlacpy(cham_uplo_t uplo, int M, int N, + const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB); +void CORE_zlange(cham_normtype_t norm, int M, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *work, double *normA); -void CORE_zlanhe(int norm, MORSE_enum uplo, int N, - const MORSE_Complex64_t *A, int LDA, +void CORE_zlanhe(cham_normtype_t norm, cham_uplo_t uplo, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *work, double *normA); -void CORE_zlansy(int norm, MORSE_enum uplo, int N, - const MORSE_Complex64_t *A, int LDA, +void CORE_zlansy(cham_normtype_t norm, cham_uplo_t uplo, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *work, double *normA); -void CORE_zlantr(int norm, MORSE_enum uplo, MORSE_enum diag, int M, int N, - const MORSE_Complex64_t *A, int LDA, +void CORE_zlantr(cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, int M, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *work, double *normA); -int CORE_zlarfb_gemm(MORSE_enum side, MORSE_enum trans, MORSE_enum direct, MORSE_enum storev, +int CORE_zlarfb_gemm(cham_side_t side, cham_trans_t trans, cham_dir_t direct, cham_store_t storev, int M, int N, int K, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *C, int LDC, - MORSE_Complex64_t *WORK, int LDWORK); -int CORE_zlarfx2(MORSE_enum side, int N, - MORSE_Complex64_t V, - MORSE_Complex64_t TAU, - MORSE_Complex64_t *C1, int LDC1, - MORSE_Complex64_t *C2, int LDC2); -int CORE_zlarfx2c(MORSE_enum uplo, - MORSE_Complex64_t V, - MORSE_Complex64_t TAU, - MORSE_Complex64_t *C1, - MORSE_Complex64_t *C2, - MORSE_Complex64_t *C3); -int CORE_zlarfx2ce(MORSE_enum uplo, - MORSE_Complex64_t *V, - MORSE_Complex64_t *TAU, - MORSE_Complex64_t *C1, - MORSE_Complex64_t *C2, - MORSE_Complex64_t *C3); + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *C, int LDC, + CHAMELEON_Complex64_t *WORK, int LDWORK); +int CORE_zlarfx2(cham_side_t side, int N, + CHAMELEON_Complex64_t V, + CHAMELEON_Complex64_t TAU, + CHAMELEON_Complex64_t *C1, int LDC1, + CHAMELEON_Complex64_t *C2, int LDC2); +int CORE_zlarfx2c(cham_uplo_t uplo, + CHAMELEON_Complex64_t V, + CHAMELEON_Complex64_t TAU, + CHAMELEON_Complex64_t *C1, + CHAMELEON_Complex64_t *C2, + CHAMELEON_Complex64_t *C3); +int CORE_zlarfx2ce(cham_uplo_t uplo, + CHAMELEON_Complex64_t *V, + CHAMELEON_Complex64_t *TAU, + CHAMELEON_Complex64_t *C1, + CHAMELEON_Complex64_t *C2, + CHAMELEON_Complex64_t *C3); void CORE_zlarfy(int N, - MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *V, - const MORSE_Complex64_t *TAU, - MORSE_Complex64_t *WORK); -void CORE_zlaset(MORSE_enum uplo, int n1, int n2, - MORSE_Complex64_t alpha, MORSE_Complex64_t beta, - MORSE_Complex64_t *tileA, int ldtilea); -void CORE_zlaset2(MORSE_enum uplo, int n1, int n2, MORSE_Complex64_t alpha, - MORSE_Complex64_t *tileA, int ldtilea); -void CORE_zlaswp(int N, MORSE_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *V, + const CHAMELEON_Complex64_t *TAU, + CHAMELEON_Complex64_t *WORK); +void CORE_zlaset(cham_uplo_t uplo, int n1, int n2, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, + CHAMELEON_Complex64_t *tileA, int ldtilea); +void CORE_zlaset2(cham_uplo_t uplo, int n1, int n2, CHAMELEON_Complex64_t alpha, + CHAMELEON_Complex64_t *tileA, int ldtilea); +void CORE_zlaswp(int N, CHAMELEON_Complex64_t *A, int LDA, int I1, int I2, const int *IPIV, int INC); -int CORE_zlaswp_ontile( MORSE_desc_t descA, int i1, int i2, const int *ipiv, int inc); -int CORE_zlaswpc_ontile(MORSE_desc_t descA, int i1, int i2, const int *ipiv, int inc); -int CORE_zlatro(MORSE_enum uplo, MORSE_enum trans, +int CORE_zlaswp_ontile( CHAM_desc_t descA, int i1, int i2, const int *ipiv, int inc); +int CORE_zlaswpc_ontile(CHAM_desc_t descA, int i1, int i2, const int *ipiv, int inc); +int CORE_zlatro(cham_uplo_t uplo, cham_trans_t trans, int M, int N, - const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB); -void CORE_zlauum(MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA); -int CORE_zpamm(int op, MORSE_enum side, MORSE_enum storev, + const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB); +void CORE_zlauum(cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA); +int CORE_zpamm(int op, cham_side_t side, cham_store_t storev, int M, int N, int K, int L, - const MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - MORSE_Complex64_t *W, int LDW); -int CORE_zparfb(MORSE_enum side, MORSE_enum trans, MORSE_enum direct, MORSE_enum storev, + const CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + CHAMELEON_Complex64_t *W, int LDW); +int CORE_zparfb(cham_side_t side, cham_trans_t trans, cham_dir_t direct, cham_store_t storev, int M1, int N1, int M2, int N2, int K, int L, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK, int LDWORK); -int CORE_zpemv(MORSE_enum trans, MORSE_enum storev, + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK, int LDWORK); +int CORE_zpemv(cham_trans_t trans, cham_store_t storev, int M, int N, int L, - MORSE_Complex64_t ALPHA, - const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *X, int INCX, - MORSE_Complex64_t BETA, - MORSE_Complex64_t *Y, int INCY, - MORSE_Complex64_t *WORK); -void CORE_zplghe(double bump, int m, int n, MORSE_Complex64_t *A, int lda, + CHAMELEON_Complex64_t ALPHA, + const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *X, int INCX, + CHAMELEON_Complex64_t BETA, + CHAMELEON_Complex64_t *Y, int INCY, + CHAMELEON_Complex64_t *WORK); +void CORE_zplghe(double bump, int m, int n, CHAMELEON_Complex64_t *A, int lda, int bigM, int m0, int n0, unsigned long long int seed ); -void CORE_zplgsy(MORSE_Complex64_t bump, int m, int n, MORSE_Complex64_t *A, int lda, +void CORE_zplgsy(CHAMELEON_Complex64_t bump, int m, int n, CHAMELEON_Complex64_t *A, int lda, int bigM, int m0, int n0, unsigned long long int seed ); -void CORE_zplrnt(int m, int n, MORSE_Complex64_t *A, int lda, +void CORE_zplrnt(int m, int n, CHAMELEON_Complex64_t *A, int lda, int bigM, int m0, int n0, unsigned long long int seed ); -void CORE_zpotrf(MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA, int *INFO); +void CORE_zpotrf(cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA, int *INFO); void CORE_zshift(int s, int m, int n, int L, - MORSE_Complex64_t *A); + CHAMELEON_Complex64_t *A); void CORE_zshiftw(int s, int cl, int m, int n, int L, - MORSE_Complex64_t *A, MORSE_Complex64_t *W); + CHAMELEON_Complex64_t *A, CHAMELEON_Complex64_t *W); int CORE_zssssm(int M1, int N1, int M2, int N2, int K, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *L1, int LDL1, - const MORSE_Complex64_t *L2, int LDL2, + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *L1, int LDL1, + const CHAMELEON_Complex64_t *L2, int LDL2, const int *IPIV); -void CORE_zsymm(MORSE_enum side, MORSE_enum uplo, +void CORE_zsymm(cham_side_t side, cham_uplo_t uplo, int M, int N, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC); -void CORE_zsyrk(MORSE_enum uplo, MORSE_enum trans, + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC); +void CORE_zsyrk(cham_uplo_t uplo, cham_trans_t trans, int N, int K, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC); -void CORE_zsyr2k(MORSE_enum uplo, MORSE_enum trans, + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC); +void CORE_zsyr2k(cham_uplo_t uplo, cham_trans_t trans, int N, int K, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC); -int CORE_zsyssq(MORSE_enum uplo, int N, - const MORSE_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC); +int CORE_zsyssq(cham_uplo_t uplo, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *scale, double *sumsq); -int CORE_zsytf2_nopiv(MORSE_enum uplo, int n, MORSE_Complex64_t *A, int lda); +int CORE_zsytf2_nopiv(cham_uplo_t uplo, int n, CHAMELEON_Complex64_t *A, int lda); void CORE_zswpab(int i, int n1, int n2, - MORSE_Complex64_t *A, MORSE_Complex64_t *work); -int CORE_zswptr_ontile(MORSE_desc_t descA, int i1, int i2, const int *ipiv, int inc, - const MORSE_Complex64_t *Akk, int ldak); -int CORE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, - MORSE_Complex64_t alpha, - const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, - MORSE_Complex64_t *B, int LDB); -void CORE_ztrasm(MORSE_enum storev, MORSE_enum uplo, MORSE_enum diag, + CHAMELEON_Complex64_t *A, CHAMELEON_Complex64_t *work); +int CORE_zswptr_ontile(CHAM_desc_t descA, int i1, int i2, const int *ipiv, int inc, + const CHAMELEON_Complex64_t *Akk, int ldak); +int CORE_ztradd(cham_uplo_t uplo, cham_trans_t trans, int M, int N, + CHAMELEON_Complex64_t alpha, + const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, + CHAMELEON_Complex64_t *B, int LDB); +void CORE_ztrasm(cham_store_t storev, cham_uplo_t uplo, cham_diag_t diag, int M, int N, - const MORSE_Complex64_t *A, int lda, double *work); -void CORE_ztrdalg(MORSE_enum uplo, int N, int NB, - const MORSE_desc_t *pA, MORSE_Complex64_t *V, MORSE_Complex64_t *TAU, + const CHAMELEON_Complex64_t *A, int lda, double *work); +void CORE_ztrdalg(cham_uplo_t uplo, int N, int NB, + const CHAM_desc_t *pA, CHAMELEON_Complex64_t *V, CHAMELEON_Complex64_t *TAU, int i, int j, int m, int grsiz); -void CORE_ztrmm(MORSE_enum side, MORSE_enum uplo, - MORSE_enum transA, MORSE_enum diag, +void CORE_ztrmm(cham_side_t side, cham_uplo_t uplo, + cham_trans_t transA, cham_diag_t diag, int M, int N, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB); -void CORE_ztrsm(MORSE_enum side, MORSE_enum uplo, - MORSE_enum transA, MORSE_enum diag, + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB); +void CORE_ztrsm(cham_side_t side, cham_uplo_t uplo, + cham_trans_t transA, cham_diag_t diag, int M, int N, - MORSE_Complex64_t alpha, const MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB); -int CORE_ztrssq(MORSE_enum uplo, MORSE_enum diag, int M, int N, - const MORSE_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB); +int CORE_ztrssq(cham_uplo_t uplo, cham_diag_t diag, int M, int N, + const CHAMELEON_Complex64_t *A, int LDA, double *scale, double *sumsq); -void CORE_ztrtri(MORSE_enum uplo, MORSE_enum diag, int N, - MORSE_Complex64_t *A, int LDA, int *info); +void CORE_ztrtri(cham_uplo_t uplo, cham_diag_t diag, int N, + CHAMELEON_Complex64_t *A, int LDA, int *info); int CORE_ztslqt(int M, int N, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *TAU, MORSE_Complex64_t *WORK); -int CORE_ztsmlq(MORSE_enum side, MORSE_enum trans, + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *TAU, CHAMELEON_Complex64_t *WORK); +int CORE_ztsmlq(cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK, int LDWORK); -int CORE_ztsmlq_hetra1( MORSE_enum side, MORSE_enum trans, + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK, int LDWORK); +int CORE_ztsmlq_hetra1( cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, - MORSE_Complex64_t *A1, int lda1, - MORSE_Complex64_t *A2, int lda2, - const MORSE_Complex64_t *V, int ldv, - const MORSE_Complex64_t *T, int ldt, - MORSE_Complex64_t *WORK, int ldwork); -int CORE_ztsmqr(MORSE_enum side, MORSE_enum trans, + CHAMELEON_Complex64_t *A1, int lda1, + CHAMELEON_Complex64_t *A2, int lda2, + const CHAMELEON_Complex64_t *V, int ldv, + const CHAMELEON_Complex64_t *T, int ldt, + CHAMELEON_Complex64_t *WORK, int ldwork); +int CORE_ztsmqr(cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK, int LDWORK); -int CORE_ztsmqr_hetra1( MORSE_enum side, MORSE_enum trans, + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK, int LDWORK); +int CORE_ztsmqr_hetra1( cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, - MORSE_Complex64_t *A1, int lda1, - MORSE_Complex64_t *A2, int lda2, - const MORSE_Complex64_t *V, int ldv, - const MORSE_Complex64_t *T, int ldt, - MORSE_Complex64_t *WORK, int ldwork); + CHAMELEON_Complex64_t *A1, int lda1, + CHAMELEON_Complex64_t *A2, int lda2, + const CHAMELEON_Complex64_t *V, int ldv, + const CHAMELEON_Complex64_t *T, int ldt, + CHAMELEON_Complex64_t *WORK, int ldwork); int CORE_ztsqrt(int M, int N, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *TAU, MORSE_Complex64_t *WORK); + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *TAU, CHAMELEON_Complex64_t *WORK); int CORE_ztstrf(int M, int N, int IB, int NB, - MORSE_Complex64_t *U, int LDU, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *L, int LDL, - int *IPIV, MORSE_Complex64_t *WORK, + CHAMELEON_Complex64_t *U, int LDU, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *L, int LDL, + int *IPIV, CHAMELEON_Complex64_t *WORK, int LDWORK, int *INFO); int CORE_ztplqt( int M, int N, int L, int IB, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK ); -int CORE_ztpmlqt( MORSE_enum side, MORSE_enum trans, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK ); +int CORE_ztpmlqt( cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int IB, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t *WORK ); -int CORE_ztpmqrt( MORSE_enum side, MORSE_enum trans, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t *WORK ); +int CORE_ztpmqrt( cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int IB, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t *WORK ); + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t *WORK ); int CORE_ztpqrt( int M, int N, int L, int IB, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK ); -int CORE_zttmqr(MORSE_enum side, MORSE_enum trans, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK ); +int CORE_zttmqr(cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK, int LDWORK); + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK, int LDWORK); int CORE_zttqrt(int M, int N, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *TAU, - MORSE_Complex64_t *WORK); -int CORE_zttmlq(MORSE_enum side, MORSE_enum trans, + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *TAU, + CHAMELEON_Complex64_t *WORK); +int CORE_zttmlq(cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *WORK, int LDWORK); + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *WORK, int LDWORK); int CORE_zttlqt(int M, int N, int IB, - MORSE_Complex64_t *A1, int LDA1, - MORSE_Complex64_t *A2, int LDA2, - MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *TAU, - MORSE_Complex64_t *WORK); -int CORE_zunmlq(MORSE_enum side, MORSE_enum trans, + CHAMELEON_Complex64_t *A1, int LDA1, + CHAMELEON_Complex64_t *A2, int LDA2, + CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *TAU, + CHAMELEON_Complex64_t *WORK); +int CORE_zunmlq(cham_side_t side, cham_trans_t trans, int M, int N, int IB, int K, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *C, int LDC, - MORSE_Complex64_t *WORK, int LDWORK); -int CORE_zunmqr(MORSE_enum side, MORSE_enum trans, + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *C, int LDC, + CHAMELEON_Complex64_t *WORK, int LDWORK); +int CORE_zunmqr(cham_side_t side, cham_trans_t trans, int M, int N, int K, int IB, - const MORSE_Complex64_t *V, int LDV, - const MORSE_Complex64_t *T, int LDT, - MORSE_Complex64_t *C, int LDC, - MORSE_Complex64_t *WORK, int LDWORK); + const CHAMELEON_Complex64_t *V, int LDV, + const CHAMELEON_Complex64_t *T, int LDT, + CHAMELEON_Complex64_t *C, int LDC, + CHAMELEON_Complex64_t *WORK, int LDWORK); #endif diff --git a/coreblas/include/coreblas/coreblas_zc.h b/coreblas/include/coreblas/coreblas_zc.h index d26e3dadcf895cf211f8bebc39ccc36b44af1a03..f792a58711091246c643a2acfd2db4a6179c670e 100644 --- a/coreblas/include/coreblas/coreblas_zc.h +++ b/coreblas/include/coreblas/coreblas_zc.h @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Jakub Kurzak * @author Hatem Ltaief * @author Mathieu Faverge @@ -23,17 +23,17 @@ * @precisions mixed zc -> ds * */ -#ifndef _MORSE_CORE_ZCBLAS_H_ -#define _MORSE_CORE_ZCBLAS_H_ +#ifndef _CHAMELEON_CORE_ZCBLAS_H_ +#define _CHAMELEON_CORE_ZCBLAS_H_ /** * Declarations of serial kernels - alphabetical order */ void CORE_clag2z(int m, int n, - const MORSE_Complex32_t *A, int lda, - MORSE_Complex64_t *B, int ldb); + const CHAMELEON_Complex32_t *A, int lda, + CHAMELEON_Complex64_t *B, int ldb); void CORE_zlag2c(int m, int n, - const MORSE_Complex64_t *A, int lda, - MORSE_Complex32_t *B, int ldb, int *info); + const CHAMELEON_Complex64_t *A, int lda, + CHAMELEON_Complex32_t *B, int ldb, int *info); #endif diff --git a/cudablas/CMakeLists.txt b/cudablas/CMakeLists.txt index ca80402a7c4791fb8d5c8dc8651d08dcfc3e7ad4..bf39d327190dc0bc128cf68f35d8764761755ff2 100644 --- a/cudablas/CMakeLists.txt +++ b/cudablas/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/cudablas/compute/CMakeLists.txt b/cudablas/compute/CMakeLists.txt index 209bf5b37330194e4b34d7139dc37a8b5687866e..7822fdfc8baacf6907b909f6cb6256738dc11578 100644 --- a/cudablas/compute/CMakeLists.txt +++ b/cudablas/compute/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -23,7 +23,7 @@ # ### -# Generate the morse sources for all possible precisions +# Generate the chameleon sources for all possible precisions # ------------------------------------------------------ set(CUDABLAS_SRCS_GENERATED "") set(ZSRC diff --git a/cudablas/compute/cuda_zgeadd.c b/cudablas/compute/cuda_zgeadd.c index d92b65346f08f6f5e67bbe9129977fef6856f7f2..aedd54d08c12fa4767e4df9e8f7a60178dc27695 100644 --- a/cudablas/compute/cuda_zgeadd.c +++ b/cudablas/compute/cuda_zgeadd.c @@ -26,7 +26,7 @@ /** ****************************************************************************** * - * @ingroup CUDA_MORSE_Complex64_t + * @ingroup CUDA_CHAMELEON_Complex64_t * * CUDA_zgeadd adds to matrices together as in PBLAS pzgeadd. * @@ -39,9 +39,9 @@ * @param[in] trans * Specifies whether the matrix A is non-transposed, transposed, or * conjugate transposed - * = MorseNoTrans: op(A) = A - * = MorseTrans: op(A) = A' - * = MorseConjTrans: op(A) = conj(A') + * = ChamNoTrans: op(A) = A + * = ChamTrans: op(A) = A' + * = ChamConjTrans: op(A) = conj(A') * * @param[in] M * Number of rows of the matrices op(A) and B. @@ -53,12 +53,12 @@ * Scalar factor of A. * * @param[in] A - * Matrix of size LDA-by-N, if trans = MorseNoTrans, LDA-by-M + * Matrix of size LDA-by-N, if trans = ChamNoTrans, LDA-by-M * otherwise. * * @param[in] LDA * Leading dimension of the array A. LDA >= max(1,k), with k=M, if - * trans = MorseNoTrans, and k=N otherwise. + * trans = ChamNoTrans, and k=N otherwise. * * @param[in] beta * Scalar factor of B. @@ -73,11 +73,11 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -int CUDA_zgeadd(MORSE_enum trans, +int CUDA_zgeadd(cham_trans_t trans, int m, int n, const cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, @@ -86,7 +86,7 @@ int CUDA_zgeadd(MORSE_enum trans, CUBLAS_STREAM_PARAM) { cublasZgeam(CUBLAS_HANDLE - morse_cublas_const(trans), morse_cublas_const(MorseNoTrans), + chameleon_cublas_const(trans), chameleon_cublas_const(ChamNoTrans), m, n, CUBLAS_VALUE(alpha), A, lda, CUBLAS_VALUE(beta), B, ldb, @@ -94,5 +94,5 @@ int CUDA_zgeadd(MORSE_enum trans, assert( CUBLAS_STATUS_SUCCESS == cublasGetError() ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_zgelqt.c b/cudablas/compute/cuda_zgelqt.c index f033e63bbb26c2282ea20ee697f33fdf2882d192..8eeaaf48a565e767db4968c3e35940ac1e203da6 100644 --- a/cudablas/compute/cuda_zgelqt.c +++ b/cudablas/compute/cuda_zgelqt.c @@ -96,7 +96,7 @@ int CUDA_zgelqt( /* put 0s in the lower triangular part of a panel (and 1s on the diagonal); copy the lower triangular in d */ - CORE_zgesplit(MorseRight, MorseUnit, ib, chameleon_min(ib,cols), + CORE_zgesplit(ChamRight, ChamUnit, ib, chameleon_min(ib,cols), (double _Complex*) v_ref(0,i), ib, (double _Complex*) d, ib); @@ -166,6 +166,6 @@ int CUDA_zgelqt( #undef dt_ref #undef t_ref - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } #endif diff --git a/cudablas/compute/cuda_zgemerge.c b/cudablas/compute/cuda_zgemerge.c index 6ab3d87791602dc7fc3764e3314bd2b7579ef74c..e6c90f8ebacc3a3608b00f51e29a65b9bf9f5601 100644 --- a/cudablas/compute/cuda_zgemerge.c +++ b/cudablas/compute/cuda_zgemerge.c @@ -20,7 +20,7 @@ #include "cudablas.h" int -CUDA_zgemerge( MORSE_enum side, MORSE_enum diag, +CUDA_zgemerge( cham_side_t side, cham_diag_t diag, int M, int N, cuDoubleComplex *A, int LDA, cuDoubleComplex *B, int LDB, @@ -44,7 +44,7 @@ CUDA_zgemerge( MORSE_enum side, MORSE_enum diag, CUBLAS_GET_STREAM; - if (side == MorseLeft){ + if (side == ChamLeft){ for(i=0; i<N; i++){ cola = A + i*LDA; colb = B + i*LDB; @@ -63,5 +63,5 @@ CUDA_zgemerge( MORSE_enum side, MORSE_enum diag, } (void)diag; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_zgemm.c b/cudablas/compute/cuda_zgemm.c index eb07ce43c6c74d4ccd38e23d42eefcb6518b6bcc..bd8ebbc9997141278d7d290af124e67aba2cb54b 100644 --- a/cudablas/compute/cuda_zgemm.c +++ b/cudablas/compute/cuda_zgemm.c @@ -19,7 +19,7 @@ */ #include "cudablas.h" -int CUDA_zgemm(MORSE_enum transa, MORSE_enum transb, +int CUDA_zgemm(cham_trans_t transa, cham_trans_t transb, int m, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, @@ -29,12 +29,12 @@ int CUDA_zgemm(MORSE_enum transa, MORSE_enum transb, CUBLAS_STREAM_PARAM) { cublasZgemm(CUBLAS_HANDLE - morse_cublas_const(transa), morse_cublas_const(transb), + chameleon_cublas_const(transa), chameleon_cublas_const(transb), m, n, k, CUBLAS_VALUE(alpha), A, lda, B, ldb, CUBLAS_VALUE(beta), C, ldc); assert( CUBLAS_STATUS_SUCCESS == cublasGetError() ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_zgeqrt.c b/cudablas/compute/cuda_zgeqrt.c index 8601a9a9f1b135cb78ff84f0187dc0b3f36c472c..e3d0d50f6797ab69752e362440b778f808e2ad35 100644 --- a/cudablas/compute/cuda_zgeqrt.c +++ b/cudablas/compute/cuda_zgeqrt.c @@ -96,7 +96,7 @@ int CUDA_zgeqrt( /* Put 0s in the upper triangular part of a panel (and 1s on the diagonal); copy the upper triangular in d. */ - CORE_zgesplit(MorseLeft, MorseUnit, chameleon_min(rows,ib), ib, + CORE_zgesplit(ChamLeft, ChamUnit, chameleon_min(rows,ib), ib, (double _Complex*) v_ref(i, 0), ldv, (double _Complex*) d, ib); @@ -166,6 +166,6 @@ int CUDA_zgeqrt( #undef dt_ref #undef t_ref - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } #endif diff --git a/cudablas/compute/cuda_zgessm.c b/cudablas/compute/cuda_zgessm.c index 5cf21bab9e696eeff50ca446db8f080e8a73353b..be5bced5d36d234c0d4d5afca56734138ae56774 100644 --- a/cudablas/compute/cuda_zgessm.c +++ b/cudablas/compute/cuda_zgessm.c @@ -46,7 +46,7 @@ int CUDA_zgessm( exit(-1); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } #endif #endif diff --git a/cudablas/compute/cuda_zgetrf.c b/cudablas/compute/cuda_zgetrf.c index f7cc782ba3bc6e588a377a329f8a8d31739e418f..83e00a987f2f2327e02e67a683b5b69848b2033f 100644 --- a/cudablas/compute/cuda_zgetrf.c +++ b/cudablas/compute/cuda_zgetrf.c @@ -35,7 +35,7 @@ int CUDA_zgetrf_incpiv( ipiv, dwork, lddwork, info ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } #endif int CUDA_zgetrf_nopiv( @@ -44,6 +44,6 @@ int CUDA_zgetrf_nopiv( magma_int_t *info) { magma_zgetrf_nopiv_gpu( m, n, dA, ldda, info ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } #endif diff --git a/cudablas/compute/cuda_zhemm.c b/cudablas/compute/cuda_zhemm.c index 87d6d6b9e1df30d95b921bc96d5e58c7947571bc..06a4cda74bb74cefd46c4a162983d726ccd820ec 100644 --- a/cudablas/compute/cuda_zhemm.c +++ b/cudablas/compute/cuda_zhemm.c @@ -19,7 +19,7 @@ */ #include "cudablas.h" -int CUDA_zhemm(MORSE_enum side, MORSE_enum uplo, +int CUDA_zhemm(cham_side_t side, cham_uplo_t uplo, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, @@ -29,12 +29,12 @@ int CUDA_zhemm(MORSE_enum side, MORSE_enum uplo, CUBLAS_STREAM_PARAM) { cublasZhemm(CUBLAS_HANDLE - morse_cublas_const(side), morse_cublas_const(uplo), + chameleon_cublas_const(side), chameleon_cublas_const(uplo), m, n, CUBLAS_VALUE(alpha), A, lda, B, ldb, CUBLAS_VALUE(beta), C, ldc); assert( CUBLAS_STATUS_SUCCESS == cublasGetError() ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_zher2k.c b/cudablas/compute/cuda_zher2k.c index 67aa6ccb099c90e26e77723a49c36078834e8891..ce5a09b277389667f048f2dcd47bcb876600bef2 100644 --- a/cudablas/compute/cuda_zher2k.c +++ b/cudablas/compute/cuda_zher2k.c @@ -19,7 +19,7 @@ */ #include "cudablas.h" -int CUDA_zher2k(MORSE_enum uplo, MORSE_enum trans, +int CUDA_zher2k(cham_uplo_t uplo, cham_trans_t trans, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, @@ -29,7 +29,7 @@ int CUDA_zher2k(MORSE_enum uplo, MORSE_enum trans, CUBLAS_STREAM_PARAM) { cublasZher2k(CUBLAS_HANDLE - morse_cublas_const(uplo), morse_cublas_const(trans), + chameleon_cublas_const(uplo), chameleon_cublas_const(trans), n, k, CUBLAS_VALUE(alpha), A, lda, B, ldb, @@ -37,5 +37,5 @@ int CUDA_zher2k(MORSE_enum uplo, MORSE_enum trans, assert( CUBLAS_STATUS_SUCCESS == cublasGetError() ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_zherfb.c b/cudablas/compute/cuda_zherfb.c index d8b784c0bfa98f2fa8d37458a5be9980d4323154..6a6025bf0badfc3414d6adcc3a7507da4e4991d8 100644 --- a/cudablas/compute/cuda_zherfb.c +++ b/cudablas/compute/cuda_zherfb.c @@ -20,7 +20,7 @@ #include "cudablas.h" int -CUDA_zherfb( MORSE_enum uplo, int n, +CUDA_zherfb( cham_uplo_t uplo, int n, int k, int ib, int nb, const cuDoubleComplex *A, int lda, const cuDoubleComplex *T, int ldt, @@ -29,7 +29,7 @@ CUDA_zherfb( MORSE_enum uplo, int n, CUBLAS_STREAM_PARAM ) { /* Check input arguments */ - if ((uplo != MorseUpper) && (uplo != MorseLower)) { + if ((uplo != ChamUpper) && (uplo != ChamLower)) { cudablas_error(1, "Illegal value of uplo"); return -1; } @@ -62,23 +62,23 @@ CUDA_zherfb( MORSE_enum uplo, int n, return -11; } - if (uplo == MorseLower) { + if (uplo == ChamLower) { /* Left */ - CUDA_zunmqrt( MorseLeft, MorseConjTrans, n, n, k, ib, + CUDA_zunmqrt( ChamLeft, ChamConjTrans, n, n, k, ib, A, lda, T, ldt, C, ldc, WORK, ldwork, CUBLAS_STREAM_VALUE ); /* Right */ - CUDA_zunmqrt( MorseRight, MorseNoTrans, n, n, k, ib, + CUDA_zunmqrt( ChamRight, ChamNoTrans, n, n, k, ib, A, lda, T, ldt, C, ldc, WORK, ldwork, CUBLAS_STREAM_VALUE ); } else { /* Right */ - CUDA_zunmlqt( MorseRight, MorseConjTrans, n, n, k, ib, + CUDA_zunmlqt( ChamRight, ChamConjTrans, n, n, k, ib, A, lda, T, ldt, C, ldc, WORK, ldwork, CUBLAS_STREAM_VALUE ); /* Left */ - CUDA_zunmlqt( MorseLeft, MorseNoTrans, n, n, k, ib, + CUDA_zunmlqt( ChamLeft, ChamNoTrans, n, n, k, ib, A, lda, T, ldt, C, ldc, WORK, ldwork, CUBLAS_STREAM_VALUE ); } diff --git a/cudablas/compute/cuda_zherk.c b/cudablas/compute/cuda_zherk.c index 81b276916504b03da260d55f6125d7ef17f9ac3e..74cf9503e696c05b708ac1c6f13baafd7e337253 100644 --- a/cudablas/compute/cuda_zherk.c +++ b/cudablas/compute/cuda_zherk.c @@ -19,7 +19,7 @@ */ #include "cudablas.h" -int CUDA_zherk( MORSE_enum uplo, MORSE_enum trans, +int CUDA_zherk( cham_uplo_t uplo, cham_trans_t trans, int n, int k, double *alpha, const cuDoubleComplex *A, int lda, @@ -28,12 +28,12 @@ int CUDA_zherk( MORSE_enum uplo, MORSE_enum trans, CUBLAS_STREAM_PARAM) { cublasZherk( CUBLAS_HANDLE - morse_cublas_const(uplo), morse_cublas_const(trans), + chameleon_cublas_const(uplo), chameleon_cublas_const(trans), n, k, CUBLAS_VALUE(alpha), A, lda, CUBLAS_VALUE(beta), B, ldb); assert( CUBLAS_STATUS_SUCCESS == cublasGetError() ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_zlarfb.c b/cudablas/compute/cuda_zlarfb.c index 52e64d179986d8a21fc66f8dca8ffc6777494d5b..7cdeb41342e7e7d2d6df9f6239eba53bbccfe582 100644 --- a/cudablas/compute/cuda_zlarfb.c +++ b/cudablas/compute/cuda_zlarfb.c @@ -22,8 +22,8 @@ #include "cudablas.h" int -CUDA_zlarfb(MORSE_enum side, MORSE_enum trans, - MORSE_enum direct, MORSE_enum storev, +CUDA_zlarfb(cham_side_t side, cham_trans_t trans, + cham_dir_t direct, cham_store_t storev, int M, int N, int K, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, @@ -41,19 +41,19 @@ CUDA_zlarfb(MORSE_enum side, MORSE_enum trans, double mzone = -1.0; #endif /* defined(PRECISION_z) || defined(PRECISION_c) */ - MORSE_enum transT, uplo, notransV, transV; + cham_trans_t transT, uplo, notransV, transV; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { return -1; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { return -2; } - if ((direct != MorseForward) && (direct != MorseBackward)) { + if ((direct != ChamDirForward) && (direct != ChamDirBackward)) { return -3; } - if ((storev != MorseColumnwise) && (storev != MorseRowwise)) { + if ((storev != ChamColumnwise) && (storev != ChamRowwise)) { return -4; } if (M < 0) { @@ -68,43 +68,43 @@ CUDA_zlarfb(MORSE_enum side, MORSE_enum trans, /* Quick return */ if ((M == 0) || (N == 0) || (K == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; // opposite of trans - if (trans == MorseNoTrans) - transT = MorseConjTrans; + if (trans == ChamNoTrans) + transT = ChamConjTrans; else - transT = MorseNoTrans; + transT = ChamNoTrans; // whether T is upper or lower triangular - if (direct == MorseForward) - uplo = MorseUpper; + if (direct == ChamDirForward) + uplo = ChamUpper; else - uplo = MorseLower; + uplo = ChamLower; - if (storev == MorseColumnwise) { - notransV = MorseNoTrans; - transV = MorseConjTrans; + if (storev == ChamColumnwise) { + notransV = ChamNoTrans; + transV = ChamConjTrans; } else { - notransV = MorseConjTrans; - transV = MorseNoTrans; + notransV = ChamConjTrans; + transV = ChamNoTrans; } - if ( side == MorseLeft ) { + if ( side == ChamLeft ) { // Form H C or H^H C // Comments assume H C. When forming H^H C, T gets transposed via transT. // W = C^H V cublasZgemm( CUBLAS_HANDLE - morse_cublas_const(MorseConjTrans), morse_cublas_const(notransV), + chameleon_cublas_const(ChamConjTrans), chameleon_cublas_const(notransV), N, K, M, CUBLAS_SADDR(zone), C, LDC, V, LDV, CUBLAS_SADDR(zzero), WORK, LDWORK ); // W = W T^H = C^H V T^H - CUDA_ztrmm( MorseRight, uplo, transT, MorseNonUnit, + CUDA_ztrmm( ChamRight, uplo, transT, ChamNonUnit, N, K, CUBLAS_SADDR(zone), T, LDT, WORK, LDWORK, @@ -112,7 +112,7 @@ CUDA_zlarfb(MORSE_enum side, MORSE_enum trans, // C = C - V W^H = C - V T V^H C = (I - V T V^H) C = H C cublasZgemm( CUBLAS_HANDLE - morse_cublas_const(notransV), morse_cublas_const(MorseConjTrans), + chameleon_cublas_const(notransV), chameleon_cublas_const(ChamConjTrans), M, N, K, CUBLAS_SADDR(mzone), V, LDV, WORK, LDWORK, @@ -124,14 +124,14 @@ CUDA_zlarfb(MORSE_enum side, MORSE_enum trans, // W = C V cublasZgemm( CUBLAS_HANDLE - morse_cublas_const(MorseNoTrans), morse_cublas_const(notransV), + chameleon_cublas_const(ChamNoTrans), chameleon_cublas_const(notransV), M, K, N, CUBLAS_SADDR(zone), C, LDC, V, LDV, CUBLAS_SADDR(zzero), WORK, LDWORK ); // W = W T = C V T - CUDA_ztrmm( MorseRight, uplo, trans, MorseNonUnit, + CUDA_ztrmm( ChamRight, uplo, trans, ChamNonUnit, M, K, CUBLAS_SADDR(zone), T, LDT, WORK, LDWORK, @@ -139,11 +139,11 @@ CUDA_zlarfb(MORSE_enum side, MORSE_enum trans, // C = C - W V^H = C - C V T V^H = C (I - V T V^H) = C H cublasZgemm( CUBLAS_HANDLE - morse_cublas_const(MorseNoTrans), morse_cublas_const(transV), + chameleon_cublas_const(ChamNoTrans), chameleon_cublas_const(transV), M, N, K, CUBLAS_SADDR(mzone), WORK, LDWORK, V, LDV, CUBLAS_SADDR(zone), C, LDC ); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_zlauum.c b/cudablas/compute/cuda_zlauum.c index e86f602e4196ae35d032c27c5312952928929aa1..9843320b31e356dc8a28d33554eeb2af2c57112d 100644 --- a/cudablas/compute/cuda_zlauum.c +++ b/cudablas/compute/cuda_zlauum.c @@ -30,6 +30,6 @@ int CUDA_zlauum( fprintf(stderr, "Error in MAGMA: %d\n", ret); exit(-1); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } #endif diff --git a/cudablas/compute/cuda_zparfb.c b/cudablas/compute/cuda_zparfb.c index 447f3c18253869b4647ede5c0f515233bb0f86df..d35dcbe9eccf888381e9403f0f184b3531a81c64 100644 --- a/cudablas/compute/cuda_zparfb.c +++ b/cudablas/compute/cuda_zparfb.c @@ -22,7 +22,7 @@ /** ***************************************************************************** * - * @ingroup CUDA_MORSE_Complex64_t + * @ingroup CUDA_CHAMELEON_Complex64_t * * CUDA_zparfb applies a complex upper triangular block reflector H * or its transpose H' to a complex rectangular matrix formed by @@ -46,24 +46,24 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] direct * Indicates how H is formed from a product of elementary * reflectors - * @arg MorseForward : H = H(1) H(2) . . . H(k) (Forward) - * @arg MorseBackward : H = H(k) . . . H(2) H(1) (Backward) + * @arg ChamDirForward : H = H(1) H(2) . . . H(k) (Forward) + * @arg ChamDirBackward : H = H(k) . . . H(2) H(1) (Backward) * * @param[in] storev * Indicates how the vectors which define the elementary * reflectors are stored: - * @arg MorseColumnwise - * @arg MorseRowwise + * @arg ChamColumnwise + * @arg ChamRowwise * * @param[in] M1 * The number of columns of the tile A1. M1 >= 0. @@ -120,32 +120,32 @@ * The leading dimension of the array T. LDT >= K. * * @param[in,out] WORK - * Workspace of dimension LDWORK-by-N1 if side == MorseLeft, LDWORK-by-K + * Workspace of dimension LDWORK-by-N1 if side == ChamLeft, LDWORK-by-K * otherwise. * * @param[in] LDWORK * The leading dimension of the array WORK: LDWORK >= K, if side == - * MorseLeft, LDWORK >= M1 otehrwise. + * ChamLeft, LDWORK >= M1 otehrwise. * * @param[in,out] WORKC * Optionnal additional workspace to replace the TRMM operation by a GEMM kernel. - * This workspace is of dimension LDWORK-by-K if side == MorseLeft, LDWORK-by-N2 + * This workspace is of dimension LDWORK-by-K if side == ChamLeft, LDWORK-by-N2 * otherwise. * * @param[in] LDWORKC * The leading dimension of the array WORKC: LDWORKC >= M2, if side == - * MorseLeft, LDWORK >= K otehrwise. + * ChamLeft, LDWORK >= K otehrwise. * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ int -CUDA_zparfb(MORSE_enum side, MORSE_enum trans, - MORSE_enum direct, MORSE_enum storev, +CUDA_zparfb(cham_side_t side, cham_trans_t trans, + cham_dir_t direct, cham_store_t storev, int M1, int N1, int M2, int N2, int K, int L, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, @@ -166,22 +166,22 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, #endif /* defined(PRECISION_z) || defined(PRECISION_c) */ int j; - MORSE_enum transW; - MORSE_enum transA2; + cham_trans_t transW; + cham_trans_t transA2; CUBLAS_GET_STREAM; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { return -1; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { return -2; } - if ((direct != MorseForward) && (direct != MorseBackward)) { + if ((direct != ChamDirForward) && (direct != ChamDirBackward)) { return -3; } - if ((storev != MorseColumnwise) && (storev != MorseRowwise)) { + if ((storev != ChamColumnwise) && (storev != ChamRowwise)) { return -4; } if (M1 < 0) { @@ -191,28 +191,28 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, return -6; } if ((M2 < 0) || - ( (side == MorseRight) && (M1 != M2) ) ) { + ( (side == ChamRight) && (M1 != M2) ) ) { return -7; } if ((N2 < 0) || - ( (side == MorseLeft) && (N1 != N2) ) ) { + ( (side == ChamLeft) && (N1 != N2) ) ) { return -8; } if (K < 0) { return -9; } - if ( ((LDWORK < K ) && (side == MorseLeft )) || - ((LDWORK < M1) && (side == MorseRight)) ) { + if ( ((LDWORK < K ) && (side == ChamLeft )) || + ((LDWORK < M1) && (side == ChamRight)) ) { return -20; } /* Quick return */ if ((M1 == 0) || (N1 == 0) || (M2 == 0) || (N2 == 0) || (K == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (direct == MorseForward) { + if (direct == ChamDirForward) { - if (side == MorseLeft) { + if (side == ChamLeft) { /* * Column or Rowwise / Forward / Left @@ -233,11 +233,11 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, K * sizeof(cuDoubleComplex), N1, cudaMemcpyDeviceToDevice, stream ); - transW = storev == MorseColumnwise ? MorseConjTrans : MorseNoTrans; - transA2 = storev == MorseColumnwise ? MorseNoTrans : MorseConjTrans; + transW = storev == ChamColumnwise ? ChamConjTrans : ChamNoTrans; + transA2 = storev == ChamColumnwise ? ChamNoTrans : ChamConjTrans; cublasZgemm(CUBLAS_HANDLE - morse_cublas_const(transW), morse_cublas_const(MorseNoTrans), + chameleon_cublas_const(transW), chameleon_cublas_const(ChamNoTrans), K, N1, M2, CUBLAS_SADDR(zone), V /* K*M2 */, LDV, @@ -247,7 +247,7 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, if (WORKC == NULL) { /* W = op(T) * W */ - CUDA_ztrmm( MorseLeft, MorseUpper, trans, MorseNonUnit, + CUDA_ztrmm( ChamLeft, ChamUpper, trans, ChamNonUnit, K, N2, CUBLAS_SADDR(zone), T, LDT, WORK, LDWORK, @@ -263,7 +263,7 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, /* A2 = A2 - op(V) * W */ cublasZgemm(CUBLAS_HANDLE - morse_cublas_const(transA2), morse_cublas_const(MorseNoTrans), + chameleon_cublas_const(transA2), chameleon_cublas_const(ChamNoTrans), M2, N2, K, CUBLAS_SADDR(mzone), V /* M2*K */, LDV, WORK /* K*N2 */, LDWORK, @@ -272,7 +272,7 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, } else { /* Wc = V * op(T) */ cublasZgemm( CUBLAS_HANDLE - morse_cublas_const(transA2), morse_cublas_const(trans), + chameleon_cublas_const(transA2), chameleon_cublas_const(trans), M2, K, K, CUBLAS_SADDR(zone), V, LDV, T, LDT, @@ -280,7 +280,7 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, /* A1 = A1 - opt(T) * W */ cublasZgemm( CUBLAS_HANDLE - morse_cublas_const(trans), morse_cublas_const(MorseNoTrans), + chameleon_cublas_const(trans), chameleon_cublas_const(ChamNoTrans), K, N1, K, CUBLAS_SADDR(mzone), T, LDT, WORK, LDWORK, @@ -288,7 +288,7 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, /* A2 = A2 - Wc * W */ cublasZgemm( CUBLAS_HANDLE - morse_cublas_const(MorseNoTrans), morse_cublas_const(MorseNoTrans), + chameleon_cublas_const(ChamNoTrans), chameleon_cublas_const(ChamNoTrans), M2, N2, K, CUBLAS_SADDR(mzone), WORKC, LDWORKC, WORK, LDWORK, @@ -315,11 +315,11 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, M1 * sizeof(cuDoubleComplex), K, cudaMemcpyDeviceToDevice, stream ); - transW = storev == MorseColumnwise ? MorseNoTrans : MorseConjTrans; - transA2 = storev == MorseColumnwise ? MorseConjTrans : MorseNoTrans; + transW = storev == ChamColumnwise ? ChamNoTrans : ChamConjTrans; + transA2 = storev == ChamColumnwise ? ChamConjTrans : ChamNoTrans; cublasZgemm(CUBLAS_HANDLE - morse_cublas_const(MorseNoTrans), morse_cublas_const(transW), + chameleon_cublas_const(ChamNoTrans), chameleon_cublas_const(transW), M1, K, N2, CUBLAS_SADDR(zone), A2 /* M1*N2 */, LDA2, V /* N2*K */, LDV, @@ -327,7 +327,7 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, if (WORKC == NULL) { /* W = W * op(T) */ - CUDA_ztrmm( MorseRight, MorseUpper, trans, MorseNonUnit, + CUDA_ztrmm( ChamRight, ChamUpper, trans, ChamNonUnit, M2, K, CUBLAS_SADDR(zone), T, LDT, WORK, LDWORK, @@ -343,7 +343,7 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, /* A2 = A2 - W * op(V) */ cublasZgemm(CUBLAS_HANDLE - morse_cublas_const(MorseNoTrans), morse_cublas_const(transA2), + chameleon_cublas_const(ChamNoTrans), chameleon_cublas_const(transA2), M2, N2, K, CUBLAS_SADDR(mzone), WORK /* M2*K */, LDWORK, V /* K*N2 */, LDV, @@ -352,7 +352,7 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, } else { /* A1 = A1 - W * opt(T) */ cublasZgemm( CUBLAS_HANDLE - morse_cublas_const(MorseNoTrans), morse_cublas_const(trans), + chameleon_cublas_const(ChamNoTrans), chameleon_cublas_const(trans), M1, K, K, CUBLAS_SADDR(mzone), WORK, LDWORK, T, LDT, @@ -360,7 +360,7 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, /* Wc = op(T) * V */ cublasZgemm( CUBLAS_HANDLE - morse_cublas_const(trans), morse_cublas_const(transA2), + chameleon_cublas_const(trans), chameleon_cublas_const(transA2), K, N2, K, CUBLAS_SADDR(zone), T, LDT, V, LDV, @@ -368,7 +368,7 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, /* A2 = A2 - W * Wc */ cublasZgemm( CUBLAS_HANDLE - morse_cublas_const(MorseNoTrans), morse_cublas_const(MorseNoTrans), + chameleon_cublas_const(ChamNoTrans), chameleon_cublas_const(ChamNoTrans), M2, N2, K, CUBLAS_SADDR(mzone), WORK, LDWORK, WORKC, LDWORKC, @@ -378,9 +378,9 @@ CUDA_zparfb(MORSE_enum side, MORSE_enum trans, } else { fprintf(stderr, "Not implemented (Backward / Left or Right)"); - return MORSE_ERR_NOT_SUPPORTED; + return CHAMELEON_ERR_NOT_SUPPORTED; } (void)L; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_zpotrf.c b/cudablas/compute/cuda_zpotrf.c index 6174422da5803888b76f873971911adeb24bf7d0..46361fe828904ab9f7c4b2c5fb137199205b90df 100644 --- a/cudablas/compute/cuda_zpotrf.c +++ b/cudablas/compute/cuda_zpotrf.c @@ -33,6 +33,6 @@ int CUDA_zpotrf( fprintf(stderr, "Error in MAGMA: %d\n", ret); exit(-1); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } #endif diff --git a/cudablas/compute/cuda_zssssm.c b/cudablas/compute/cuda_zssssm.c index 9291bf33cc239a0f8060246b1968be5957ecb877..e2fa8ea8dac06967448f928d154da1093f3f57fa 100644 --- a/cudablas/compute/cuda_zssssm.c +++ b/cudablas/compute/cuda_zssssm.c @@ -35,7 +35,7 @@ int CUDA_zssssm( dA1, ldda1, dA2, ldda2, dL1, lddl1, dL2, lddl2, IPIV, info); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } #endif #endif diff --git a/cudablas/compute/cuda_zsymm.c b/cudablas/compute/cuda_zsymm.c index cab5b91cb12c77c26c67cd5d51970ccf2e5dd2e9..230e3d203bd7f98709082ed379a4d8ee4872f660 100644 --- a/cudablas/compute/cuda_zsymm.c +++ b/cudablas/compute/cuda_zsymm.c @@ -19,7 +19,7 @@ */ #include "cudablas.h" -int CUDA_zsymm(MORSE_enum side, MORSE_enum uplo, +int CUDA_zsymm(cham_side_t side, cham_uplo_t uplo, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, @@ -29,7 +29,7 @@ int CUDA_zsymm(MORSE_enum side, MORSE_enum uplo, CUBLAS_STREAM_PARAM) { cublasZsymm(CUBLAS_HANDLE - morse_cublas_const(side), morse_cublas_const(uplo), + chameleon_cublas_const(side), chameleon_cublas_const(uplo), m, n, CUBLAS_VALUE(alpha), A, lda, B, ldb, @@ -37,5 +37,5 @@ int CUDA_zsymm(MORSE_enum side, MORSE_enum uplo, assert( CUBLAS_STATUS_SUCCESS == cublasGetError() ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_zsyr2k.c b/cudablas/compute/cuda_zsyr2k.c index 984c36c3d25bf80637d7b172731eb8509cefd2d4..25d755b85221d20ae765aa678fce6df1203ef1cd 100644 --- a/cudablas/compute/cuda_zsyr2k.c +++ b/cudablas/compute/cuda_zsyr2k.c @@ -20,7 +20,7 @@ #include "cudablas.h" int CUDA_zsyr2k( - MORSE_enum uplo, MORSE_enum trans, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, @@ -30,7 +30,7 @@ int CUDA_zsyr2k( CUBLAS_STREAM_PARAM) { cublasZsyr2k(CUBLAS_HANDLE - morse_cublas_const(uplo), morse_cublas_const(trans), + chameleon_cublas_const(uplo), chameleon_cublas_const(trans), n, k, CUBLAS_VALUE(alpha), A, lda, B, ldb, @@ -38,5 +38,5 @@ int CUDA_zsyr2k( assert( CUBLAS_STATUS_SUCCESS == cublasGetError() ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_zsyrk.c b/cudablas/compute/cuda_zsyrk.c index 5cab678b8c022ea364b492802faf9e1b1ad432dd..d23629b19f9532206387aa96284b9261b3724f26 100644 --- a/cudablas/compute/cuda_zsyrk.c +++ b/cudablas/compute/cuda_zsyrk.c @@ -19,7 +19,7 @@ */ #include "cudablas.h" -int CUDA_zsyrk(MORSE_enum uplo, MORSE_enum trans, +int CUDA_zsyrk(cham_uplo_t uplo, cham_trans_t trans, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, @@ -28,12 +28,12 @@ int CUDA_zsyrk(MORSE_enum uplo, MORSE_enum trans, CUBLAS_STREAM_PARAM) { cublasZsyrk(CUBLAS_HANDLE - morse_cublas_const(uplo), morse_cublas_const(trans), + chameleon_cublas_const(uplo), chameleon_cublas_const(trans), n, k, CUBLAS_VALUE(alpha), A, lda, CUBLAS_VALUE(beta), C, ldc); assert( CUBLAS_STATUS_SUCCESS == cublasGetError() ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_ztpmqrt.c b/cudablas/compute/cuda_ztpmqrt.c index e379c0faef4b1f15016086ce23e03d0605834421..8ddcee6b1b628218eadeb59d512cf980b5d0851e 100644 --- a/cudablas/compute/cuda_ztpmqrt.c +++ b/cudablas/compute/cuda_ztpmqrt.c @@ -20,7 +20,7 @@ #include "cudablas.h" int -CUDA_ztpmqrt( MORSE_enum side, MORSE_enum trans, +CUDA_ztpmqrt( cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int IB, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, @@ -32,12 +32,12 @@ CUDA_ztpmqrt( MORSE_enum side, MORSE_enum trans, int m1, n1, ldwork, ldworkc, ws; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { cudablas_error(1, "Illegal value of side"); return -1; } - if ( side == MorseLeft ) { + if ( side == ChamLeft ) { m1 = K; n1 = N; ldwork = IB; @@ -71,5 +71,5 @@ CUDA_ztpmqrt( MORSE_enum side, MORSE_enum trans, return -6; } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_ztrmm.c b/cudablas/compute/cuda_ztrmm.c index a878d2fe75aec70d4587bfb6007ccab16e89c6aa..674eafcdaa99a9d20b22851af3a2cf681d536cf1 100644 --- a/cudablas/compute/cuda_ztrmm.c +++ b/cudablas/compute/cuda_ztrmm.c @@ -20,8 +20,8 @@ #include "cudablas.h" int CUDA_ztrmm( - MORSE_enum side, MORSE_enum uplo, - MORSE_enum transa, MORSE_enum diag, + cham_side_t side, cham_uplo_t uplo, + cham_trans_t transa, cham_diag_t diag, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, @@ -33,8 +33,8 @@ int CUDA_ztrmm( cublasZtrmm( CUBLAS_HANDLE - morse_cublas_const(side), morse_cublas_const(uplo), - morse_cublas_const(transa), morse_cublas_const(diag), + chameleon_cublas_const(side), chameleon_cublas_const(uplo), + chameleon_cublas_const(transa), chameleon_cublas_const(diag), m, n, CUBLAS_VALUE(alpha), A, lda, B, ldb, @@ -44,8 +44,8 @@ int CUDA_ztrmm( cublasZtrmm( CUBLAS_HANDLE - morse_cublas_const(side), morse_cublas_const(uplo), - morse_cublas_const(transa), morse_cublas_const(diag), + chameleon_cublas_const(side), chameleon_cublas_const(uplo), + chameleon_cublas_const(transa), chameleon_cublas_const(diag), m, n, CUBLAS_VALUE(alpha), A, lda, B, ldb); @@ -53,6 +53,6 @@ int CUDA_ztrmm( assert( CUBLAS_STATUS_SUCCESS == cublasGetError() ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_ztrsm.c b/cudablas/compute/cuda_ztrsm.c index 98da14e808cfd4b309138b21f2ed6255e78a2395..5fbc88e75c023a6552059f34ee63922c6c8b4414 100644 --- a/cudablas/compute/cuda_ztrsm.c +++ b/cudablas/compute/cuda_ztrsm.c @@ -19,8 +19,8 @@ */ #include "cudablas.h" -int CUDA_ztrsm(MORSE_enum side, MORSE_enum uplo, - MORSE_enum transa, MORSE_enum diag, +int CUDA_ztrsm(cham_side_t side, cham_uplo_t uplo, + cham_trans_t transa, cham_diag_t diag, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, @@ -28,13 +28,13 @@ int CUDA_ztrsm(MORSE_enum side, MORSE_enum uplo, CUBLAS_STREAM_PARAM) { cublasZtrsm(CUBLAS_HANDLE - morse_cublas_const(side), morse_cublas_const(uplo), - morse_cublas_const(transa), morse_cublas_const(diag), + chameleon_cublas_const(side), chameleon_cublas_const(uplo), + chameleon_cublas_const(transa), chameleon_cublas_const(diag), m, n, CUBLAS_VALUE(alpha), A, lda, B, ldb); assert( CUBLAS_STATUS_SUCCESS == cublasGetError() ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_ztrtri.c b/cudablas/compute/cuda_ztrtri.c index 5bb77b8f9233a8ede70c01a77dac721e3ce42d4f..f5de49eb1b48252c0261a8a79af05a84b7d820fe 100644 --- a/cudablas/compute/cuda_ztrtri.c +++ b/cudablas/compute/cuda_ztrtri.c @@ -30,6 +30,6 @@ int CUDA_ztrtri( fprintf(stderr, "Error in MAGMA: %d\n", ret); exit(-1); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } #endif diff --git a/cudablas/compute/cuda_ztslqt.c b/cudablas/compute/cuda_ztslqt.c index f7f36ec60bde7fc0d0a442d1d106271d1ae8c70c..40097ba02a2b0dc2764d2ed8a2eb720e7dfd695d 100644 --- a/cudablas/compute/cuda_ztslqt.c +++ b/cudablas/compute/cuda_ztslqt.c @@ -171,7 +171,7 @@ int CUDA_ztslqt( #undef dt_ref #undef d_ref - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } #endif diff --git a/cudablas/compute/cuda_ztsmlq.c b/cudablas/compute/cuda_ztsmlq.c index 9b37777807ca552aecffd2febd940ba2d0eb0ea9..ea34bf087142a76f0e3276f41b1f6ce3d9d1652a 100644 --- a/cudablas/compute/cuda_ztsmlq.c +++ b/cudablas/compute/cuda_ztsmlq.c @@ -20,7 +20,7 @@ #include "cudablas.h" int CUDA_ztsmlq( - MORSE_enum side, MORSE_enum trans, + cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, @@ -41,19 +41,19 @@ int CUDA_ztsmlq( int ni = N1; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { return -1; } /* NW is the minimum dimension of WORK */ - if (side == MorseLeft) { + if (side == ChamLeft) { NW = IB; } else { NW = N1; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { return -2; } if (M1 < 0) { @@ -63,16 +63,16 @@ int CUDA_ztsmlq( return -4; } if ( (M2 < 0) || - ( (M2 != M1) && (side == MorseRight) ) ){ + ( (M2 != M1) && (side == ChamRight) ) ){ return -5; } if ( (N2 < 0) || - ( (N2 != N1) && (side == MorseLeft) ) ){ + ( (N2 != N1) && (side == ChamLeft) ) ){ return -6; } if ((K < 0) || - ( (side == MorseLeft) && (K > M1) ) || - ( (side == MorseRight) && (K > N1) ) ) { + ( (side == ChamLeft) && (K > M1) ) || + ( (side == ChamRight) && (K > N1) ) ) { return -7; } if (IB < 0) { @@ -96,10 +96,10 @@ int CUDA_ztsmlq( /* Quick return */ if ((M1 == 0) || (N1 == 0) || (M2 == 0) || (N2 == 0) || (K == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (((side == MorseLeft) && (trans == MorseNoTrans)) - || ((side == MorseRight) && (trans != MorseNoTrans))) { + if (((side == ChamLeft) && (trans == ChamNoTrans)) + || ((side == ChamRight) && (trans != ChamNoTrans))) { i1 = 0; i3 = IB; } @@ -108,17 +108,17 @@ int CUDA_ztsmlq( i3 = -IB; } - if (trans == MorseNoTrans) { - trans = MorseConjTrans; + if (trans == ChamNoTrans) { + trans = ChamConjTrans; } else { - trans = MorseNoTrans; + trans = ChamNoTrans; } for(i = i1; (i > -1) && (i < K); i += i3) { kb = chameleon_min(IB, K-i); - if (side == MorseLeft) { + if (side == ChamLeft) { /* * H or H' is applied to C(i:m,1:n) */ @@ -137,7 +137,7 @@ int CUDA_ztsmlq( * Apply H or H' (NOTE: CORE_zparfb used to be CORE_ztsrfb) */ CUDA_zparfb( - side, trans, MorseForward, MorseRowwise, + side, trans, ChamDirForward, ChamRowwise, mi, ni, M2, N2, kb, 0, A1 + LDA1*jc+ic, LDA1, A2, LDA2, @@ -145,5 +145,5 @@ int CUDA_ztsmlq( T + LDT*i, LDT, WORK, LDWORK, WORKC, LDWORKC, CUBLAS_STREAM_VALUE ); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_ztsmqr.c b/cudablas/compute/cuda_ztsmqr.c index fdefdd3d87e3001a9cbe3435507e14bf218552c3..7e68ac18bf7db6e2b06118e325cdd174942027e3 100644 --- a/cudablas/compute/cuda_ztsmqr.c +++ b/cudablas/compute/cuda_ztsmqr.c @@ -20,7 +20,7 @@ #include "cudablas.h" int CUDA_ztsmqr( - MORSE_enum side, MORSE_enum trans, + cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, @@ -41,12 +41,12 @@ int CUDA_ztsmqr( int ni = N1; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { return -1; } /* NQ is the order of Q */ - if (side == MorseLeft) { + if (side == ChamLeft) { NQ = M2; NW = IB; } @@ -55,7 +55,7 @@ int CUDA_ztsmqr( NW = M1; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { return -2; } if (M1 < 0) { @@ -65,16 +65,16 @@ int CUDA_ztsmqr( return -4; } if ( (M2 < 0) || - ( (M2 != M1) && (side == MorseRight) ) ){ + ( (M2 != M1) && (side == ChamRight) ) ){ return -5; } if ( (N2 < 0) || - ( (N2 != N1) && (side == MorseLeft) ) ){ + ( (N2 != N1) && (side == ChamLeft) ) ){ return -6; } if ((K < 0) || - ( (side == MorseLeft) && (K > M1) ) || - ( (side == MorseRight) && (K > N1) ) ) { + ( (side == ChamLeft) && (K > M1) ) || + ( (side == ChamRight) && (K > N1) ) ) { return -7; } if (IB < 0) { @@ -98,10 +98,10 @@ int CUDA_ztsmqr( /* Quick return */ if ((M1 == 0) || (N1 == 0) || (M2 == 0) || (N2 == 0) || (K == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (((side == MorseLeft) && (trans != MorseNoTrans)) - || ((side == MorseRight) && (trans == MorseNoTrans))) { + if (((side == ChamLeft) && (trans != ChamNoTrans)) + || ((side == ChamRight) && (trans == ChamNoTrans))) { i1 = 0; i3 = IB; } @@ -113,7 +113,7 @@ int CUDA_ztsmqr( for(i = i1; (i > -1) && (i < K); i += i3) { kb = chameleon_min(IB, K-i); - if (side == MorseLeft) { + if (side == ChamLeft) { /* * H or H' is applied to C(i:m,1:n) */ @@ -131,7 +131,7 @@ int CUDA_ztsmqr( * Apply H or H' (NOTE: CORE_zparfb used to be CORE_ztsrfb) */ CUDA_zparfb( - side, trans, MorseForward, MorseColumnwise, + side, trans, ChamDirForward, ChamColumnwise, mi, ni, M2, N2, kb, 0, A1 + LDA1*jc+ic, LDA1, A2, LDA2, @@ -139,5 +139,5 @@ int CUDA_ztsmqr( T + LDT*i, LDT, WORK, LDWORK, WORKC, LDWORKC, CUBLAS_STREAM_VALUE ); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_ztsqrt.c b/cudablas/compute/cuda_ztsqrt.c index 8f635052c5fb2cdf9d0eece4ad79572c1ed959e2..c2ce2aae65c7833f233be67dac481870e77b1b1b 100644 --- a/cudablas/compute/cuda_ztsqrt.c +++ b/cudablas/compute/cuda_ztsqrt.c @@ -193,7 +193,7 @@ int CUDA_ztsqrt( #undef dt_ref #undef d_ref - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } #endif diff --git a/cudablas/compute/cuda_ztstrf.c b/cudablas/compute/cuda_ztstrf.c index 4bc219b9ff5eb2a8eb02393a7cbdcd4f7cf70a09..c51aff19af365325ce7273c4f6f323e7c64759c6 100644 --- a/cudablas/compute/cuda_ztstrf.c +++ b/cudablas/compute/cuda_ztstrf.c @@ -38,6 +38,6 @@ int CUDA_ztstrf( ipiv, hwork, ldhwork, dwork, lddwork, info ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } #endif diff --git a/cudablas/compute/cuda_zttmqr.c b/cudablas/compute/cuda_zttmqr.c index a9156f9dc273ba0dbb50dabf66de202347c4112a..3100f53a65951537fe9ed6595a366cb0ec6b4b66 100644 --- a/cudablas/compute/cuda_zttmqr.c +++ b/cudablas/compute/cuda_zttmqr.c @@ -20,7 +20,7 @@ #include "cudablas.h" int CUDA_zttmqr( - MORSE_enum side, MORSE_enum trans, + cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, @@ -43,12 +43,12 @@ int CUDA_zttmqr( int ni2 = N2; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { return -1; } /* NQ is the order of Q */ - if (side == MorseLeft) { + if (side == ChamLeft) { NQ = M2; NW = IB; } @@ -57,7 +57,7 @@ int CUDA_zttmqr( NW = M1; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { return -2; } if (M1 < 0) { @@ -67,16 +67,16 @@ int CUDA_zttmqr( return -4; } if ( (M2 < 0) || - ( (M2 != M1) && (side == MorseRight) ) ){ + ( (M2 != M1) && (side == ChamRight) ) ){ return -5; } if ( (N2 < 0) || - ( (N2 != N1) && (side == MorseLeft) ) ){ + ( (N2 != N1) && (side == ChamLeft) ) ){ return -6; } if ((K < 0) || - ( (side == MorseLeft) && (K > M1) ) || - ( (side == MorseRight) && (K > N1) ) ) { + ( (side == ChamLeft) && (K > M1) ) || + ( (side == ChamRight) && (K > N1) ) ) { return -7; } if (IB < 0) { @@ -100,10 +100,10 @@ int CUDA_zttmqr( /* Quick return */ if ((M1 == 0) || (N1 == 0) || (M2 == 0) || (N2 == 0) || (K == 0) || (IB == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (((side == MorseLeft) && (trans != MorseNoTrans)) - || ((side == MorseRight) && (trans == MorseNoTrans))) { + if (((side == ChamLeft) && (trans != ChamNoTrans)) + || ((side == ChamRight) && (trans == ChamNoTrans))) { i1 = 0; i3 = IB; } @@ -115,7 +115,7 @@ int CUDA_zttmqr( for(i = i1; (i > -1) && (i < K); i += i3) { kb = chameleon_min(IB, K-i); - if (side == MorseLeft) { + if (side == ChamLeft) { mi1 = kb; mi2 = chameleon_min(i+kb, M2); l = chameleon_min(kb, chameleon_max(0, M2-i)); @@ -132,7 +132,7 @@ int CUDA_zttmqr( * Apply H or H' (NOTE: CORE_zparfb used to be CORE_zttrfb) */ CUDA_zparfb( - side, trans, MorseForward, MorseColumnwise, + side, trans, ChamDirForward, ChamColumnwise, mi1, ni1, mi2, ni2, kb, l, A1 + LDA1*jc+ic, LDA1, A2, LDA2, @@ -141,5 +141,5 @@ int CUDA_zttmqr( WORK, LDWORK, WORKC, LDWORKC, CUBLAS_STREAM_VALUE ); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_zunmlqt.c b/cudablas/compute/cuda_zunmlqt.c index 1d2e0b6942e767ed3488f0ae7865b6e704fe49a4..77ad328e37cd9ce50d8eb9a84df64367dda5be95 100644 --- a/cudablas/compute/cuda_zunmlqt.c +++ b/cudablas/compute/cuda_zunmlqt.c @@ -20,7 +20,7 @@ #include "cudablas.h" int -CUDA_zunmlqt(MORSE_enum side, MORSE_enum trans, +CUDA_zunmlqt(cham_side_t side, cham_trans_t trans, int M, int N, int K, int IB, const cuDoubleComplex *A, int LDA, const cuDoubleComplex *T, int LDT, @@ -37,13 +37,13 @@ CUDA_zunmlqt(MORSE_enum side, MORSE_enum trans, int mi = M; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { return -1; } /* * NQ is the order of Q and NW is the minimum dimension of WORK */ - if (side == MorseLeft) { + if (side == ChamLeft) { nq = M; nw = N; } @@ -52,7 +52,7 @@ CUDA_zunmlqt(MORSE_enum side, MORSE_enum trans, nw = M; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { return -2; } if (M < 0) { @@ -79,10 +79,10 @@ CUDA_zunmlqt(MORSE_enum side, MORSE_enum trans, /* Quick return */ if ((M == 0) || (N == 0) || (K == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (((side == MorseLeft) && (trans == MorseNoTrans)) - || ((side == MorseRight) && (trans != MorseNoTrans))) { + if (((side == ChamLeft) && (trans == ChamNoTrans)) + || ((side == ChamRight) && (trans != ChamNoTrans))) { i1 = 0; i3 = IB; } @@ -91,17 +91,17 @@ CUDA_zunmlqt(MORSE_enum side, MORSE_enum trans, i3 = -IB; } - if( trans == MorseNoTrans) { - trans = MorseConjTrans; + if( trans == ChamNoTrans) { + trans = ChamConjTrans; } else { - trans = MorseNoTrans; + trans = ChamNoTrans; } for(i = i1; (i >- 1) && (i < K); i+=i3 ) { kb = chameleon_min(IB, K-i); - if (side == MorseLeft) { + if (side == ChamLeft) { /* * H or H' is applied to C(i:m,1:n) */ @@ -116,13 +116,13 @@ CUDA_zunmlqt(MORSE_enum side, MORSE_enum trans, jc = i; } - CUDA_zlarfb( side, trans, MorseForward, MorseRowwise, + CUDA_zlarfb( side, trans, ChamDirForward, ChamRowwise, mi, ni, kb, A + LDA * i + i, LDA, T + LDT * i, LDT, C + LDC * jc + ic, LDC, WORK, LDWORK, CUBLAS_STREAM_VALUE); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cuda_zunmqrt.c b/cudablas/compute/cuda_zunmqrt.c index acb99411fd554eea63eb1c1dbeca4fceacb30b34..e3a6b89a1b485a9fb0be2c50a095d9225e36b2c8 100644 --- a/cudablas/compute/cuda_zunmqrt.c +++ b/cudablas/compute/cuda_zunmqrt.c @@ -20,7 +20,7 @@ #include "cudablas.h" int -CUDA_zunmqrt(MORSE_enum side, MORSE_enum trans, +CUDA_zunmqrt(cham_side_t side, cham_trans_t trans, int M, int N, int K, int IB, const cuDoubleComplex *A, int LDA, const cuDoubleComplex *T, int LDT, @@ -37,13 +37,13 @@ CUDA_zunmqrt(MORSE_enum side, MORSE_enum trans, int mi = M; /* Check input arguments */ - if ((side != MorseLeft) && (side != MorseRight)) { + if ((side != ChamLeft) && (side != ChamRight)) { return -1; } /* * NQ is the order of Q and NW is the minimum dimension of WORK */ - if (side == MorseLeft) { + if (side == ChamLeft) { nq = M; nw = N; } @@ -52,7 +52,7 @@ CUDA_zunmqrt(MORSE_enum side, MORSE_enum trans, nw = M; } - if ((trans != MorseNoTrans) && (trans != MorseConjTrans)) { + if ((trans != ChamNoTrans) && (trans != ChamConjTrans)) { return -2; } if (M < 0) { @@ -79,10 +79,10 @@ CUDA_zunmqrt(MORSE_enum side, MORSE_enum trans, /* Quick return */ if ((M == 0) || (N == 0) || (K == 0)) - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; - if (((side == MorseLeft) && (trans != MorseNoTrans)) - || ((side == MorseRight) && (trans == MorseNoTrans))) { + if (((side == ChamLeft) && (trans != ChamNoTrans)) + || ((side == ChamRight) && (trans == ChamNoTrans))) { i1 = 0; i3 = IB; } @@ -94,7 +94,7 @@ CUDA_zunmqrt(MORSE_enum side, MORSE_enum trans, for(i = i1; (i >- 1) && (i < K); i+=i3 ) { kb = chameleon_min(IB, K-i); - if (side == MorseLeft) { + if (side == ChamLeft) { /* * H or H' is applied to C(i:m,1:n) */ @@ -109,7 +109,7 @@ CUDA_zunmqrt(MORSE_enum side, MORSE_enum trans, jc = i; } - CUDA_zlarfb( side, trans, MorseForward, MorseColumnwise, + CUDA_zlarfb( side, trans, ChamDirForward, ChamColumnwise, mi, ni, kb, A + LDA * i + i, LDA, T + LDT * i, LDT, @@ -118,5 +118,5 @@ CUDA_zunmqrt(MORSE_enum side, MORSE_enum trans, CUBLAS_STREAM_VALUE ); } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/cudablas/compute/cudaglobal.c b/cudablas/compute/cudaglobal.c index f74eb2f055544669d8aabbdb2feb221e74cfb8b4..4a0fdbac95fe4112c72872cb3a62c99da650cb6e 100644 --- a/cudablas/compute/cudaglobal.c +++ b/cudablas/compute/cudaglobal.c @@ -21,7 +21,7 @@ /** * LAPACK Constants */ -int morse_cublas_constants[] = +int chameleon_cublas_constants[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -34,22 +34,22 @@ int morse_cublas_constants[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 100 - 0, // 101: MorseRowMajor - 0, // 102: MorseColMajor + 0, // 101: ChamRowMajor + 0, // 102: ChamColMajor 0, 0, 0, 0, 0, 0, 0, 0, - CUBLAS_OP_N, // 111: MorseNoTrans - CUBLAS_OP_T, // 112: MorseTrans - CUBLAS_OP_C, // 113: MorseConjTrans + CUBLAS_OP_N, // 111: ChamNoTrans + CUBLAS_OP_T, // 112: ChamTrans + CUBLAS_OP_C, // 113: ChamConjTrans 0, 0, 0, 0, 0, 0, 0, - CUBLAS_FILL_MODE_UPPER, // 121: MorseUpper - CUBLAS_FILL_MODE_LOWER, // 122: MorseLower - 0, // 123: MorseUpperLower + CUBLAS_FILL_MODE_UPPER, // 121: ChamUpper + CUBLAS_FILL_MODE_LOWER, // 122: ChamLower + 0, // 123: ChamUpperLower 0, 0, 0, 0, 0, 0, 0, - CUBLAS_DIAG_NON_UNIT, // 131: MorseNonUnit - CUBLAS_DIAG_UNIT, // 132: MorseUnit + CUBLAS_DIAG_NON_UNIT, // 131: ChamNonUnit + CUBLAS_DIAG_UNIT, // 132: ChamUnit 0, 0, 0, 0, 0, 0, 0, 0, - CUBLAS_SIDE_LEFT, // 141: MorseLeft - CUBLAS_SIDE_RIGHT, // 142: MorseRight + CUBLAS_SIDE_LEFT, // 141: ChamLeft + CUBLAS_SIDE_RIGHT, // 142: ChamRight 0, 0, 0, 0, 0, 0, 0, 0, 0, // 151: 0, // 152: @@ -57,54 +57,54 @@ int morse_cublas_constants[] = 0, // 154: 0, // 155: 0, // 156: - 0, // 157: MorseEps + 0, // 157: ChamEps 0, // 158: 0, // 159: 0, // 160: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, // 171: MorseOneNorm - 0, // 172: MorseRealOneNorm - 0, // 173: MorseTwoNorm - 0, // 174: MorseFrobeniusNorm - 0, // 175: MorseInfNorm - 0, // 176: MorseRealInfNorm - 0, // 177: MorseMaxNorm - 0, // 178: MorseRealMaxNorm + 0, // 171: ChamOneNorm + 0, // 172: ChamRealOneNorm + 0, // 173: ChamTwoNorm + 0, // 174: ChamFrobeniusNorm + 0, // 175: ChamInfNorm + 0, // 176: ChamRealInfNorm + 0, // 177: ChamMaxNorm + 0, // 178: ChamRealMaxNorm 0, // 179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 200 - 0, // 201: MorseDistUniform - 0, // 202: MorseDistSymmetric - 0, // 203: MorseDistNormal + 0, // 201: ChamDistUniform + 0, // 202: ChamDistSymmetric + 0, // 203: ChamDistNormal 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 240 - 0, // 241 MorseHermGeev - 0, // 242 MorseHermPoev - 0, // 243 MorseNonsymPosv - 0, // 244 MorseSymPosv + 0, // 241 ChamHermGeev + 0, // 242 ChamHermPoev + 0, // 243 ChamNonsymPosv + 0, // 244 ChamSymPosv 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 290 - 0, // 291 MorseNoPacking - 0, // 292 MorsePackSubdiag - 0, // 293 MorsePackSupdiag - 0, // 294 MorsePackColumn - 0, // 295 MorsePackRow - 0, // 296 MorsePackLowerBand - 0, // 297 MorsePackUpeprBand - 0, // 298 MorsePackAll + 0, // 291 ChamNoPacking + 0, // 292 ChamPackSubdiag + 0, // 293 ChamPackSupdiag + 0, // 294 ChamPackColumn + 0, // 295 ChamPackRow + 0, // 296 ChamPackLowerBand + 0, // 297 ChamPackUpeprBand + 0, // 298 ChamPackAll 0, // 299 0, // 300 - 0, // 301 MorseNoVec - 0, // 302 MorseVec - 0, // 303 MorseIvec + 0, // 301 ChamNoVec + 0, // 302 ChamVec + 0, // 303 ChamIvec 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, diff --git a/cudablas/eztrace_module/CMakeLists.txt b/cudablas/eztrace_module/CMakeLists.txt index 01eb745e21a78f5c782714743a5c20b7406d5024..23082e1fd5d766319f8c640a7792395774a4518b 100644 --- a/cudablas/eztrace_module/CMakeLists.txt +++ b/cudablas/eztrace_module/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/cudablas/include/CMakeLists.txt b/cudablas/include/CMakeLists.txt index 93150e96dab9a532cd409985a468a2b8ea2b1ac7..34ec7d894e5ee1a8f7be414cbdc34b410f3b6376 100644 --- a/cudablas/include/CMakeLists.txt +++ b/cudablas/include/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/cudablas/include/cudablas.h b/cudablas/include/cudablas.h index 89b795691562c56d31608a5833228837b6116434..8326144f324f29fce7e9480f813fd0b0ee9eb767 100644 --- a/cudablas/include/cudablas.h +++ b/cudablas/include/cudablas.h @@ -20,7 +20,7 @@ #ifndef _CUDA_BLAS_H_ #define _CUDA_BLAS_H_ -#include "chameleon/chameleon_config.h" +#include "chameleon/config.h" #if !defined(CHAMELEON_USE_CUDA) #error "This file should not be included" @@ -61,11 +61,11 @@ #endif /* defined(CHAMELEON_USE_CUBLAS_V2) */ /** - * MORSE types and constants + * CHAMELEON types and constants */ -#include "chameleon/morse_types.h" -#include "chameleon/morse_struct.h" -#include "chameleon/morse_constants.h" +#include "chameleon/types.h" +#include "chameleon/struct.h" +#include "chameleon/constants.h" /** * CUDA BLAS headers @@ -89,15 +89,15 @@ END_C_DECLS */ BEGIN_C_DECLS -extern char *morse_lapack_constants[]; -#define morse_lapack_const(morse_const) morse_lapack_constants[morse_const][0] +extern char *chameleon_lapack_constants[]; +#define chameleon_lapack_const(chameleon_const) chameleon_lapack_constants[chameleon_const][0] -extern int morse_cublas_constants[]; +extern int chameleon_cublas_constants[]; #if defined(CHAMELEON_USE_CUBLAS_V2) -#define morse_cublas_const(morse_const) morse_cublas_constants[morse_const] +#define chameleon_cublas_const(chameleon_const) chameleon_cublas_constants[chameleon_const] #else -#define morse_cublas_const(morse_const) morse_lapack_constants[morse_const][0] +#define chameleon_cublas_const(chameleon_const) chameleon_lapack_constants[chameleon_const][0] #endif END_C_DECLS diff --git a/cudablas/include/cudablas/cudablas_z.h b/cudablas/include/cudablas/cudablas_z.h index e7c6a9d2e4c4c7de5662104b39d0f50d0be66f4c..3861eef2b6ebe35cb21a53b6bad45c4b6e59bc3c 100644 --- a/cudablas/include/cudablas/cudablas_z.h +++ b/cudablas/include/cudablas/cudablas_z.h @@ -9,7 +9,7 @@ * *** * - * @brief Chameleon GPU MORSE_Complex64_t kernels header + * @brief Chameleon GPU CHAMELEON_Complex64_t kernels header * * @version 1.0.0 * @author Florent Pruvost @@ -17,31 +17,31 @@ * @precisions normal z -> c d s * */ -#ifndef _MORSE_CUDA_ZBLAS_H_ -#define _MORSE_CUDA_ZBLAS_H_ +#ifndef _CHAMELEON_CUDA_ZBLAS_H_ +#define _CHAMELEON_CUDA_ZBLAS_H_ /** * Declarations of cuda kernels - alphabetical order */ -int CUDA_zgeadd( MORSE_enum trans, int m, int n, const cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *beta, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM ); -int CUDA_zgemerge( MORSE_enum side, MORSE_enum diag, int M, int N, cuDoubleComplex *A, int LDA, cuDoubleComplex *B, int LDB, CUBLAS_STREAM_PARAM ); -int CUDA_zgemm( MORSE_enum transa, MORSE_enum transb, int m, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM ); -int CUDA_zhemm( MORSE_enum side, MORSE_enum uplo, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM ); -int CUDA_zher2k( MORSE_enum uplo, MORSE_enum trans, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, double *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM ); -int CUDA_zherfb( MORSE_enum uplo, int n, int k, int ib, int nb, const cuDoubleComplex *A, int lda, const cuDoubleComplex *T, int ldt, cuDoubleComplex *C, int ldc, cuDoubleComplex *WORK, int ldwork, CUBLAS_STREAM_PARAM ); -int CUDA_zherk( MORSE_enum uplo, MORSE_enum trans, int n, int k, double *alpha, const cuDoubleComplex *A, int lda, double *beta, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM ); -int CUDA_zlarfb(MORSE_enum side, MORSE_enum trans, MORSE_enum direct, MORSE_enum storev, int M, int N, int K, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *C, int LDC, cuDoubleComplex *WORK, int LDWORK, CUBLAS_STREAM_PARAM ); -int CUDA_zparfb(MORSE_enum side, MORSE_enum trans, MORSE_enum direct, MORSE_enum storev, int M1, int N1, int M2, int N2, int K, int L, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *WORK, int LDWORK, cuDoubleComplex *WORKC, int LDWORKC, CUBLAS_STREAM_PARAM ); -int CUDA_zsymm( MORSE_enum side, MORSE_enum uplo, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM ); -int CUDA_zsyr2k( MORSE_enum uplo, MORSE_enum trans, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM ); -int CUDA_zsyrk( MORSE_enum uplo, MORSE_enum trans, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM ); -int CUDA_ztpmqrt( MORSE_enum side, MORSE_enum trans, int M, int N, int K, int L, int IB, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *A, int LDA, cuDoubleComplex *B, int LDB, cuDoubleComplex *WORK, CUBLAS_STREAM_PARAM ); -int CUDA_ztrmm( MORSE_enum side, MORSE_enum uplo, MORSE_enum transa, MORSE_enum diag, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM ); -int CUDA_ztrsm( MORSE_enum side, MORSE_enum uplo, MORSE_enum transa, MORSE_enum diag, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM ); -int CUDA_ztsmlq( MORSE_enum side, MORSE_enum trans, int M1, int N1, int M2, int N2, int K, int IB, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *WORK, int LDWORK, cuDoubleComplex *WORKC, int LDWORKC, CUBLAS_STREAM_PARAM ); -int CUDA_ztsmqr( MORSE_enum side, MORSE_enum trans, int M1, int N1, int M2, int N2, int K, int IB, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *WORK, int LDWORK, cuDoubleComplex *WORKC, int LDWORKC, CUBLAS_STREAM_PARAM ); -int CUDA_zttmqr( MORSE_enum side, MORSE_enum trans, int M1, int N1, int M2, int N2, int K, int IB, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *WORK, int LDWORK, cuDoubleComplex *WORKC, int LDWORKC, CUBLAS_STREAM_PARAM ); -int CUDA_zunmlqt(MORSE_enum side, MORSE_enum trans, int M, int N, int K, int IB, const cuDoubleComplex *A, int LDA, const cuDoubleComplex *T, int LDT, cuDoubleComplex *C, int LDC, cuDoubleComplex *WORK, int LDWORK, CUBLAS_STREAM_PARAM ); -int CUDA_zunmqrt(MORSE_enum side, MORSE_enum trans, int M, int N, int K, int IB, const cuDoubleComplex *A, int LDA, const cuDoubleComplex *T, int LDT, cuDoubleComplex *C, int LDC, cuDoubleComplex *WORK, int LDWORK, CUBLAS_STREAM_PARAM ); +int CUDA_zgeadd( cham_trans_t trans, int m, int n, const cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *beta, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM ); +int CUDA_zgemerge( cham_side_t side, cham_diag_t diag, int M, int N, cuDoubleComplex *A, int LDA, cuDoubleComplex *B, int LDB, CUBLAS_STREAM_PARAM ); +int CUDA_zgemm( cham_trans_t transa, cham_trans_t transb, int m, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM ); +int CUDA_zhemm( cham_side_t side, cham_uplo_t uplo, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM ); +int CUDA_zher2k( cham_uplo_t uplo, cham_trans_t trans, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, double *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM ); +int CUDA_zherfb( cham_uplo_t uplo, int n, int k, int ib, int nb, const cuDoubleComplex *A, int lda, const cuDoubleComplex *T, int ldt, cuDoubleComplex *C, int ldc, cuDoubleComplex *WORK, int ldwork, CUBLAS_STREAM_PARAM ); +int CUDA_zherk( cham_uplo_t uplo, cham_trans_t trans, int n, int k, double *alpha, const cuDoubleComplex *A, int lda, double *beta, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM ); +int CUDA_zlarfb(cham_side_t side, cham_trans_t trans, cham_dir_t direct, cham_store_t storev, int M, int N, int K, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *C, int LDC, cuDoubleComplex *WORK, int LDWORK, CUBLAS_STREAM_PARAM ); +int CUDA_zparfb(cham_side_t side, cham_trans_t trans, cham_dir_t direct, cham_store_t storev, int M1, int N1, int M2, int N2, int K, int L, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *WORK, int LDWORK, cuDoubleComplex *WORKC, int LDWORKC, CUBLAS_STREAM_PARAM ); +int CUDA_zsymm( cham_side_t side, cham_uplo_t uplo, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM ); +int CUDA_zsyr2k( cham_uplo_t uplo, cham_trans_t trans, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, const cuDoubleComplex *B, int ldb, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM ); +int CUDA_zsyrk( cham_uplo_t uplo, cham_trans_t trans, int n, int k, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, cuDoubleComplex *beta, cuDoubleComplex *C, int ldc, CUBLAS_STREAM_PARAM ); +int CUDA_ztpmqrt( cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int IB, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *A, int LDA, cuDoubleComplex *B, int LDB, cuDoubleComplex *WORK, CUBLAS_STREAM_PARAM ); +int CUDA_ztrmm( cham_side_t side, cham_uplo_t uplo, cham_trans_t transa, cham_diag_t diag, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM ); +int CUDA_ztrsm( cham_side_t side, cham_uplo_t uplo, cham_trans_t transa, cham_diag_t diag, int m, int n, cuDoubleComplex *alpha, const cuDoubleComplex *A, int lda, cuDoubleComplex *B, int ldb, CUBLAS_STREAM_PARAM ); +int CUDA_ztsmlq( cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *WORK, int LDWORK, cuDoubleComplex *WORKC, int LDWORKC, CUBLAS_STREAM_PARAM ); +int CUDA_ztsmqr( cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *WORK, int LDWORK, cuDoubleComplex *WORKC, int LDWORKC, CUBLAS_STREAM_PARAM ); +int CUDA_zttmqr( cham_side_t side, cham_trans_t trans, int M1, int N1, int M2, int N2, int K, int IB, cuDoubleComplex *A1, int LDA1, cuDoubleComplex *A2, int LDA2, const cuDoubleComplex *V, int LDV, const cuDoubleComplex *T, int LDT, cuDoubleComplex *WORK, int LDWORK, cuDoubleComplex *WORKC, int LDWORKC, CUBLAS_STREAM_PARAM ); +int CUDA_zunmlqt(cham_side_t side, cham_trans_t trans, int M, int N, int K, int IB, const cuDoubleComplex *A, int LDA, const cuDoubleComplex *T, int LDT, cuDoubleComplex *C, int LDC, cuDoubleComplex *WORK, int LDWORK, CUBLAS_STREAM_PARAM ); +int CUDA_zunmqrt(cham_side_t side, cham_trans_t trans, int M, int N, int K, int IB, const cuDoubleComplex *A, int LDA, const cuDoubleComplex *T, int LDT, cuDoubleComplex *C, int LDC, cuDoubleComplex *WORK, int LDWORK, CUBLAS_STREAM_PARAM ); #endif diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index dc2b7c8fcd9b450ea770147cede32614bbfd0803..0c43680a0b26fb44d442daaa698546e3e935ceaa 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/doc/doxygen/CMakeLists.txt b/doc/doxygen/CMakeLists.txt index a6d3f9889ac2ce2e82552bf77fcefa1cafb8ffe6..778391eb508dd762167c32717a94e1e80ef2e944 100644 --- a/doc/doxygen/CMakeLists.txt +++ b/doc/doxygen/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/doc/doxygen/groups-usr.dox b/doc/doxygen/groups-usr.dox index 2cbbfa74e2b69f1a63bae390eb3a6c70e14b3c34..8414cbcb34dc6e355343855c2b0e9dce29363f2b 100644 --- a/doc/doxygen/groups-usr.dox +++ b/doc/doxygen/groups-usr.dox @@ -2,10 +2,10 @@ * **** * - * @defgroup MORSE_Complex64_t Simple Interface - Double Complex + * @defgroup CHAMELEON_Complex64_t Simple Interface - Double Complex * This is the group of double complex functions using the * simple user interface. - * @defgroup MORSE_Complex32_t Simple Interface - Single Complex + * @defgroup CHAMELEON_Complex32_t Simple Interface - Single Complex * This is the group of single complex functions using the * simple user interface. * @defgroup double Simple Interface - Double Real @@ -17,10 +17,10 @@ * **** * - * @defgroup MORSE_Complex64_t_Tile Advanced Interface: Synchronous - Double Complex + * @defgroup CHAMELEON_Complex64_t_Tile Advanced Interface: Synchronous - Double Complex * This is the group of double complex functions using the * advanced synchronous user interface. - * @defgroup MORSE_Complex32_t_Tile Advanced Interface: Synchronous - Single Complex + * @defgroup CHAMELEON_Complex32_t_Tile Advanced Interface: Synchronous - Single Complex * This is the group of single complex functions using the * advanced synchronous interface. * @defgroup double_Tile Advanced Interface: Synchronous - Double Real @@ -32,10 +32,10 @@ * **** * - * @defgroup MORSE_Complex64_t_Tile_Async Advanced Interface: Asynchronous - Double Complex + * @defgroup CHAMELEON_Complex64_t_Tile_Async Advanced Interface: Asynchronous - Double Complex * This is the group of double complex functions using the * advanced asynchronous interface. - * @defgroup MORSE_Complex32_t_Tile_Async Advanced Interface: Asynchronous - Single Complex + * @defgroup CHAMELEON_Complex32_t_Tile_Async Advanced Interface: Asynchronous - Single Complex * This is the group of single complex functions using the * advanced asynchronous interface. * @defgroup double_Tile_Async Advanced Interface: Asynchronous - Double Real diff --git a/doc/doxygen/main.dox b/doc/doxygen/main.dox index ef752aaa9896a051d6a0b3df23d94d73f9c68bc9..480455cca104e38a385f8b7ff71c00af73b1fa57 100644 --- a/doc/doxygen/main.dox +++ b/doc/doxygen/main.dox @@ -13,8 +13,8 @@ This document aims at describing Chameleon's API and internal functions. - @ref Workspace @section sec_linalg Linear algebra routines -- @ref MORSE_Complex64_t "LAPACK matrix layout" -- @ref MORSE_Complex64_t_Tile "Tile matrix layout" -- @ref MORSE_Complex64_t_Tile_Async "Tile matrix layout, asynchronous interface" +- @ref CHAMELEON_Complex64_t "LAPACK matrix layout" +- @ref CHAMELEON_Complex64_t_Tile "Tile matrix layout" +- @ref CHAMELEON_Complex64_t_Tile_Async "Tile matrix layout, asynchronous interface" */ diff --git a/doc/orgmode/CMakeLists.txt b/doc/orgmode/CMakeLists.txt index 150423f7186b96405f8884bb2a34d4c26888f373..0d92f218a833a867a979a514f33d6f1069055729 100644 --- a/doc/orgmode/CMakeLists.txt +++ b/doc/orgmode/CMakeLists.txt @@ -6,13 +6,13 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology # Univ. of California Berkeley, -# Univ. of Colorado Denver. +# Univ. of Colorado Denver. # # @version 1.0.0 # @author Florent Pruvost @@ -31,7 +31,7 @@ configure_file("users_guide.org.in" "users_guide.org" @ONLY) -set(FIGURES +set(FIGURES tile_lu.pdf tile_lu.jpg tile_layout.pdf @@ -39,14 +39,14 @@ set(FIGURES trace_qr.pdf trace_qr.jpg potri_async.png - morse_header.png + chameleon_header.png ) -set(FIGURES_HTML +set(FIGURES_HTML tile_lu.jpg tile_layout.jpg trace_qr.jpg potri_async.png - morse_header.png + chameleon_header.png ) foreach(_fig ${FIGURES}) @@ -65,7 +65,7 @@ if(EMACS_COMPILER) # ---------- add_custom_command(OUTPUT users_guide.html COMMAND ${EMACS_COMPILER} - ARGS ${CMAKE_CURRENT_BINARY_DIR}/users_guide.org + ARGS ${CMAKE_CURRENT_BINARY_DIR}/users_guide.org --batch -f org-html-export-to-html @@ -75,7 +75,7 @@ if(EMACS_COMPILER) ) add_custom_command(OUTPUT users_guide.pdf COMMAND ${EMACS_COMPILER} - ARGS ${CMAKE_CURRENT_BINARY_DIR}/users_guide.org + ARGS ${CMAKE_CURRENT_BINARY_DIR}/users_guide.org --batch -f org-latex-export-to-pdf diff --git a/doc/orgmode/chapters/morse_header.png b/doc/orgmode/chapters/chameleon_header.png similarity index 100% rename from doc/orgmode/chapters/morse_header.png rename to doc/orgmode/chapters/chameleon_header.png diff --git a/doc/orgmode/chapters/installing.org b/doc/orgmode/chapters/installing.org index 02e21d8e83cf562a03fe0601100803583da51a8b..92e55e8ec64b7f48cd03a9ccc2a0c9487e30243e 100644 --- a/doc/orgmode/chapters/installing.org +++ b/doc/orgmode/chapters/installing.org @@ -252,7 +252,7 @@ we encourage users to use the /morse/ branch of [[sec:spack][Spack]]. dependencies) we encourage users to use the morse branch of *Spack*. Please read these documentations: - * [[http://morse.gforge.inria.fr/spack/spack.html][Spack Morse]] + * [[http://morse.gforge.inria.fr/spack/spack.html][Spack Cham]] * [[http://morse.gforge.inria.fr/spack/spack.html#orgd5b1afe][Section Chameleon]] *** Usage example for a simple distribution of Chameleon diff --git a/doc/orgmode/chapters/introduction.org b/doc/orgmode/chapters/introduction.org index 6b6ed5e3ed8e312bb09bd191ba5814a7b71787a6..0341d5f231bfc399c9e6f3d10cba92adf8eb4b6c 100644 --- a/doc/orgmode/chapters/introduction.org +++ b/doc/orgmode/chapters/introduction.org @@ -1,16 +1,16 @@ # This file is part of the Chameleon User's Guide. # Copyright (C) 2017 Inria # See the file ../users_guide.org for copying conditions. -** MORSE project - #+NAME: fig:morse_header +** CHAMELEON project + #+NAME: fig:chameleon_header #+ATTR_HTML: :align center - [[file:morse_header.png]] + [[file:chameleon_header.png]] Chameleon is a linear algebra software created jointly by several - research teams as part of the MORSE associate team: [[http://www.icl.utk.edu/][ICL]], [[https://www.inria.fr/en/][Inria]], + research teams as part of the CHAMELEON associate team: [[http://www.icl.utk.edu/][ICL]], [[https://www.inria.fr/en/][Inria]], [[https://www.kaust.edu.sa/en][KAUST]], [[http://www.ucdenver.edu/pages/ucdwelcomepage.aspx][The University of Colorado Denver]]. -*** MORSE Objectives +*** CHAMELEON Objectives When processor clock speeds flatlined in 2004, after more than fifteen years of exponential increases, the era of near automatic performance improvements that the HPC application community had @@ -30,7 +30,7 @@ 5) new levels of self-adaptivity will be required to enable software to modulate process speed in order to satisfy limited energy budgets. - The MORSE associate team will tackle the first three challenges in + The CHAMELEON associate team will tackle the first three challenges in a orchestrating work between research groups respectively specialized in sparse linear algebra, dense linear algebra and runtime systems. The overall objective is to develop robust linear @@ -42,7 +42,7 @@ much more prospective. *** Research fields - The overall goal of the MORSE associate team is to enable advanced + The overall goal of the CHAMELEON associate team is to enable advanced numerical algorithms to be executed on a scalable unified runtime system for exploiting the full potential of future exascale machines. We expect advances in three directions based first on @@ -111,7 +111,7 @@ promising approach. *** Research papers - Research papers about MORSE can be found [[http://icl.cs.utk.edu/projectsdev/morse/pubs/index.html][here]]. + Research papers about CHAMELEON can be found [[http://icl.cs.utk.edu/projectsdev/morse/pubs/index.html][here]]. ** Chameleon *** Chameleon software diff --git a/doc/orgmode/chapters/using.org b/doc/orgmode/chapters/using.org index 86e108b4fc76133408a616fa21c6cc3750b0507f..6ab2d7c4929aead34bf1f1c70d7bf0cbc60ea14c 100644 --- a/doc/orgmode/chapters/using.org +++ b/doc/orgmode/chapters/using.org @@ -79,8 +79,8 @@ # # # # Chameleon provides a Fortran interface to user functions. Example: # # #+begin_src -# # call morse_version(major, minor, patch) !or -# # call MORSE_VERSION(major, minor, patch) +# # call chameleon_version(major, minor, patch) !or +# # call CHAMELEON_VERSION(major, minor, patch) # # #+end_src # # # # Build and link are very similar to the C case. @@ -117,7 +117,7 @@ option ~-[-]help~ or ~-[-]h~. This set of binaries are separated into three categories and can be found in three different directories: * *example*: contains examples of API usage and more specifically the - sub-directory ~lapack_to_morse/~ provides a tutorial that explains + sub-directory ~lapack_to_chameleon/~ provides a tutorial that explains how to use Chameleon functionalities starting from a full LAPACK code, see [[sec:tuto][Tutorial LAPACK to Chameleon]] * *testing*: contains testing drivers to check numerical correctness of @@ -299,24 +299,24 @@ supported in both single precision and double precision. Routines that compute linear algebra are of the following form: #+begin_src - MORSE_name[_Tile[_Async]] + CHAMELEON_name[_Tile[_Async]] #+end_src - * all user routines are prefixed with *MORSE* - * in the pattern *MORSE_name[_Tile[_Async]]*, /name/ follows the + * all user routines are prefixed with *CHAMELEON* + * in the pattern *CHAMELEON_name[_Tile[_Async]]*, /name/ follows the BLAS/LAPACK naming scheme for algorithms (/e.g./ sgemm for general matrix-matrix multiply simple precision) * Chameleon provides three interface levels - * *MORSE_name*: simplest interface, very close to CBLAS and + * *CHAMELEON_name*: simplest interface, very close to CBLAS and LAPACKE, matrices are given following the LAPACK data layout (1-D array column-major). It involves copy of data from LAPACK layout to tile layout and conversely (to update LAPACK data), see [[sec:tuto_step1][Step1]]. - * *MORSE_name_Tile*: the tile interface avoid copies between LAPACK + * *CHAMELEON_name_Tile*: the tile interface avoid copies between LAPACK and tile layouts. It is the standard interface of Chameleon and it should achieved better performance than the previous simplest interface. The data are given through a specific structure called a descriptor, see [[sec:tuteo_step2][Step2]]. - * *MORSE_name_Tile_Async*: similar to the tile interface, it avoids + * *CHAMELEON_name_Tile_Async*: similar to the tile interface, it avoids synchonization barrier normally called between *Tile* routines. At the end of an *Async* function, completion of tasks is not guaranteed and data are not necessarily up-to-date. To ensure @@ -324,13 +324,13 @@ has to be called after the sequence of *Async* functions, see [[tuto_step4][Step4]]. - MORSE routine calls have to be preceded from + CHAMELEON routine calls have to be preceded from #+begin_src - MORSE_Init( NCPU, NGPU ); + CHAMELEON_Init( NCPU, NGPU ); #+end_src - to initialize MORSE and the runtime system and followed by + to initialize CHAMELEON and the runtime system and followed by #+begin_src - MORSE_Finalize(); + CHAMELEON_Finalize(); #+end_src to free some data and finalize the runtime and/or MPI. @@ -349,7 +349,7 @@ to let Chameleon initialize user's data (matrices/vectors) in parallel. - Source files can be found in the ~example/lapack_to_morse/~ + Source files can be found in the ~example/lapack_to_chameleon/~ directory. If CMake option *CHAMELEON_ENABLE_EXAMPLE* is ON then source files are compiled with the project libraries. The arithmetic precision is /double/. To execute a step @@ -423,23 +423,23 @@ equivalent functions. The solving code becomes: #+begin_example /* Factorization: */ - MORSE_dpotrf( UPLO, N, A, N ); + CHAMELEON_dpotrf( UPLO, N, A, N ); /* Solve: */ - MORSE_dpotrs(UPLO, N, NRHS, A, N, X, N); + CHAMELEON_dpotrs(UPLO, N, NRHS, A, N, X, N); #+end_example The API is almost the same so that it is easy to use for beginners. - It is important to keep in mind that before any call to MORSE routines, - *MORSE_Init* has to be invoked to initialize MORSE and the runtime system. + It is important to keep in mind that before any call to CHAMELEON routines, + *CHAMELEON_Init* has to be invoked to initialize CHAMELEON and the runtime system. Example: #+begin_example - MORSE_Init( NCPU, NGPU ); + CHAMELEON_Init( NCPU, NGPU ); #+end_example - After all MORSE calls have been done, a call to *MORSE_Finalize* is + After all CHAMELEON calls have been done, a call to *CHAMELEON_Finalize* is required to free some data and finalize the runtime and/or MPI. #+begin_example - MORSE_Finalize(); + CHAMELEON_Finalize(); #+end_example - We use MORSE routines with the LAPACK interface which means the + We use CHAMELEON routines with the LAPACK interface which means the routines accepts the same matrix format as LAPACK (1-D array column-major). Note that we copy the matrix to get it in our own tile structures, see details about this format here [[sec:tile][Tile Data @@ -449,37 +449,37 @@ <<sec:tuto_step2>> This program is a copy of step1 but instead of using the LAPACK interface which - reads to copy LAPACK matrices inside MORSE routines we use the tile interface. + reads to copy LAPACK matrices inside CHAMELEON routines we use the tile interface. We will still use standard format of matrix but we will see how to give this - matrix to create a MORSE descriptor, a structure wrapping data on which we want + matrix to create a CHAMELEON descriptor, a structure wrapping data on which we want to apply sequential task-based algorithms. The solving code becomes: #+begin_example /* Factorization: */ - MORSE_dpotrf_Tile( UPLO, descA ); + CHAMELEON_dpotrf_Tile( UPLO, descA ); /* Solve: */ - MORSE_dpotrs_Tile( UPLO, descA, descX ); + CHAMELEON_dpotrs_Tile( UPLO, descA, descX ); #+end_example - To use the tile interface, a specific structure *MORSE_desc_t* must be + To use the tile interface, a specific structure *CHAM_desc_t* must be created. This can be achieved from different ways. - 1. Use the existing function *MORSE_Desc_Create*: means the matrix + 1. Use the existing function *CHAMELEON_Desc_Create*: means the matrix data are considered contiguous in memory as it is considered in PLASMA ([[sec:tile][Tile Data Layout]]). - 2. Use the existing function *MORSE_Desc_Create_OOC*: means the + 2. Use the existing function *CHAMELEON_Desc_Create_OOC*: means the matrix data is allocated on-demand in memory tile by tile, and possibly pushed to disk if that does not fit memory. - 3. Use the existing function *MORSE_Desc_Create_User*: it is more + 3. Use the existing function *CHAMELEON_Desc_Create_User*: it is more flexible than *Desc_Create* because you can give your own way to access to tile data so that your tiles can be allocated wherever you want in memory, see next paragraph [[sec:tuto_step3][Step3]]. 4. Create you own function to fill the descriptor. If you - understand well the meaning of each item of *MORSE_desc_t*, you + understand well the meaning of each item of *CHAM_desc_t*, you should be able to fill correctly the structure. In Step2, we use the first way to create the descriptor: #+begin_example - MORSE_Desc_Create(&descA, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descA, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1); @@ -487,15 +487,15 @@ * *descA* is the descriptor to create. * The second argument is a pointer to existing data. The existing data must follow LAPACK/PLASMA matrix layout [[sec:tile][Tile Data Layout]] - (1-D array column-major) if *MORSE_Desc_Create* is used to create - the descriptor. The *MORSE_Desc_Create_User* function can be used + (1-D array column-major) if *CHAMELEON_Desc_Create* is used to create + the descriptor. The *CHAMELEON_Desc_Create_User* function can be used if you have data organized differently. This is discussed in the next paragraph [[sec_tuto_step3][Step3]]. Giving a *NULL* pointer means you let the function allocate memory space. This requires to copy your data in the memory allocated by the *Desc_Create. This can be done with #+begin_example - MORSE_Lapack_to_Tile(A, N, descA); + CHAMELEON_Lapack_to_Tile(A, N, descA); #+end_example * Third argument of @code{Desc_Create} is the datatype (used for memory allocation). @@ -510,7 +510,7 @@ not consider submatrices, just use 0, 0, NROWS, NCOLS. * Two last arguments are the parameter of the 2-D block-cyclic distribution grid, see [[http://www.netlib.org/scalapack/slug/node75.html][ScaLAPACK]]. To be able to use other data - distribution over the nodes, *MORSE_Desc_Create_User* function + distribution over the nodes, *CHAMELEON_Desc_Create_User* function should be used. **** Step3 @@ -519,30 +519,30 @@ This program makes use of the same interface than Step2 (tile interface) but does not allocate LAPACK matrices anymore so that no copy between LAPACK matrix layout and tile matrix layout are - necessary to call MORSE routines. To generate random right + necessary to call CHAMELEON routines. To generate random right hand-sides you can use: #+begin_example /* Allocate memory and initialize descriptor B */ - MORSE_Desc_Create(&descB, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descB, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1); /* generate RHS with random values */ - MORSE_dplrnt_Tile( descB, 5673 ); + CHAMELEON_dplrnt_Tile( descB, 5673 ); #+end_example The other important point is that is it possible to create a - descriptor, the necessary structure to call MORSE efficiently, by + descriptor, the necessary structure to call CHAMELEON efficiently, by giving your own pointer to tiles if your matrix is not organized as a 1-D array column-major. This can be achieved with the - *MORSE_Desc_Create_User* routine. Here is an example: + *CHAMELEON_Desc_Create_User* routine. Here is an example: #+begin_example - MORSE_Desc_Create_User(&descA, matA, MorseRealDouble, + CHAMELEON_Desc_Create_User(&descA, matA, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1, user_getaddr_arrayofpointers, user_getblkldd_arrayofpointers, user_getrankof_zero); #+end_example - Firsts arguments are the same than *MORSE_Desc_Create* routine. + Firsts arguments are the same than *CHAMELEON_Desc_Create* routine. Following arguments allows you to give pointer to functions that manage the access to tiles from the structure given as second argument. Here for example, *matA* is an array containing @@ -570,7 +570,7 @@ This program is a copy of step2 but instead of using the tile interface, it uses the tile async interface. The goal is to exhibit the runtime synchronization barriers. Keep in mind that - when the tile interface is called, like *MORSE_dpotrf_Tile*, + when the tile interface is called, like *CHAMELEON_dpotrf_Tile*, a synchronization function, waiting for the actual execution and termination of all tasks, is called to ensure the proper completion of the algorithm (i.e. data are up-to-date). The code @@ -578,29 +578,29 @@ algorithms so that less synchronisations are done. The code becomes: #+begin_example - /* Morse structure containing parameters and a structure to interact with + /* Cham structure containing parameters and a structure to interact with * the Runtime system */ - MORSE_context_t *morse; - /* MORSE sequence uniquely identifies a set of asynchronous function calls + CHAM_context_t *chamctxt; + /* CHAMELEON sequence uniquely identifies a set of asynchronous function calls * sharing common exception handling */ - MORSE_sequence_t *sequence = NULL; - /* MORSE request uniquely identifies each asynchronous function call */ - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + RUNTIME_sequence_t *sequence = NULL; + /* CHAMELEON request uniquely identifies each asynchronous function call */ + RUNTIME_request_t request = CHAMELEON_REQUEST_INITIALIZER; int status; ... - morse_sequence_create(morse, &sequence); + chameleon_sequence_create(chamctxt, &sequence); /* Factorization: */ - MORSE_dpotrf_Tile_Async( UPLO, descA, sequence, &request ); + CHAMELEON_dpotrf_Tile_Async( UPLO, descA, sequence, &request ); /* Solve: */ - MORSE_dpotrs_Tile_Async( UPLO, descA, descX, sequence, &request); + CHAMELEON_dpotrs_Tile_Async( UPLO, descA, descX, sequence, &request); /* Synchronization barrier (the runtime ensures that all submitted tasks * have been terminated */ - RUNTIME_barrier(morse); + RUNTIME_barrier(chamctxt); /* Ensure that all data processed on the gpus we are depending on are back * in main memory */ RUNTIME_desc_getoncpu(descA); @@ -613,8 +613,8 @@ without synchronization so that some tasks of *dpotrf* and *dpotrs* can be concurently executed which could increase performances. The async interface is very similar to the tile one. It is only - necessary to give two new objects *MORSE_sequence_t* and - *MORSE_request_t* used to handle asynchronous function calls. + necessary to give two new objects *RUNTIME_sequence_t* and + *RUNTIME_request_t* used to handle asynchronous function calls. #+CAPTION: POTRI (POTRF, TRTRI, LAUUM) algorithm with and without synchronization barriers, courtesey of the [[http://icl.cs.utk.edu/plasma/][PLASMA]] team. #+NAME: fig:potri_async @@ -635,7 +635,7 @@ important to notice that we assign one thread per gpu to optimize data transfer between main memory and devices memory. The number of workers of each type CPU and CUDA - must be given at *MORSE_Init*. + must be given at *CHAMELEON_Init*. #+begin_example if ( iparam[IPARAM_THRDNBR] == -1 ) { get_thread_count( &(iparam[IPARAM_THRDNBR]) ); @@ -644,8 +644,8 @@ } NCPU = iparam[IPARAM_THRDNBR]; NGPU = iparam[IPARAM_NCUDAS]; - /* initialize MORSE with main parameters */ - MORSE_Init( NCPU, NGPU ); + /* initialize CHAMELEON with main parameters */ + CHAMELEON_Init( NCPU, NGPU ); #+end_example * matrix size @@ -674,10 +674,10 @@ This parameter is used by kernels (optimized algorithms applied on tiles) to perform subsequent operations with data block-size that fits the cache of workers. - Parameters NB and IB can be given with *MORSE_Set* function: + Parameters NB and IB can be given with *CHAMELEON_Set* function: #+begin_example - MORSE_Set(MORSE_TILE_SIZE, iparam[IPARAM_NB] ); - MORSE_Set(MORSE_INNER_BLOCK_SIZE, iparam[IPARAM_IB] ); + CHAMELEON_Set(CHAMELEON_TILE_SIZE, iparam[IPARAM_NB] ); + CHAMELEON_Set(CHAMELEON_INNER_BLOCK_SIZE, iparam[IPARAM_IB] ); #+end_example **** Step6 @@ -685,7 +685,7 @@ This program is a copy of Step5 with some additional parameters to be set for the data distribution. To use this program - properly MORSE must use StarPU Runtime system and MPI option must + properly CHAMELEON must use StarPU Runtime system and MPI option must be activated at configure. The data distribution used here is 2-D block-cyclic, see for example [[http://www.netlib.org/scalapack/slug/node75.html][ScaLAPACK]] for explanation. The user can enter the parameters of the distribution grid at @@ -697,31 +697,31 @@ In this program we use the tile data layout from PLASMA so that the call #+begin_example - MORSE_Desc_Create_User(&descA, NULL, MorseRealDouble, + CHAMELEON_Desc_Create_User(&descA, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, GRID_P, GRID_Q, - morse_getaddr_ccrb, - morse_getblkldd_ccrb, - morse_getrankof_2d); + chameleon_getaddr_ccrb, + chameleon_getblkldd_ccrb, + chameleon_getrankof_2d); #+end_example is equivalent to the following call #+begin_example - MORSE_Desc_Create(&descA, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descA, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, GRID_P, GRID_Q); #+end_example - functions *morse_getaddr_ccrb*, *morse_getblkldd_ccrb*, - *morse_getrankof_2d* being used in *Desc_Create*. It is interesting + functions *chameleon_getaddr_ccrb*, *chameleon_getblkldd_ccrb*, + *chameleon_getrankof_2d* being used in *Desc_Create*. It is interesting to notice that the code is almost the same as Step5. The only additional information to give is the way tiles are distributed - through the third function given to *MORSE_Desc_Create_User*. + through the third function given to *CHAMELEON_Desc_Create_User*. Here, because we have made experiments only with a 2-D block-cyclic distribution, we have parameters P and Q in the interface of *Desc_Create* but they have sense only for 2-D - block-cyclic distribution and then using *morse_getrankof_2d* + block-cyclic distribution and then using *chameleon_getrankof_2d* function. Of course it could be used with other distributions, being no more the parameters of a 2-D block-cyclic grid but of another distribution. @@ -733,9 +733,9 @@ This program is a copy of step6 with some additional calls to build a matrix from within chameleon using a function provided by the user. This can be seen as a replacement of the function like - *MORSE_dplgsy_Tile()* that can be used to fill the matrix with - random data, *MORSE_dLapack_to_Tile()* to fill the matrix with data - stored in a lapack-like buffer, or *MORSE_Desc_Create_User()* that + *CHAMELEON_dplgsy_Tile()* that can be used to fill the matrix with + random data, *CHAMELEON_dLapack_to_Tile()* to fill the matrix with data + stored in a lapack-like buffer, or *CHAMELEON_Desc_Create_User()* that can be used to describe an arbitrary tile matrix structure. In this example, the build callback function are just wrapper towards *CORE_xxx()* functions, so the output of the program step7 @@ -743,19 +743,19 @@ that the function used to fill the tiles is provided by the user, and therefore this approach is much more flexible. - The new function to understand is *MORSE_dbuild_Tile*, e.g. + The new function to understand is *CHAMELEON_dbuild_Tile*, e.g. #+begin_example struct data_pl data_A={(double)N, 51, N}; - MORSE_dbuild_Tile(MorseUpperLower, descA, (void*)&data_A, Morse_build_callback_plgsy); + CHAMELEON_dbuild_Tile(ChamUpperLower, descA, (void*)&data_A, Cham_build_callback_plgsy); #+end_example The idea here is to let Chameleon fill the matrix data in a task-based fashion (parallel) by using a function given by the user. First, the user should define if all the blocks must be entirelly filled or just the upper/lower part with, /e.g./ - MorseUpperLower. We still relies on the same structure - *MORSE_desc_t* which must be initialized with the proper - parameters, by calling for example *MORSE_Desc_Create*. Then, an + ChamUpperLower. We still relies on the same structure + *CHAM_desc_t* which must be initialized with the proper + parameters, by calling for example *CHAMELEON_Desc_Create*. Then, an opaque pointer is used to let the user give some extra data used by his function. The last parameter is the pointer to the user's function. @@ -764,7 +764,7 @@ **** Linear Algebra routines We list the linear algebra routines of the form - *MORSE_name[_Tile[_Async]]* (/name/ follows LAPACK naming scheme, see + *CHAMELEON_name[_Tile[_Async]]* (/name/ follows LAPACK naming scheme, see http://www.netlib.org/lapack/lug/node24.html) that can be used with the Chameleon library. For details about these functions please refer to the doxygen documentation. /name/ can be one of the @@ -840,11 +840,11 @@ representation for Q * unglq: generates an M-by-N matrix Q with orthonormal rows, which is defined as the first M rows of a product of the - elementary reflectors returned by MORSE_zgelqf + elementary reflectors returned by CHAMELEON_zgelqf * unglq_param: unglq with hqr * ungqr: generates an M-by-N matrix Q with orthonormal columns, which is defined as the first N columns of a product of the - elementary reflectors returned by MORSE_zgeqrf + elementary reflectors returned by CHAMELEON_zgeqrf * ungqr_param: ungqr with hqr * unmlq: overwrites C with Q*C or C*Q or equivalent operations with transposition on conjugate on C (see doxygen @@ -874,162 +874,162 @@ * tradd: trapezoidal matrices addition **** Options routines - Enable MORSE feature. + Enable CHAMELEON feature. #+begin_src - int MORSE_Enable (MORSE_enum option); + int CHAMELEON_Enable (CHAMELEON_enum option); #+end_src Feature to be enabled: - * *MORSE_WARNINGS*: printing of warning messages, - * *MORSE_AUTOTUNING*: autotuning for tile size and inner block size, - * *MORSE_PROFILING_MODE*: activate kernels profiling, - * *MORSE_PROGRESS*: to print a progress status, - * *MORSE_GEMM3M*: to enable the use of the /gemm3m/ blas bunction. + * *CHAMELEON_WARNINGS*: printing of warning messages, + * *CHAMELEON_AUTOTUNING*: autotuning for tile size and inner block size, + * *CHAMELEON_PROFILING_MODE*: activate kernels profiling, + * *CHAMELEON_PROGRESS*: to print a progress status, + * *CHAMELEON_GEMM3M*: to enable the use of the /gemm3m/ blas bunction. - Disable MORSE feature. + Disable CHAMELEON feature. #+begin_src - int MORSE_Disable (MORSE_enum option); + int CHAMELEON_Disable (CHAMELEON_enum option); #+end_src - Symmetric to *MORSE_Enable*. + Symmetric to *CHAMELEON_Enable*. - Set MORSE parameter. + Set CHAMELEON parameter. #+begin_src - int MORSE_Set (MORSE_enum param, int value); + int CHAMELEON_Set (CHAMELEON_enum param, int value); #+end_src Parameters to be set: - * *MORSE_TILE_SIZE*: size matrix tile, - * *MORSE_INNER_BLOCK_SIZE*: size of tile inner block, - * *MORSE_HOUSEHOLDER_MODE*: type of householder trees (FLAT or TREE), - * *MORSE_HOUSEHOLDER_SIZE*: size of the groups in householder trees, - * *MORSE_TRANSLATION_MODE*: related to the *MORSE_Lapack_to_Tile*, see ztile.c. + * *CHAMELEON_TILE_SIZE*: size matrix tile, + * *CHAMELEON_INNER_BLOCK_SIZE*: size of tile inner block, + * *CHAMELEON_HOUSEHOLDER_MODE*: type of householder trees (FLAT or TREE), + * *CHAMELEON_HOUSEHOLDER_SIZE*: size of the groups in householder trees, + * *CHAMELEON_TRANSLATION_MODE*: related to the *CHAMELEON_Lapack_to_Tile*, see ztile.c. - Get value of MORSE parameter. + Get value of CHAMELEON parameter. #+begin_src - int MORSE_Get (MORSE_enum param, int *value); + int CHAMELEON_Get (CHAMELEON_enum param, int *value); #+end_src **** Auxiliary routines - Reports MORSE version number. + Reports CHAMELEON version number. #+begin_src - int MORSE_Version (int *ver_major, int *ver_minor, int *ver_micro); + int CHAMELEON_Version (int *ver_major, int *ver_minor, int *ver_micro); #+end_src - Initialize MORSE: initialize some parameters, initialize the runtime and/or MPI. + Initialize CHAMELEON: initialize some parameters, initialize the runtime and/or MPI. #+begin_src - int MORSE_Init (int nworkers, int ncudas); + int CHAMELEON_Init (int nworkers, int ncudas); #+end_src - Finalyze MORSE: free some data and finalize the runtime and/or MPI. + Finalyze CHAMELEON: free some data and finalize the runtime and/or MPI. #+begin_src - int MORSE_Finalize (void); + int CHAMELEON_Finalize (void); #+end_src - Suspend MORSE runtime to poll for new tasks, to avoid useless CPU consumption when - no tasks have to be executed by MORSE runtime system. + Suspend CHAMELEON runtime to poll for new tasks, to avoid useless CPU consumption when + no tasks have to be executed by CHAMELEON runtime system. #+begin_src - int MORSE_Pause (void); + int CHAMELEON_Pause (void); #+end_src - Symmetrical call to MORSE_Pause, used to resume the workers polling for new tasks. + Symmetrical call to CHAMELEON_Pause, used to resume the workers polling for new tasks. #+begin_src - int MORSE_Resume (void); + int CHAMELEON_Resume (void); #+end_src Return the MPI rank of the calling process. #+begin_src - int MORSE_My_Mpi_Rank (void); + int CHAMELEON_My_Mpi_Rank (void); #+end_src Return the size of the distributed computation #+begin_src - int MORSE_Comm_size( int *size ) + int CHAMELEON_Comm_size( int *size ) #+end_src Return the rank of the distributed computation #+begin_src - int MORSE_Comm_rank( int *rank ) + int CHAMELEON_Comm_rank( int *rank ) #+end_src Prepare the distributed processes for computation #+begin_src - int MORSE_Distributed_start(void) + int CHAMELEON_Distributed_start(void) #+end_src Clean the distributed processes after computation #+begin_src - int MORSE_Distributed_stop(void) + int CHAMELEON_Distributed_stop(void) #+end_src Return the number of CPU workers initialized by the runtime #+begin_src - int MORSE_GetThreadNbr() + int CHAMELEON_GetThreadNbr() #+end_src Conversion from LAPACK layout to tile layout. #+begin_src - int MORSE_Lapack_to_Tile (void *Af77, int LDA, MORSE_desc_t *A); + int CHAMELEON_Lapack_to_Tile (void *Af77, int LDA, CHAM_desc_t *A); #+end_src Conversion from tile layout to LAPACK layout. #+begin_src - int MORSE_Tile_to_Lapack (MORSE_desc_t *A, void *Af77, int LDA); + int CHAMELEON_Tile_to_Lapack (CHAM_desc_t *A, void *Af77, int LDA); #+end_src **** Descriptor routines Create matrix descriptor, internal function. #+begin_src - int MORSE_Desc_Create(MORSE_desc_t **desc, void *mat, MORSE_enum dtyp, + int CHAMELEON_Desc_Create(CHAM_desc_t **desc, void *mat, cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q); #+end_src Create matrix descriptor, user function. #+begin_src - int MORSE_Desc_Create_User(MORSE_desc_t **desc, void *mat, MORSE_enum dtyp, + int CHAMELEON_Desc_Create_User(CHAM_desc_t **desc, void *mat, cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q, - void* (*get_blkaddr)( const MORSE_desc_t*, int, int), - int (*get_blkldd)( const MORSE_desc_t*, int ), - int (*get_rankof)( const MORSE_desc_t*, int, int )); + void* (*get_blkaddr)( const CHAM_desc_t*, int, int), + int (*get_blkldd)( const CHAM_desc_t*, int ), + int (*get_rankof)( const CHAM_desc_t*, int, int )); #+end_src Create matrix descriptor for tiled matrix which may not fit memory. #+begin_src - int MORSE_Desc_Create_OOC(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, int nb, int bsiz, + int CHAMELEON_Desc_Create_OOC(CHAM_desc_t **descptr, cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q); #+end_src - User's function version of MORSE_Desc_Create_OOC. + User's function version of CHAMELEON_Desc_Create_OOC. #+begin_src - int MORSE_Desc_Create_OOC_User(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, int nb, int bsiz, + int CHAMELEON_Desc_Create_OOC_User(CHAM_desc_t **descptr, cham_flttype_t dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q, - int (*get_rankof)( const MORSE_desc_t*, int, int )); + int (*get_rankof)( const CHAM_desc_t*, int, int )); #+end_src Destroys matrix descriptor. #+begin_src - int MORSE_Desc_Destroy (MORSE_desc_t **desc); + int CHAMELEON_Desc_Destroy (CHAM_desc_t **desc); #+end_src Ensures that all data of the descriptor are up-to-date. #+begin_src - int MORSE_Desc_Acquire (MORSE_desc_t *desc); + int CHAMELEON_Desc_Acquire (CHAM_desc_t *desc); #+end_src Release the data of the descriptor acquired by the - application. Should be called if MORSE_Desc_Acquire has been + application. Should be called if CHAMELEON_Desc_Acquire has been called on the descriptor and if you do not need to access to its data anymore. #+begin_src - int MORSE_Desc_Release (MORSE_desc_t *desc); + int CHAMELEON_Desc_Release (CHAM_desc_t *desc); #+end_src Ensure that all data are up-to-date in main memory (even if some tasks have been processed on GPUs). #+begin_src - int MORSE_Desc_Flush(MORSE_desc_t *desc, MORSE_sequence_t *sequence); + int CHAMELEON_Desc_Flush(CHAM_desc_t *desc, RUNTIME_sequence_t *sequence); #+end_src Set the sizes for the MPI tags. Default value: tag_width=31, @@ -1037,27 +1037,27 @@ 24 bits for the tile tag and 7 for the descriptor. This function must be called before any descriptor creation. #+begin_src - void MORSE_user_tag_size(int user_tag_width, int user_tag_sep); + void CHAMELEON_user_tag_size(int user_tag_width, int user_tag_sep); #+end_src **** Sequences routines Create a sequence. #+begin_src - int MORSE_Sequence_Create (MORSE_sequence_t **sequence); + int CHAMELEON_Sequence_Create (RUNTIME_sequence_t **sequence); #+end_src Destroy a sequence. #+begin_src - int MORSE_Sequence_Destroy (MORSE_sequence_t *sequence); + int CHAMELEON_Sequence_Destroy (RUNTIME_sequence_t *sequence); #+end_src Wait for the completion of a sequence. #+begin_src - int MORSE_Sequence_Wait (MORSE_sequence_t *sequence); + int CHAMELEON_Sequence_Wait (RUNTIME_sequence_t *sequence); #+end_src Terminate a sequence. #+begin_src - int MORSE_Sequence_Flush(MORSE_sequence_t *sequence, MORSE_request_t *request) + int CHAMELEON_Sequence_Flush(RUNTIME_sequence_t *sequence, RUNTIME_request_t *request) #+end_src diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt index 3aac1b739165df755bad3785644b994d295065d6..c03fe5f027cc1e05dcc379951bfa0514a3733639 100755 --- a/example/CMakeLists.txt +++ b/example/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -25,14 +25,14 @@ if (CHAMELEON_SIMULATION) endif() if (CHAMELEON_PREC_D) - add_subdirectory(lapack_to_morse) + add_subdirectory(lapack_to_chameleon) if (CHAMELEON_SCHED_STARPU) if (${STARPU_VERSION_MAJOR} GREATER 0 AND ${STARPU_VERSION_MINOR} GREATER 1) add_subdirectory(out_of_core) endif() endif() else() - message(WARNING "CHAMELEON_PREC_D is set to OFF so that lapack_to_morse " + message(WARNING "CHAMELEON_PREC_D is set to OFF so that lapack_to_chameleon " "and out_core tutorials cannot be built (use only double arithmetic " "precision).\n Please set CHAMELEON_PREC_D to ON if you want to build " "executables of this tutorial.") diff --git a/example/lapack_to_morse/CMakeLists.txt b/example/lapack_to_chameleon/CMakeLists.txt similarity index 89% rename from example/lapack_to_morse/CMakeLists.txt rename to example/lapack_to_chameleon/CMakeLists.txt index 4f506c458c162f5446f58f4d80d6994e71effd8c..cb08bc97df70eca1848acb61e4fe9bb68c5c1f76 100644 --- a/example/lapack_to_morse/CMakeLists.txt +++ b/example/lapack_to_chameleon/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# MORSE example routines -# MORSE is a software package provided by Inria Bordeaux - Sud-Ouest, LaBRI, +# CHAMELEON example routines +# CHAMELEON is a software package provided by Inria Bordeaux - Sud-Ouest, LaBRI, # University of Bordeaux, Bordeaux INP # # @version 1.0.0 @@ -61,14 +61,14 @@ foreach(_ltm ${LTM_SOURCES}) set_property(TARGET ${_name_exe} PROPERTY LINKER_LANGUAGE Fortran) target_link_libraries(${_name_exe} ${libs_for_ltm}) install(TARGETS ${_name_exe} - DESTINATION bin/example/lapack_to_morse) + DESTINATION bin/example/lapack_to_chameleon) endforeach() add_executable(step0 step0.c) set_property(TARGET step0 PROPERTY LINKER_LANGUAGE Fortran) target_link_libraries(step0 ${libs_for_step0}) install(TARGETS step0 - DESTINATION bin/example/lapack_to_morse) + DESTINATION bin/example/lapack_to_chameleon) #-------- Tests --------- include(CTestLists.cmake) diff --git a/example/lapack_to_morse/CTestLists.cmake b/example/lapack_to_chameleon/CTestLists.cmake similarity index 83% rename from example/lapack_to_morse/CTestLists.cmake rename to example/lapack_to_chameleon/CTestLists.cmake index 2021405718989afac4b61146b772f8432c17dfbf..a32e3686f6d0c221ccbaa42245e469ecb41568bd 100644 --- a/example/lapack_to_morse/CTestLists.cmake +++ b/example/lapack_to_chameleon/CTestLists.cmake @@ -1,5 +1,5 @@ # -# Check Example lapack_to_morse +# Check Example lapack_to_chameleon # set(TESTLIST diff --git a/example/lapack_to_morse/lapack_to_morse.h b/example/lapack_to_chameleon/lapack_to_chameleon.h similarity index 92% rename from example/lapack_to_morse/lapack_to_morse.h rename to example/lapack_to_chameleon/lapack_to_chameleon.h index a01e983e1d13ada4c235d5ce398ac055854b19cf..1d41e4d4fecbd13f4dd2bdc4fcb1f886241810c5 100644 --- a/example/lapack_to_morse/lapack_to_morse.h +++ b/example/lapack_to_chameleon/lapack_to_chameleon.h @@ -1,6 +1,6 @@ /** * - * @file lapack_to_morse.h + * @file lapack_to_chameleon.h * * @copyright 2009-2014 The University of Tennessee and The University of * Tennessee Research Foundation. All rights reserved. @@ -16,8 +16,8 @@ * @date 2014-10-29 * */ -#ifndef LAPACK_TO_MORSE_H -#define LAPACK_TO_MORSE_H +#ifndef LAPACK_TO_CHAMELEON_H +#define LAPACK_TO_CHAMELEON_H #if defined( _WIN32 ) || defined( _WIN64 ) #define int64_t __int64 @@ -64,6 +64,6 @@ static int startswith(const char *s, const char *prefix) { #define FADDS_TRSM(__m, __n) (0.5 * (double)(__n) * (double)(__m) * ((double)(__m)-1.)) /* define some tools to time the program */ -#include <chameleon/chameleon_timer.h> +#include <chameleon/timer.h> -#endif /* LAPACK_TO_MORSE_H */ +#endif /* LAPACK_TO_CHAMELEON_H */ diff --git a/example/lapack_to_morse/step0.c b/example/lapack_to_chameleon/step0.c similarity index 100% rename from example/lapack_to_morse/step0.c rename to example/lapack_to_chameleon/step0.c diff --git a/example/lapack_to_morse/step0.h b/example/lapack_to_chameleon/step0.h similarity index 99% rename from example/lapack_to_morse/step0.h rename to example/lapack_to_chameleon/step0.h index 43248e5eaab7c8671e81e57e6c6cfc3eef8d95a1..f3a4010f691a3d104634537ad2c90002081691ba 100644 --- a/example/lapack_to_morse/step0.h +++ b/example/lapack_to_chameleon/step0.h @@ -20,7 +20,7 @@ #define STEP0_H /* Common include for all steps of the tutorial */ -#include "lapack_to_morse.h" +#include "lapack_to_chameleon.h" /* Specific includes for step 0 */ #ifndef CBLAS_SADDR diff --git a/example/lapack_to_morse/step1.c b/example/lapack_to_chameleon/step1.c similarity index 83% rename from example/lapack_to_morse/step1.c rename to example/lapack_to_chameleon/step1.c index 025f6a53494a829039b2eed6185095e0a0544aed..d2e8eebf5812b9893a32d2668197a45cff61aef1 100644 --- a/example/lapack_to_morse/step1.c +++ b/example/lapack_to_chameleon/step1.c @@ -19,19 +19,19 @@ #include "step1.h" /* - * @brief step1 introduces the simple MORSE interface + * @brief step1 introduces the simple CHAMELEON interface * @details This program solves a linear system AX=B with matrix A symmetric * positive definite. * The matrix A is first factorized using the Cholesky factorization, A = LL^T. * Then the solution X is calculated thanks to forward and back substitutions. - * We use MORSE routines with the LAPACK interface which means the routines + * We use CHAMELEON routines with the LAPACK interface which means the routines * accepts the same matrix format as LAPACK. * Note that we copy the matrix to get it in our own tile structures. * This means you can get an overhead coming from copies. * The resulting code is very close to step0 so that users of CBLAS/LAPACKE - * should not be lost. The only things new are the MORSE_Init/Morse_Finalize + * should not be lost. The only things new are the CHAMELEON_Init/Cham_Finalize * calls, necessary to initialize/finalize the runtime system and mpi, and - * MORSE_Set to give some specific parameters. + * CHAMELEON_Set to give some specific parameters. * This code allows you to expoit parallelism coming from all the cores of your * computer and from gpus if you have properly linked with pthread and CUDA * ( + CUBLAS optionnaly ). @@ -42,7 +42,7 @@ int main(int argc, char *argv[]) { size_t NRHS; // number of RHS vectors int NCPU; // number of cores to use int NGPU; // number of gpus (cuda devices) to use - int UPLO = MorseUpper; // where is stored L + int UPLO = ChamUpper; // where is stored L /* declarations to time the program and evaluate performances */ double fmuls, fadds, flops, gflops, cpu_time; @@ -78,9 +78,9 @@ int main(int argc, char *argv[]) { /* print informations to user */ print_header( argv[0], iparam); - /* Initialize MORSE with main parameters */ - if ( MORSE_Init( NCPU, NGPU ) != MORSE_SUCCESS ) { - fprintf(stderr, "Error initializing MORSE library\n"); + /* Initialize CHAMELEON with main parameters */ + if ( CHAMELEON_Init( NCPU, NGPU ) != CHAMELEON_SUCCESS ) { + fprintf(stderr, "Error initializing CHAMELEON library\n"); return EXIT_FAILURE; } @@ -96,10 +96,10 @@ int main(int argc, char *argv[]) { double *X = malloc( N * NRHS * sizeof(double) ); /* generate A matrix with random values such that it is spd */ - MORSE_dplgsy( (double)N, MorseUpperLower, N, A, N, 51 ); + CHAMELEON_dplgsy( (double)N, ChamUpperLower, N, A, N, 51 ); /* generate RHS */ - MORSE_dplrnt( N, NRHS, B, N, 5673 ); + CHAMELEON_dplrnt( N, NRHS, B, N, 5673 ); /* copy A before facto. in order to check the result */ memcpy(Acpy, A, N*N*sizeof(double)); @@ -115,13 +115,13 @@ int main(int argc, char *argv[]) { /* Cholesky factorization: * A is replaced by its factorization L or L^T depending on uplo */ - MORSE_dpotrf( UPLO, N, A, N ); + CHAMELEON_dpotrf( UPLO, N, A, N ); /* Solve: * B is stored in X on entry, X contains the result on exit. * Forward and back substitutions */ - MORSE_dpotrs(UPLO, N, NRHS, A, N, X, N); + CHAMELEON_dpotrs(UPLO, N, NRHS, A, N, X, N); cpu_time += CHAMELEON_timer(); @@ -135,14 +135,14 @@ int main(int argc, char *argv[]) { /************************************************************/ /* compute norms to check the result */ - anorm = MORSE_dlange( MorseInfNorm, N, N, Acpy, N); - bnorm = MORSE_dlange( MorseInfNorm, N, NRHS, B, N); - xnorm = MORSE_dlange( MorseInfNorm, N, NRHS, X, N); + anorm = CHAMELEON_dlange( ChamInfNorm, N, N, Acpy, N); + bnorm = CHAMELEON_dlange( ChamInfNorm, N, NRHS, B, N); + xnorm = CHAMELEON_dlange( ChamInfNorm, N, NRHS, X, N); /* compute A*X-B, store the result in B */ - MORSE_dgemm(MorseNoTrans, MorseNoTrans, + CHAMELEON_dgemm(ChamNoTrans, ChamNoTrans, N, NRHS, N, 1.0, Acpy, N, X, N, -1.0, B, N); - res = MORSE_dlange( MorseInfNorm, N, NRHS, B, N); + res = CHAMELEON_dlange( ChamInfNorm, N, NRHS, B, N); /* check residual and print a message */ eps = LAPACKE_dlamch_work( 'e' ); @@ -170,8 +170,8 @@ int main(int argc, char *argv[]) { free(B); free(X); - /* Finalize MORSE */ - MORSE_Finalize(); + /* Finalize CHAMELEON */ + CHAMELEON_Finalize(); return EXIT_SUCCESS; } diff --git a/example/lapack_to_morse/step1.h b/example/lapack_to_chameleon/step1.h similarity index 98% rename from example/lapack_to_morse/step1.h rename to example/lapack_to_chameleon/step1.h index 92a9fb8b031303fd1e07d5c0702a6f78001b3108..8918d55048be4ef8e1bf35e2648e2dbf70b45810 100644 --- a/example/lapack_to_morse/step1.h +++ b/example/lapack_to_chameleon/step1.h @@ -20,11 +20,11 @@ #define STEP1_H /* Common include for all steps of the tutorial */ -#include "lapack_to_morse.h" +#include "lapack_to_chameleon.h" /* Specific includes for step 1 */ #include <coreblas/lapacke.h> -#include <morse.h> +#include <chameleon.h> /* Integer parameters for step1 */ enum iparam_step1 { diff --git a/example/lapack_to_morse/step2.c b/example/lapack_to_chameleon/step2.c similarity index 69% rename from example/lapack_to_morse/step2.c rename to example/lapack_to_chameleon/step2.c index e0195479c27d63a73647042164ab92f72ec90a70..8344554bb5e4466f1e651f3f5aa4e8a1427072e3 100644 --- a/example/lapack_to_morse/step2.c +++ b/example/lapack_to_chameleon/step2.c @@ -19,14 +19,14 @@ #include "step2.h" /* - * @brief step2 introduces the MORSE tile interface. + * @brief step2 introduces the CHAMELEON tile interface. * @details This program is a copy of step1 but instead of using the LAPACK - * interface which leads to copy LAPACK matrices inside MORSE routines we use + * interface which leads to copy LAPACK matrices inside CHAMELEON routines we use * the tile interface. * We will still use standard format of matrix but we will see how to give this - * matrix to create a MORSE descriptor, a structure wrapping data on which we + * matrix to create a CHAMELEON descriptor, a structure wrapping data on which we * want to apply sequential task based algorithms. - * The goal is also to show examples of calling MORSE tile interface. + * The goal is also to show examples of calling CHAMELEON tile interface. */ int main(int argc, char *argv[]) { size_t N; // matrix order @@ -34,10 +34,10 @@ int main(int argc, char *argv[]) { int NRHS; // number of RHS vectors int NCPU; // number of cores to use int NGPU; // number of gpus (cuda devices) to use - int UPLO = MorseUpper; // where is stored L + int UPLO = ChamUpper; // where is stored L - /* descriptors necessary for calling MORSE tile interface */ - MORSE_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; + /* descriptors necessary for calling CHAMELEON tile interface */ + CHAM_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; /* declarations to time the program and evaluate performances */ double fmuls, fadds, flops, gflops, cpu_time; @@ -73,14 +73,14 @@ int main(int argc, char *argv[]) { /* print informations to user */ print_header( argv[0], iparam); - /* Initialize MORSE with main parameters */ - if ( MORSE_Init( NCPU, NGPU ) != MORSE_SUCCESS ) { - fprintf(stderr, "Error initializing MORSE library\n"); + /* Initialize CHAMELEON with main parameters */ + if ( CHAMELEON_Init( NCPU, NGPU ) != CHAMELEON_SUCCESS ) { + fprintf(stderr, "Error initializing CHAMELEON library\n"); return EXIT_FAILURE; } - /* Question morse to get the block (tile) size (number of columns) */ - MORSE_Get( MORSE_TILE_SIZE, &NB ); + /* Question chameleon to get the block (tile) size (number of columns) */ + CHAMELEON_Get( CHAMELEON_TILE_SIZE, &NB ); /* * Allocate memory for our data using a C macro (see step2.h) @@ -94,8 +94,8 @@ int main(int argc, char *argv[]) { double *X = malloc( N * NRHS * sizeof(double) ); /* - * Initialize the structure required for MORSE tile interface - * MORSE_desc_t is a structure wrapping your data allowing MORSE to get + * Initialize the structure required for CHAMELEON tile interface + * CHAM_desc_t is a structure wrapping your data allowing CHAMELEON to get * pointers to tiles. A tile is a data subset of your matrix on which we * apply some optimized CPU/GPU kernels. * Notice that this routine suppose your matrix is a contiguous vector of @@ -106,50 +106,50 @@ int main(int argc, char *argv[]) { * - if you want to give your allocated matrix give its address, * if not give a NULL pointer, the routine will allocate the memory * and you access the matrix data with descA->mat - * - give the data type (MorseByte, MorseInteger, MorseRealFloat, - * MorseRealDouble, MorseComplexFloat, MorseComplexDouble) + * - give the data type (ChamByte, ChamInteger, ChamRealFloat, + * ChamRealDouble, ChamComplexFloat, ChamComplexDouble) * - number of rows in a block (tile) * - number of columns in a block (tile) * - number of elements in a block (tile) * The other parameters are specific, use: - * MORSE_Desc_Create( ... , 0, 0, number of rows, number of columns, 1, 1); + * CHAMELEON_Desc_Create( ... , 0, 0, number of rows, number of columns, 1, 1); * Have a look to the documentation for details about these parameters. */ - MORSE_Desc_Create(&descA, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descA, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1); - MORSE_Desc_Create(&descB, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descB, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1); - MORSE_Desc_Create(&descX, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descX, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1); - MORSE_Desc_Create(&descAC, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descAC, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1); - /* copy LAPACK matrices in MORSE descriptors to be able to call the tile + /* copy LAPACK matrices in CHAMELEON descriptors to be able to call the tile * interface */ - MORSE_dLapack_to_Tile(A, N, descA); - MORSE_dLapack_to_Tile(B, N, descB); - MORSE_dLapack_to_Tile(X, N, descX); - MORSE_dLapack_to_Tile(Acpy, N, descAC); + CHAMELEON_dLapack_to_Tile(A, N, descA); + CHAMELEON_dLapack_to_Tile(B, N, descB); + CHAMELEON_dLapack_to_Tile(X, N, descX); + CHAMELEON_dLapack_to_Tile(Acpy, N, descAC); /* You could alternatively create descriptors wrapping your allocated * matrices to avoid copies Lapack_to_Tile with the following */ - //MORSE_Desc_Create(&descA, A, MorseRealDouble, + //CHAMELEON_Desc_Create(&descA, A, ChamRealDouble, // NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1); /* Be aware that for distributed data (with MPI) you need to respect a * precise partitionning called 2D cyclic (see the documentation) */ /* generate A matrix with random values such that it is spd */ - MORSE_dplgsy_Tile( (double)N, MorseUpperLower, descA, 51 ); + CHAMELEON_dplgsy_Tile( (double)N, ChamUpperLower, descA, 51 ); /* generate RHS */ - MORSE_dplrnt_Tile( descB, 5673 ); + CHAMELEON_dplrnt_Tile( descB, 5673 ); /* copy A before facto. in order to check the result */ - MORSE_dlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descA, descAC); /* copy B in X before solving * same sense as memcpy(X, B, N*NRHS*sizeof(double)) but for descriptors */ - MORSE_dlacpy_Tile(MorseUpperLower, descB, descX); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descB, descX); /************************************************************/ /* solve the system AX = B using the Cholesky factorization */ @@ -159,13 +159,13 @@ int main(int argc, char *argv[]) { /* Cholesky factorization: * A is replaced by its factorization L or L^T depending on uplo */ - MORSE_dpotrf_Tile( UPLO, descA ); + CHAMELEON_dpotrf_Tile( UPLO, descA ); /* Solve: * B is stored in X on entry, X contains the result on exit. * Forward and back substitutions */ - MORSE_dpotrs_Tile( UPLO, descA, descX ); + CHAMELEON_dpotrs_Tile( UPLO, descA, descX ); cpu_time += CHAMELEON_timer(); @@ -179,14 +179,14 @@ int main(int argc, char *argv[]) { /************************************************************/ /* compute norms to check the result */ - anorm = MORSE_dlange_Tile( MorseInfNorm, descAC); - bnorm = MORSE_dlange_Tile( MorseInfNorm, descB); - xnorm = MORSE_dlange_Tile( MorseInfNorm, descX); + anorm = CHAMELEON_dlange_Tile( ChamInfNorm, descAC); + bnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descB); + xnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descX); /* compute A*X-B, store the result in B */ - MORSE_dgemm_Tile( MorseNoTrans, MorseNoTrans, + CHAMELEON_dgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); - res = MORSE_dlange_Tile( MorseInfNorm, descB ); + res = CHAMELEON_dlange_Tile( ChamInfNorm, descB ); /* check residual and print a message */ eps = LAPACKE_dlamch_work( 'e' ); @@ -209,19 +209,19 @@ int main(int argc, char *argv[]) { } /* get back results in LAPACK format */ - MORSE_dTile_to_Lapack(descA, A, N); - MORSE_dTile_to_Lapack(descB, B, N); - MORSE_dTile_to_Lapack(descX, X, N); - MORSE_dTile_to_Lapack(descAC, Acpy, N); + CHAMELEON_dTile_to_Lapack(descA, A, N); + CHAMELEON_dTile_to_Lapack(descB, B, N); + CHAMELEON_dTile_to_Lapack(descX, X, N); + CHAMELEON_dTile_to_Lapack(descAC, Acpy, N); /* deallocate A, B, X, Acpy and associated descriptors descA, ... */ - MORSE_Desc_Destroy( &descA ); - MORSE_Desc_Destroy( &descB ); - MORSE_Desc_Destroy( &descX ); - MORSE_Desc_Destroy( &descAC ); + CHAMELEON_Desc_Destroy( &descA ); + CHAMELEON_Desc_Destroy( &descB ); + CHAMELEON_Desc_Destroy( &descX ); + CHAMELEON_Desc_Destroy( &descAC ); - /* Finalize MORSE */ - MORSE_Finalize(); + /* Finalize CHAMELEON */ + CHAMELEON_Finalize(); return EXIT_SUCCESS; } diff --git a/example/lapack_to_morse/step2.h b/example/lapack_to_chameleon/step2.h similarity index 98% rename from example/lapack_to_morse/step2.h rename to example/lapack_to_chameleon/step2.h index 2e72b11b072dbc93dfa8a6f88b661718400de778..0cd4fa0c8ecc61cce630e7a25e6acdd85b486b2c 100644 --- a/example/lapack_to_morse/step2.h +++ b/example/lapack_to_chameleon/step2.h @@ -20,11 +20,11 @@ #define STEP2_H /* Common include for all steps of the tutorial */ -#include "lapack_to_morse.h" +#include "lapack_to_chameleon.h" /* Specific includes for step 2 */ #include <coreblas/lapacke.h> -#include "morse.h" +#include "chameleon.h" /* Integer parameters for step2 */ enum iparam_step2 { diff --git a/example/lapack_to_morse/step3.c b/example/lapack_to_chameleon/step3.c similarity index 69% rename from example/lapack_to_morse/step3.c rename to example/lapack_to_chameleon/step3.c index eb312137b9fc7e11c031472ea751c147b4f1462e..078b6127197cf6265e9eed879681bf195105a96c 100644 --- a/example/lapack_to_morse/step3.c +++ b/example/lapack_to_chameleon/step3.c @@ -19,11 +19,11 @@ #include "step3.h" /* - * @brief step3 indicates how to give your own tile matrix to MORSE. + * @brief step3 indicates how to give your own tile matrix to CHAMELEON. * @details This program is a copy of step2 but instead of using a predefined - * way for accessing tile data (i.e with MORSE_Desc_Create), we will indicate - * how to create a MORSE descriptor with an arbitrary tile matrix structure - * by calling MORSE_Desc_Create_User function. + * way for accessing tile data (i.e with CHAMELEON_Desc_Create), we will indicate + * how to create a CHAMELEON descriptor with an arbitrary tile matrix structure + * by calling CHAMELEON_Desc_Create_User function. * During this step we do not use classical LAPACK matrices (1D array) anymore. */ int main(int argc, char *argv[]) { @@ -32,10 +32,10 @@ int main(int argc, char *argv[]) { int NRHS; // number of RHS vectors int NCPU; // number of cores to use int NGPU; // number of gpus (cuda devices) to use - int UPLO = MorseUpper; // where is stored L + int UPLO = ChamUpper; // where is stored L - /* descriptors necessary for calling MORSE tile interface */ - MORSE_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; + /* descriptors necessary for calling CHAMELEON tile interface */ + CHAM_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; /* Array of pointers to double arrays (representing tiles) */ double **matA = NULL; @@ -74,65 +74,65 @@ int main(int argc, char *argv[]) { /* print informations to user */ print_header( argv[0], iparam); - /* Initialize MORSE with main parameters */ - if ( MORSE_Init( NCPU, NGPU ) != MORSE_SUCCESS ) { - fprintf(stderr, "Error initializing MORSE library\n"); + /* Initialize CHAMELEON with main parameters */ + if ( CHAMELEON_Init( NCPU, NGPU ) != CHAMELEON_SUCCESS ) { + fprintf(stderr, "Error initializing CHAMELEON library\n"); return EXIT_FAILURE; } - /* Question morse to get the block (tile) size (number of columns) */ - MORSE_Get( MORSE_TILE_SIZE, &NB ); + /* Question chameleon to get the block (tile) size (number of columns) */ + CHAMELEON_Get( CHAMELEON_TILE_SIZE, &NB ); /* allocate tile data */ matA = allocate_tile_matrix(N, N, NB); /* - * This function is very similar to MORSE_Desc_Create but the way to + * This function is very similar to CHAMELEON_Desc_Create but the way to * access matrix tiles can be controled by the user. * To do so, three functions with a precise prototype must be given: - * - void* get_blkaddr(const MORSE_desc_t *, int, int) + * - void* get_blkaddr(const CHAM_desc_t *, int, int) * returns a pointer to the tile m, n - * - int get_blkldd (const MORSE_desc_t *, int) + * - int get_blkldd (const CHAM_desc_t *, int) * returns the leading dimension of the tile m, n - * - int get_rankof (const MORSE_desc_t *, int, int) + * - int get_rankof (const CHAM_desc_t *, int, int) * returns the MPI rank of the tile m, n (0 here because we do not * intend to use this program with MPI) */ - MORSE_Desc_Create_User(&descA, matA, MorseRealDouble, + CHAMELEON_Desc_Create_User(&descA, matA, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1, user_getaddr_arrayofpointers, user_getblkldd_arrayofpointers, user_getrankof_zero); /* - * We use the classical MORSE way for accessing tiles for descripotrs + * We use the classical CHAMELEON way for accessing tiles for descripotrs * B, X and AC. This to show you can define different way to consider tiles * in your matrix. The only thing important is to have well defined * functions get_blkaddr, get_blkldd, get_rankof corresponding to your data. - * Note that this call of MORSE_Desc_Create_User routine with - * morse_getaddr_ccrb, morse_getblkldd_ccrband morse_getrankof_2d functions - * is equivalent to a call to MORSE_Desc_Create (morse_get... are the - * functions used inside MORSE_Desc_Create). + * Note that this call of CHAMELEON_Desc_Create_User routine with + * chameleon_getaddr_ccrb, chameleon_getblkldd_ccrband chameleon_getrankof_2d functions + * is equivalent to a call to CHAMELEON_Desc_Create (chameleon_get... are the + * functions used inside CHAMELEON_Desc_Create). */ - MORSE_Desc_Create(&descB, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descB, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1); - MORSE_Desc_Create(&descX, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descX, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1); - MORSE_Desc_Create(&descAC, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descAC, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1); /* generate A matrix with random values such that it is spd */ - MORSE_dplgsy_Tile( (double)N, MorseUpperLower, descA, 51 ); + CHAMELEON_dplgsy_Tile( (double)N, ChamUpperLower, descA, 51 ); /* generate RHS */ - MORSE_dplrnt_Tile( descB, 5673 ); + CHAMELEON_dplrnt_Tile( descB, 5673 ); /* copy A before facto. in order to check the result */ - MORSE_dlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descA, descAC); /* copy B in X before solving * same sense as memcpy(X, B, N*NRHS*sizeof(double)) but for descriptors */ - MORSE_dlacpy_Tile(MorseUpperLower, descB, descX); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descB, descX); /************************************************************/ /* solve the system AX = B using the Cholesky factorization */ @@ -142,13 +142,13 @@ int main(int argc, char *argv[]) { /* Cholesky factorization: * A is replaced by its factorization L or L^T depending on uplo */ - MORSE_dpotrf_Tile( UPLO, descA ); + CHAMELEON_dpotrf_Tile( UPLO, descA ); /* Solve: * B is stored in X on entry, X contains the result on exit. * Forward and back substitutions */ - MORSE_dpotrs_Tile( UPLO, descA, descX ); + CHAMELEON_dpotrs_Tile( UPLO, descA, descX ); cpu_time += CHAMELEON_timer(); @@ -162,14 +162,14 @@ int main(int argc, char *argv[]) { /************************************************************/ /* compute norms to check the result */ - anorm = MORSE_dlange_Tile( MorseInfNorm, descAC); - bnorm = MORSE_dlange_Tile( MorseInfNorm, descB); - xnorm = MORSE_dlange_Tile( MorseInfNorm, descX); + anorm = CHAMELEON_dlange_Tile( ChamInfNorm, descAC); + bnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descB); + xnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descX); /* compute A*X-B, store the result in B */ - MORSE_dgemm_Tile( MorseNoTrans, MorseNoTrans, + CHAMELEON_dgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); - res = MORSE_dlange_Tile( MorseInfNorm, descB ); + res = CHAMELEON_dlange_Tile( ChamInfNorm, descB ); /* check residual and print a message */ eps = LAPACKE_dlamch_work( 'e' ); @@ -196,13 +196,13 @@ int main(int argc, char *argv[]) { descA->mat = NULL; /* free descriptors descA, descB, descX, descAC */ - MORSE_Desc_Destroy( &descA ); - MORSE_Desc_Destroy( &descB ); - MORSE_Desc_Destroy( &descX ); - MORSE_Desc_Destroy( &descAC ); + CHAMELEON_Desc_Destroy( &descA ); + CHAMELEON_Desc_Destroy( &descB ); + CHAMELEON_Desc_Destroy( &descX ); + CHAMELEON_Desc_Destroy( &descAC ); - /* Finalize MORSE */ - MORSE_Finalize(); + /* Finalize CHAMELEON */ + CHAMELEON_Finalize(); return EXIT_SUCCESS; } diff --git a/example/lapack_to_morse/step3.h b/example/lapack_to_chameleon/step3.h similarity index 94% rename from example/lapack_to_morse/step3.h rename to example/lapack_to_chameleon/step3.h index 2d02d920aedfc5c48392ae0df6ea6a432d242a86..d04d2d47b5c107fc4a47ecba259094588f9cfefe 100644 --- a/example/lapack_to_morse/step3.h +++ b/example/lapack_to_chameleon/step3.h @@ -20,11 +20,11 @@ #define STEP3_H /* Common include for all steps of the tutorial */ -#include "lapack_to_morse.h" +#include "lapack_to_chameleon.h" /* Specific includes for step 3 */ #include <coreblas/lapacke.h> -#include <morse.h> +#include <chameleon.h> /* Integer parameters for step3 */ enum iparam_step3 { @@ -162,7 +162,7 @@ static void deallocate_tile_matrix(double **mat, int m, int n, int nb){ /** * Function to return address of block (m,n) */ -inline static void* user_getaddr_arrayofpointers(const MORSE_desc_t *A, int m, int n) +inline static void* user_getaddr_arrayofpointers(const CHAM_desc_t *A, int m, int n) { double **matA = (double **)A->mat; size_t mm = (size_t)m + (size_t)A->i / A->mb; @@ -182,7 +182,7 @@ inline static void* user_getaddr_arrayofpointers(const MORSE_desc_t *A, int m, i /** * Function to return the leading dimension of element A(m,*) */ -inline static int user_getblkldd_arrayofpointers(const MORSE_desc_t *A, int m) +inline static int user_getblkldd_arrayofpointers(const CHAM_desc_t *A, int m) { (void)m; return A->mb; @@ -191,7 +191,7 @@ inline static int user_getblkldd_arrayofpointers(const MORSE_desc_t *A, int m) /** * Function to return MPI rank of element A(m,n) */ -inline static int user_getrankof_zero(const MORSE_desc_t *A, int m, int n) +inline static int user_getrankof_zero(const CHAM_desc_t *A, int m, int n) { (void)A; (void)m; (void)n; return 0; diff --git a/example/lapack_to_morse/step4.c b/example/lapack_to_chameleon/step4.c similarity index 68% rename from example/lapack_to_morse/step4.c rename to example/lapack_to_chameleon/step4.c index 32abb06f164fd6e18e1fdf7749ef610ae25269d4..3e4a1e15ff8a9bd1db5cfada44488036b0bb675a 100644 --- a/example/lapack_to_morse/step4.c +++ b/example/lapack_to_chameleon/step4.c @@ -19,11 +19,11 @@ #include "step4.h" /* - * @brief step4 introduces the MORSE tile async interface. - * @details This program is a copy of step2 but instead of using MORSE tile - * interface, we use MORSE tile async interface. + * @brief step4 introduces the CHAMELEON tile async interface. + * @details This program is a copy of step2 but instead of using CHAMELEON tile + * interface, we use CHAMELEON tile async interface. * The goal is to exhibit the runtime synchronization barriers. - * When you call the MORSE tile interface like MORSE_dpotrf_Tile, you have to + * When you call the CHAMELEON tile interface like CHAMELEON_dpotrf_Tile, you have to * be aware that to ensure the proper completion of the algorithm (i.e. data * are up-to-date), a function is called in order to wait actual execution * and termination of all tasks. @@ -36,10 +36,10 @@ int main(int argc, char *argv[]) { int NRHS; // number of RHS vectors int NCPU; // number of cores to use int NGPU; // number of gpus (cuda devices) to use - int UPLO = MorseUpper; // where is stored L + int UPLO = ChamUpper; // where is stored L - /* descriptors necessary for calling MORSE tile interface */ - MORSE_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; + /* descriptors necessary for calling CHAMELEON tile interface */ + CHAM_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; /* declarations to time the program and evaluate performances */ double fmuls, fadds, flops, gflops, cpu_time; @@ -48,11 +48,11 @@ int main(int argc, char *argv[]) { double anorm, bnorm, xnorm, eps, res; int hres; - /* MORSE sequence uniquely identifies a set of asynchronous function calls + /* CHAMELEON sequence uniquely identifies a set of asynchronous function calls * sharing common exception handling */ - MORSE_sequence_t *sequence = NULL; - /* MORSE request uniquely identifies each asynchronous function call */ - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + RUNTIME_sequence_t *sequence = NULL; + /* CHAMELEON request uniquely identifies each asynchronous function call */ + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; /* initialize some parameters with default values */ @@ -82,37 +82,37 @@ int main(int argc, char *argv[]) { /* print informations to user */ print_header( argv[0], iparam); - /* Initialize MORSE with main parameters */ - if ( MORSE_Init( NCPU, NGPU ) != MORSE_SUCCESS ) { - fprintf(stderr, "Error initializing MORSE library\n"); + /* Initialize CHAMELEON with main parameters */ + if ( CHAMELEON_Init( NCPU, NGPU ) != CHAMELEON_SUCCESS ) { + fprintf(stderr, "Error initializing CHAMELEON library\n"); return EXIT_FAILURE; } - /* Question morse to get the block (tile) size (number of columns) */ - MORSE_Get( MORSE_TILE_SIZE, &NB ); + /* Question chameleon to get the block (tile) size (number of columns) */ + CHAMELEON_Get( CHAMELEON_TILE_SIZE, &NB ); - /* Initialize the structure required for MORSE tile interface */ - MORSE_Desc_Create(&descA, NULL, MorseRealDouble, + /* Initialize the structure required for CHAMELEON tile interface */ + CHAMELEON_Desc_Create(&descA, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1); - MORSE_Desc_Create(&descB, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descB, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1); - MORSE_Desc_Create(&descX, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descX, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1); - MORSE_Desc_Create(&descAC, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descAC, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1); /* generate A matrix with random values such that it is spd */ - MORSE_dplgsy_Tile( (double)N, MorseUpperLower, descA, 51 ); + CHAMELEON_dplgsy_Tile( (double)N, ChamUpperLower, descA, 51 ); /* generate RHS */ - MORSE_dplrnt_Tile( descB, 5673 ); + CHAMELEON_dplrnt_Tile( descB, 5673 ); /* copy A before facto. in order to check the result */ - MORSE_dlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descA, descAC); /* copy B in X before solving * same sense as memcpy(X, B, N*NRHS*sizeof(double)) but for descriptors */ - MORSE_dlacpy_Tile(MorseUpperLower, descB, descX); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descB, descX); /************************************************************/ /* solve the system AX = B using the Cholesky factorization */ @@ -120,33 +120,33 @@ int main(int argc, char *argv[]) { cpu_time = -CHAMELEON_timer(); - MORSE_Sequence_Create(&sequence); + CHAMELEON_Sequence_Create(&sequence); /* Cholesky factorization: * A is replaced by its factorization L or L^T depending on uplo */ - MORSE_dpotrf_Tile_Async( UPLO, descA, sequence, &request ); + CHAMELEON_dpotrf_Tile_Async( UPLO, descA, sequence, &request ); /* Solve: * B is stored in X on entry, X contains the result on exit. * Forward and back substitutions */ - MORSE_dpotrs_Tile_Async( UPLO, descA, descX, sequence, &request); + CHAMELEON_dpotrs_Tile_Async( UPLO, descA, descX, sequence, &request); /* Ensure that all data processed on the gpus we are depending on are back * in main memory */ - MORSE_Desc_Flush( descA, sequence ); - MORSE_Desc_Flush( descX, sequence ); + CHAMELEON_Desc_Flush( descA, sequence ); + CHAMELEON_Desc_Flush( descX, sequence ); /* Synchronization barrier (the runtime ensures that all submitted tasks * have been terminated */ - MORSE_Sequence_Wait(sequence); + CHAMELEON_Sequence_Wait(sequence); status = sequence->status; if ( status != 0 ) { fprintf(stderr, "Error in computation (%d)\n", status); return EXIT_FAILURE; } - MORSE_Sequence_Destroy(sequence); + CHAMELEON_Sequence_Destroy(sequence); cpu_time += CHAMELEON_timer(); @@ -160,14 +160,14 @@ int main(int argc, char *argv[]) { /************************************************************/ /* compute norms to check the result */ - anorm = MORSE_dlange_Tile( MorseInfNorm, descAC); - bnorm = MORSE_dlange_Tile( MorseInfNorm, descB); - xnorm = MORSE_dlange_Tile( MorseInfNorm, descX); + anorm = CHAMELEON_dlange_Tile( ChamInfNorm, descAC); + bnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descB); + xnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descX); /* compute A*X-B, store the result in B */ - MORSE_dgemm_Tile( MorseNoTrans, MorseNoTrans, + CHAMELEON_dgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); - res = MORSE_dlange_Tile( MorseInfNorm, descB ); + res = CHAMELEON_dlange_Tile( ChamInfNorm, descB ); /* check residual and print a message */ eps = LAPACKE_dlamch_work( 'e' ); @@ -190,13 +190,13 @@ int main(int argc, char *argv[]) { } /* deallocate A, B, X, Acpy and associated descriptors descA, ... */ - MORSE_Desc_Destroy( &descA ); - MORSE_Desc_Destroy( &descB ); - MORSE_Desc_Destroy( &descX ); - MORSE_Desc_Destroy( &descAC ); + CHAMELEON_Desc_Destroy( &descA ); + CHAMELEON_Desc_Destroy( &descB ); + CHAMELEON_Desc_Destroy( &descX ); + CHAMELEON_Desc_Destroy( &descAC ); - /* Finalize MORSE */ - MORSE_Finalize(); + /* Finalize CHAMELEON */ + CHAMELEON_Finalize(); return EXIT_SUCCESS; } diff --git a/example/lapack_to_morse/step4.h b/example/lapack_to_chameleon/step4.h similarity index 98% rename from example/lapack_to_morse/step4.h rename to example/lapack_to_chameleon/step4.h index e68cd4eb632432686c216a34be0fae5b02f444bc..5571445be68b250ebb007a73c0556c10fed9af0d 100644 --- a/example/lapack_to_morse/step4.h +++ b/example/lapack_to_chameleon/step4.h @@ -20,11 +20,11 @@ #define STEP4_H /* Common include for all steps of the tutorial */ -#include "lapack_to_morse.h" +#include "lapack_to_chameleon.h" /* Specific includes for step 4 */ #include <coreblas/lapacke.h> -#include <morse.h> +#include <chameleon.h> /* Integer parameters for step4 */ enum iparam_step4 { diff --git a/example/lapack_to_morse/step5.c b/example/lapack_to_chameleon/step5.c similarity index 69% rename from example/lapack_to_morse/step5.c rename to example/lapack_to_chameleon/step5.c index a3ef2994dced8993bda8d9041f02302bf9cc5034..7793eda9ff1df531958c4ac741218961b2cb9a15 100644 --- a/example/lapack_to_morse/step5.c +++ b/example/lapack_to_chameleon/step5.c @@ -21,7 +21,7 @@ /* * @brief step5 shows how to set some important parameters. * @details This program is a copy of step4 but some additional parameters - * are given to MORSE by the user. + * are given to CHAMELEON by the user. * The parameters that can be set are: * - number of Threads * - number of GPUs @@ -36,10 +36,10 @@ int main(int argc, char *argv[]) { int NRHS; // number of RHS vectors int NCPU; // number of cores to use int NGPU; // number of gpus (cuda devices) to use - int UPLO = MorseUpper; // where is stored L + int UPLO = ChamUpper; // where is stored L - /* descriptors necessary for calling MORSE tile interface */ - MORSE_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; + /* descriptors necessary for calling CHAMELEON tile interface */ + CHAM_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; /* declarations to time the program and evaluate performances */ double fmuls, fadds, flops, gflops, cpu_time; @@ -48,11 +48,11 @@ int main(int argc, char *argv[]) { double anorm, bnorm, xnorm, eps, res; int hres; - /* MORSE sequence uniquely identifies a set of asynchronous function calls + /* CHAMELEON sequence uniquely identifies a set of asynchronous function calls * sharing common exception handling */ - MORSE_sequence_t *sequence = NULL; - /* MORSE request uniquely identifies each asynchronous function call */ - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + RUNTIME_sequence_t *sequence = NULL; + /* CHAMELEON request uniquely identifies each asynchronous function call */ + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; /* initialize some parameters with default values */ @@ -85,38 +85,38 @@ int main(int argc, char *argv[]) { /* print informations to user */ print_header( argv[0], iparam); - /* Initialize MORSE with main parameters */ - if ( MORSE_Init( NCPU, NGPU ) != MORSE_SUCCESS ) { - fprintf(stderr, "Error initializing MORSE library\n"); + /* Initialize CHAMELEON with main parameters */ + if ( CHAMELEON_Init( NCPU, NGPU ) != CHAMELEON_SUCCESS ) { + fprintf(stderr, "Error initializing CHAMELEON library\n"); return EXIT_FAILURE; } - /* set some specific parameters related to MORSE: blocks size and inner-blocking size */ - MORSE_Set(MORSE_TILE_SIZE, iparam[IPARAM_NB] ); - MORSE_Set(MORSE_INNER_BLOCK_SIZE, iparam[IPARAM_IB] ); + /* set some specific parameters related to CHAMELEON: blocks size and inner-blocking size */ + CHAMELEON_Set(CHAMELEON_TILE_SIZE, iparam[IPARAM_NB] ); + CHAMELEON_Set(CHAMELEON_INNER_BLOCK_SIZE, iparam[IPARAM_IB] ); - /* Initialize the structure required for MORSE tile interface */ - MORSE_Desc_Create(&descA, NULL, MorseRealDouble, + /* Initialize the structure required for CHAMELEON tile interface */ + CHAMELEON_Desc_Create(&descA, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1); - MORSE_Desc_Create(&descB, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descB, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1); - MORSE_Desc_Create(&descX, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descX, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1); - MORSE_Desc_Create(&descAC, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descAC, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1); /* generate A matrix with random values such that it is spd */ - MORSE_dplgsy_Tile( (double)N, MorseUpperLower, descA, 51 ); + CHAMELEON_dplgsy_Tile( (double)N, ChamUpperLower, descA, 51 ); /* generate RHS */ - MORSE_dplrnt_Tile( descB, 5673 ); + CHAMELEON_dplrnt_Tile( descB, 5673 ); /* copy A before facto. in order to check the result */ - MORSE_dlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descA, descAC); /* copy B in X before solving * same sense as memcpy(X, B, N*NRHS*sizeof(double)) but for descriptors */ - MORSE_dlacpy_Tile(MorseUpperLower, descB, descX); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descB, descX); /************************************************************/ /* solve the system AX = B using the Cholesky factorization */ @@ -124,33 +124,33 @@ int main(int argc, char *argv[]) { cpu_time = -CHAMELEON_timer(); - MORSE_Sequence_Create(&sequence); + CHAMELEON_Sequence_Create(&sequence); /* Cholesky factorization: * A is replaced by its factorization L or L^T depending on uplo */ - MORSE_dpotrf_Tile_Async( UPLO, descA, sequence, &request ); + CHAMELEON_dpotrf_Tile_Async( UPLO, descA, sequence, &request ); /* Solve: * B is stored in X on entry, X contains the result on exit. * Forward and back substitutions */ - MORSE_dpotrs_Tile_Async( UPLO, descA, descX, sequence, &request); + CHAMELEON_dpotrs_Tile_Async( UPLO, descA, descX, sequence, &request); /* Ensure that all data processed on the gpus we are depending on are back * in main memory */ - MORSE_Desc_Flush( descA, sequence ); - MORSE_Desc_Flush( descX, sequence ); + CHAMELEON_Desc_Flush( descA, sequence ); + CHAMELEON_Desc_Flush( descX, sequence ); /* Synchronization barrier (the runtime ensures that all submitted tasks * have been terminated */ - MORSE_Sequence_Wait(sequence); + CHAMELEON_Sequence_Wait(sequence); status = sequence->status; if ( status != 0 ) { fprintf(stderr, "Error in computation (%d)\n", status); return EXIT_FAILURE; } - MORSE_Sequence_Destroy(sequence); + CHAMELEON_Sequence_Destroy(sequence); cpu_time += CHAMELEON_timer(); @@ -164,14 +164,14 @@ int main(int argc, char *argv[]) { /************************************************************/ /* compute norms to check the result */ - anorm = MORSE_dlange_Tile( MorseInfNorm, descAC); - bnorm = MORSE_dlange_Tile( MorseInfNorm, descB); - xnorm = MORSE_dlange_Tile( MorseInfNorm, descX); + anorm = CHAMELEON_dlange_Tile( ChamInfNorm, descAC); + bnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descB); + xnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descX); /* compute A*X-B, store the result in B */ - MORSE_dgemm_Tile( MorseNoTrans, MorseNoTrans, + CHAMELEON_dgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); - res = MORSE_dlange_Tile( MorseInfNorm, descB ); + res = CHAMELEON_dlange_Tile( ChamInfNorm, descB ); /* check residual and print a message */ eps = LAPACKE_dlamch_work( 'e' ); @@ -194,13 +194,13 @@ int main(int argc, char *argv[]) { } /* deallocate A, B, X, Acpy and associated descriptors descA, ... */ - MORSE_Desc_Destroy( &descA ); - MORSE_Desc_Destroy( &descB ); - MORSE_Desc_Destroy( &descX ); - MORSE_Desc_Destroy( &descAC ); + CHAMELEON_Desc_Destroy( &descA ); + CHAMELEON_Desc_Destroy( &descB ); + CHAMELEON_Desc_Destroy( &descX ); + CHAMELEON_Desc_Destroy( &descAC ); - /* Finalize MORSE */ - MORSE_Finalize(); + /* Finalize CHAMELEON */ + CHAMELEON_Finalize(); return EXIT_SUCCESS; } diff --git a/example/lapack_to_morse/step5.h b/example/lapack_to_chameleon/step5.h similarity index 98% rename from example/lapack_to_morse/step5.h rename to example/lapack_to_chameleon/step5.h index b4ba0dc1b5506856f25ac435ab0a231aabc42473..7b335a0c103c681abc749c2cbf2010f464e68fb5 100644 --- a/example/lapack_to_morse/step5.h +++ b/example/lapack_to_chameleon/step5.h @@ -20,11 +20,11 @@ #define STEP5_H /* Common include for all steps of the tutorial */ -#include "lapack_to_morse.h" +#include "lapack_to_chameleon.h" /* Specific includes for step 5 */ #include <coreblas/lapacke.h> -#include <morse.h> +#include <chameleon.h> /* Integer parameters for step5 */ enum iparam_step5 { diff --git a/example/lapack_to_morse/step6.c b/example/lapack_to_chameleon/step6.c similarity index 71% rename from example/lapack_to_morse/step6.c rename to example/lapack_to_chameleon/step6.c index 3397942336eb891c2e32a2e92ba8abd69f3977fc..099ed4fcfd2ec8778f781c8469f3a8c4c4a9a866 100644 --- a/example/lapack_to_morse/step6.c +++ b/example/lapack_to_chameleon/step6.c @@ -19,9 +19,9 @@ #include "step6.h" /* - * @brief step6 introduces how to use MORSE with MPI. + * @brief step6 introduces how to use CHAMELEON with MPI. * @details This program is a copy of step5 with some additional parameters to - * be set for the data distribution. To use this program properly MORSE must + * be set for the data distribution. To use this program properly CHAMELEON must * use StarPU Runtime system and MPI option must be activated at configure. * The data distribution used here is 2D block cyclic, see for example * http://www.netlib.org/scalapack/slug/node75.html for explanation. @@ -37,10 +37,10 @@ int main(int argc, char *argv[]) { int GRID_P; // parameter of the 2D block cyclic distribution int GRID_Q; // parameter of the 2D block cyclic distribution int NMPIPROC = 1; // number of MPI processus - int UPLO = MorseUpper; // where is stored L + int UPLO = ChamUpper; // where is stored L - /* descriptors necessary for calling MORSE tile interface */ - MORSE_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; + /* descriptors necessary for calling CHAMELEON tile interface */ + CHAM_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; /* declarations to time the program and evaluate performances */ double fmuls, fadds, flops, gflops, cpu_time; @@ -49,11 +49,11 @@ int main(int argc, char *argv[]) { double anorm, bnorm, xnorm, eps, res; int hres; - /* MORSE sequence uniquely identifies a set of asynchronous function calls + /* CHAMELEON sequence uniquely identifies a set of asynchronous function calls * sharing common exception handling */ - MORSE_sequence_t *sequence = NULL; - /* MORSE request uniquely identifies each asynchronous function call */ - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + RUNTIME_sequence_t *sequence = NULL; + /* CHAMELEON request uniquely identifies each asynchronous function call */ + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; /* initialize some parameters with default values */ @@ -83,18 +83,18 @@ int main(int argc, char *argv[]) { NCPU = iparam[IPARAM_THRDNBR]; NGPU = iparam[IPARAM_NCUDAS]; - /* Initialize MORSE with main parameters */ - if ( MORSE_Init( NCPU, NGPU ) != MORSE_SUCCESS ) { - fprintf(stderr, "Error initializing MORSE library\n"); + /* Initialize CHAMELEON with main parameters */ + if ( CHAMELEON_Init( NCPU, NGPU ) != CHAMELEON_SUCCESS ) { + fprintf(stderr, "Error initializing CHAMELEON library\n"); return EXIT_FAILURE; } - /* set some specific parameters related to MORSE: blocks size and inner-blocking size */ - MORSE_Set(MORSE_TILE_SIZE, iparam[IPARAM_NB] ); - MORSE_Set(MORSE_INNER_BLOCK_SIZE, iparam[IPARAM_IB] ); + /* set some specific parameters related to CHAMELEON: blocks size and inner-blocking size */ + CHAMELEON_Set(CHAMELEON_TILE_SIZE, iparam[IPARAM_NB] ); + CHAMELEON_Set(CHAMELEON_INNER_BLOCK_SIZE, iparam[IPARAM_IB] ); #if defined(CHAMELEON_USE_MPI) - NMPIPROC = MORSE_Comm_size(); + NMPIPROC = CHAMELEON_Comm_size(); /* Check P */ if ( (iparam[IPARAM_P] > 1) && (NMPIPROC % iparam[IPARAM_P] != 0) ) { @@ -108,37 +108,37 @@ int main(int argc, char *argv[]) { GRID_P = iparam[IPARAM_P]; GRID_Q = iparam[IPARAM_Q]; - if ( MORSE_My_Mpi_Rank() == 0 ){ + if ( CHAMELEON_My_Mpi_Rank() == 0 ){ /* print informations to user */ print_header( argv[0], iparam); } - /* Initialize the structure required for MORSE tile interface */ - MORSE_Desc_Create(&descA, NULL, MorseRealDouble, + /* Initialize the structure required for CHAMELEON tile interface */ + CHAMELEON_Desc_Create(&descA, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, GRID_P, GRID_Q); - MORSE_Desc_Create(&descB, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descB, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, GRID_P, GRID_Q); - MORSE_Desc_Create(&descX, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descX, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, GRID_P, GRID_Q); - MORSE_Desc_Create(&descAC, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descAC, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, GRID_P, GRID_Q); /* generate A matrix with random values such that it is spd */ - MORSE_dplgsy_Tile( (double)N, MorseUpperLower, descA, 51 ); + CHAMELEON_dplgsy_Tile( (double)N, ChamUpperLower, descA, 51 ); /* generate RHS */ - MORSE_dplrnt_Tile( descB, 5673 ); + CHAMELEON_dplrnt_Tile( descB, 5673 ); /* copy A before facto. in order to check the result */ - MORSE_dlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descA, descAC); /* copy B in X before solving * same sense as memcpy(X, B, N*NRHS*sizeof(double)) but for descriptors */ - MORSE_dlacpy_Tile(MorseUpperLower, descB, descX); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descB, descX); /************************************************************/ /* solve the system AX = B using the Cholesky factorization */ @@ -146,39 +146,39 @@ int main(int argc, char *argv[]) { cpu_time = -CHAMELEON_timer(); - MORSE_Sequence_Create(&sequence); + CHAMELEON_Sequence_Create(&sequence); /* Cholesky factorization: * A is replaced by its factorization L or L^T depending on uplo */ - MORSE_dpotrf_Tile_Async( UPLO, descA, sequence, &request ); + CHAMELEON_dpotrf_Tile_Async( UPLO, descA, sequence, &request ); /* Solve: * B is stored in X on entry, X contains the result on exit. * Forward and back substitutions */ - MORSE_dpotrs_Tile_Async( UPLO, descA, descX, sequence, &request); + CHAMELEON_dpotrs_Tile_Async( UPLO, descA, descX, sequence, &request); /* Ensure that all data processed on the gpus we are depending on are back * in main memory */ - MORSE_Desc_Flush( descA, sequence ); - MORSE_Desc_Flush( descX, sequence ); + CHAMELEON_Desc_Flush( descA, sequence ); + CHAMELEON_Desc_Flush( descX, sequence ); /* Synchronization barrier (the runtime ensures that all submitted tasks * have been terminated */ - MORSE_Sequence_Wait(sequence); + CHAMELEON_Sequence_Wait(sequence); status = sequence->status; if ( status != 0 ) { fprintf(stderr, "Error in computation (%d)\n", status); return EXIT_FAILURE; } - MORSE_Sequence_Destroy(sequence); + CHAMELEON_Sequence_Destroy(sequence); cpu_time += CHAMELEON_timer(); /* print informations to user */ gflops = flops / cpu_time; - if ( MORSE_My_Mpi_Rank() == 0 ) { + if ( CHAMELEON_My_Mpi_Rank() == 0 ) { printf( "%9.3f %9.2f\n", cpu_time, gflops); } fflush( stdout ); @@ -188,14 +188,14 @@ int main(int argc, char *argv[]) { /************************************************************/ /* compute norms to check the result */ - anorm = MORSE_dlange_Tile( MorseInfNorm, descAC); - bnorm = MORSE_dlange_Tile( MorseInfNorm, descB); - xnorm = MORSE_dlange_Tile( MorseInfNorm, descX); + anorm = CHAMELEON_dlange_Tile( ChamInfNorm, descAC); + bnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descB); + xnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descX); /* compute A*X-B, store the result in B */ - MORSE_dgemm_Tile( MorseNoTrans, MorseNoTrans, + CHAMELEON_dgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); - res = MORSE_dlange_Tile( MorseInfNorm, descB ); + res = CHAMELEON_dlange_Tile( ChamInfNorm, descB ); /* check residual and print a message */ eps = LAPACKE_dlamch_work( 'e' ); @@ -205,7 +205,7 @@ int main(int argc, char *argv[]) { * else the test failed */ hres = ( res / N / eps / (anorm * xnorm + bnorm ) > 100.0 ); - if ( MORSE_My_Mpi_Rank() == 0 ){ + if ( CHAMELEON_My_Mpi_Rank() == 0 ){ printf( " ||Ax-b|| ||A|| ||x|| ||b|| ||Ax-b||/N/eps/(||A||||x||+||b||) RETURN\n"); if (hres) { printf( "%8.5e %8.5e %8.5e %8.5e %8.5e FAILURE \n", @@ -220,13 +220,13 @@ int main(int argc, char *argv[]) { } /* deallocate A, B, X, Acpy and associated descriptors descA, ... */ - MORSE_Desc_Destroy( &descA ); - MORSE_Desc_Destroy( &descB ); - MORSE_Desc_Destroy( &descX ); - MORSE_Desc_Destroy( &descAC ); + CHAMELEON_Desc_Destroy( &descA ); + CHAMELEON_Desc_Destroy( &descB ); + CHAMELEON_Desc_Destroy( &descX ); + CHAMELEON_Desc_Destroy( &descAC ); - /* Finalize MORSE */ - MORSE_Finalize(); + /* Finalize CHAMELEON */ + CHAMELEON_Finalize(); return EXIT_SUCCESS; } diff --git a/example/lapack_to_morse/step6.h b/example/lapack_to_chameleon/step6.h similarity index 98% rename from example/lapack_to_morse/step6.h rename to example/lapack_to_chameleon/step6.h index bedf4909631d26e6bfe7d9dbdd163c296e250296..1190d73f9a21a98f2d7b9eed8f2e335ee79fc6d0 100644 --- a/example/lapack_to_morse/step6.h +++ b/example/lapack_to_chameleon/step6.h @@ -20,11 +20,11 @@ #define STEP6_H /* Common include for all steps of the tutorial */ -#include "lapack_to_morse.h" +#include "lapack_to_chameleon.h" /* Specific includes for step 6 */ #include <coreblas/lapacke.h> -#include <morse.h> +#include <chameleon.h> #if defined(CHAMELEON_USE_MPI) #include <mpi.h> #endif diff --git a/example/lapack_to_morse/step7.c b/example/lapack_to_chameleon/step7.c similarity index 68% rename from example/lapack_to_morse/step7.c rename to example/lapack_to_chameleon/step7.c index 2c5f408725edc0c78a604997ab3ec94ece680184..ee5437028aeb97b912d8e77a049577bc44b379b1 100644 --- a/example/lapack_to_morse/step7.c +++ b/example/lapack_to_chameleon/step7.c @@ -23,9 +23,9 @@ * @brief step7 introduces how to use the build interface. * @details This program is a copy of step6 with some additional calls to * build a matrix from within chameleon using a function provided by the user. - * This can be seen as a replacement of the function like MORSE_dplgsy_Tile() that can be used - * to fill the matrix with random data, MORSE_dLapack_to_Tile() to fill the matrix - * with data stored in a lapack-like buffer, or MORSE_Desc_Create_User() that can be used + * This can be seen as a replacement of the function like CHAMELEON_dplgsy_Tile() that can be used + * to fill the matrix with random data, CHAMELEON_dLapack_to_Tile() to fill the matrix + * with data stored in a lapack-like buffer, or CHAMELEON_Desc_Create_User() that can be used * to describe an arbitrary tile matrix structure. * In this example, the build callback function are just wrapper towards CORE_xxx() functions, so the output * of the program step7 should be exactly similar to that of step6. @@ -41,10 +41,10 @@ int main(int argc, char *argv[]) { int GRID_P; // parameter of the 2D block cyclic distribution int GRID_Q; // parameter of the 2D block cyclic distribution int NMPIPROC = 1; // number of MPI processus - int UPLO = MorseUpper; // where is stored L + int UPLO = ChamUpper; // where is stored L - /* descriptors necessary for calling MORSE tile interface */ - MORSE_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; + /* descriptors necessary for calling CHAMELEON tile interface */ + CHAM_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; /* declarations to time the program and evaluate performances */ double fmuls, fadds, flops, gflops, cpu_time; @@ -53,11 +53,11 @@ int main(int argc, char *argv[]) { double anorm, bnorm, xnorm, eps, res; int hres; - /* MORSE sequence uniquely identifies a set of asynchronous function calls + /* CHAMELEON sequence uniquely identifies a set of asynchronous function calls * sharing common exception handling */ - MORSE_sequence_t *sequence = NULL; - /* MORSE request uniquely identifies each asynchronous function call */ - MORSE_request_t request = MORSE_REQUEST_INITIALIZER; + RUNTIME_sequence_t *sequence = NULL; + /* CHAMELEON request uniquely identifies each asynchronous function call */ + RUNTIME_request_t request = RUNTIME_REQUEST_INITIALIZER; int status; /* initialize some parameters with default values */ @@ -87,18 +87,18 @@ int main(int argc, char *argv[]) { NCPU = iparam[IPARAM_THRDNBR]; NGPU = iparam[IPARAM_NCUDAS]; - /* Initialize MORSE with main parameters */ - if ( MORSE_Init( NCPU, NGPU ) != MORSE_SUCCESS ) { - fprintf(stderr, "Error initializing MORSE library\n"); + /* Initialize CHAMELEON with main parameters */ + if ( CHAMELEON_Init( NCPU, NGPU ) != CHAMELEON_SUCCESS ) { + fprintf(stderr, "Error initializing CHAMELEON library\n"); return EXIT_FAILURE; } - /* set some specific parameters related to MORSE: blocks size and inner-blocking size */ - MORSE_Set(MORSE_TILE_SIZE, iparam[IPARAM_NB] ); - MORSE_Set(MORSE_INNER_BLOCK_SIZE, iparam[IPARAM_IB] ); + /* set some specific parameters related to CHAMELEON: blocks size and inner-blocking size */ + CHAMELEON_Set(CHAMELEON_TILE_SIZE, iparam[IPARAM_NB] ); + CHAMELEON_Set(CHAMELEON_INNER_BLOCK_SIZE, iparam[IPARAM_IB] ); #if defined(CHAMELEON_USE_MPI) - NMPIPROC = MORSE_Comm_size(); + NMPIPROC = CHAMELEON_Comm_size(); /* Check P */ if ( (iparam[IPARAM_P] > 1) && (NMPIPROC % iparam[IPARAM_P] != 0) ) { @@ -112,41 +112,41 @@ int main(int argc, char *argv[]) { GRID_P = iparam[IPARAM_P]; GRID_Q = iparam[IPARAM_Q]; - if ( MORSE_My_Mpi_Rank() == 0 ){ + if ( CHAMELEON_My_Mpi_Rank() == 0 ){ /* print informations to user */ print_header( argv[0], iparam); } - /* Initialize the structure required for MORSE tile interface */ - MORSE_Desc_Create(&descA, NULL, MorseRealDouble, + /* Initialize the structure required for CHAMELEON tile interface */ + CHAMELEON_Desc_Create(&descA, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, GRID_P, GRID_Q); - MORSE_Desc_Create(&descB, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descB, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, GRID_P, GRID_Q); - MORSE_Desc_Create(&descX, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descX, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, GRID_P, GRID_Q); - MORSE_Desc_Create(&descAC, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descAC, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, GRID_P, GRID_Q); /* generate A matrix with random values such that it is spd. - We use the callback function Morse_build_callback_plgsy() defined in step7.h + We use the callback function Cham_build_callback_plgsy() defined in step7.h In this example, it is just a wrapper toward CORE_dplgsy() */ struct data_pl data_A={(double)N, 51, N}; - MORSE_dbuild_Tile(MorseUpperLower, descA, (void*)&data_A, Morse_build_callback_plgsy); + CHAMELEON_dbuild_Tile(ChamUpperLower, descA, (void*)&data_A, Cham_build_callback_plgsy); - /* generate RHS with the callback Morse_build_callback_plrnt() */ + /* generate RHS with the callback Cham_build_callback_plrnt() */ struct data_pl data_B={0., 5673, N}; - MORSE_dbuild_Tile(MorseUpperLower, descB, (void*)&data_B, Morse_build_callback_plrnt); + CHAMELEON_dbuild_Tile(ChamUpperLower, descB, (void*)&data_B, Cham_build_callback_plrnt); /* copy A before facto. in order to check the result */ - MORSE_dlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descA, descAC); /* copy B in X before solving * same sense as memcpy(X, B, N*NRHS*sizeof(double)) but for descriptors */ - MORSE_dlacpy_Tile(MorseUpperLower, descB, descX); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descB, descX); /************************************************************/ /* solve the system AX = B using the Cholesky factorization */ @@ -154,39 +154,39 @@ int main(int argc, char *argv[]) { cpu_time = -CHAMELEON_timer(); - MORSE_Sequence_Create(&sequence); + CHAMELEON_Sequence_Create(&sequence); /* Cholesky factorization: * A is replaced by its factorization L or L^T depending on uplo */ - MORSE_dpotrf_Tile_Async( UPLO, descA, sequence, &request ); + CHAMELEON_dpotrf_Tile_Async( UPLO, descA, sequence, &request ); /* Solve: * B is stored in X on entry, X contains the result on exit. * Forward and back substitutions */ - MORSE_dpotrs_Tile_Async( UPLO, descA, descX, sequence, &request); + CHAMELEON_dpotrs_Tile_Async( UPLO, descA, descX, sequence, &request); /* Ensure that all data processed on the gpus we are depending on are back * in main memory */ - MORSE_Desc_Flush( descA, sequence ); - MORSE_Desc_Flush( descX, sequence ); + CHAMELEON_Desc_Flush( descA, sequence ); + CHAMELEON_Desc_Flush( descX, sequence ); /* Synchronization barrier (the runtime ensures that all submitted tasks * have been terminated */ - MORSE_Sequence_Wait(sequence); + CHAMELEON_Sequence_Wait(sequence); status = sequence->status; if ( status != 0 ) { fprintf(stderr, "Error in computation (%d)\n", status); return EXIT_FAILURE; } - MORSE_Sequence_Destroy(sequence); + CHAMELEON_Sequence_Destroy(sequence); cpu_time += CHAMELEON_timer(); /* print informations to user */ gflops = flops / cpu_time; - if ( MORSE_My_Mpi_Rank() == 0 ) { + if ( CHAMELEON_My_Mpi_Rank() == 0 ) { printf( "%9.3f %9.2f\n", cpu_time, gflops); } fflush( stdout ); @@ -196,14 +196,14 @@ int main(int argc, char *argv[]) { /************************************************************/ /* compute norms to check the result */ - anorm = MORSE_dlange_Tile( MorseInfNorm, descAC); - bnorm = MORSE_dlange_Tile( MorseInfNorm, descB); - xnorm = MORSE_dlange_Tile( MorseInfNorm, descX); + anorm = CHAMELEON_dlange_Tile( ChamInfNorm, descAC); + bnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descB); + xnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descX); /* compute A*X-B, store the result in B */ - MORSE_dgemm_Tile( MorseNoTrans, MorseNoTrans, + CHAMELEON_dgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); - res = MORSE_dlange_Tile( MorseInfNorm, descB ); + res = CHAMELEON_dlange_Tile( ChamInfNorm, descB ); /* check residual and print a message */ eps = LAPACKE_dlamch_work( 'e' ); @@ -213,7 +213,7 @@ int main(int argc, char *argv[]) { * else the test failed */ hres = ( res / N / eps / (anorm * xnorm + bnorm ) > 100.0 ); - if ( MORSE_My_Mpi_Rank() == 0 ){ + if ( CHAMELEON_My_Mpi_Rank() == 0 ){ printf( " ||Ax-b|| ||A|| ||x|| ||b|| ||Ax-b||/N/eps/(||A||||x||+||b||) RETURN\n"); if (hres) { printf( "%8.5e %8.5e %8.5e %8.5e %8.5e FAILURE \n", @@ -228,13 +228,13 @@ int main(int argc, char *argv[]) { } /* deallocate A, B, X, Acpy and associated descriptors descA, ... */ - MORSE_Desc_Destroy( &descA ); - MORSE_Desc_Destroy( &descB ); - MORSE_Desc_Destroy( &descX ); - MORSE_Desc_Destroy( &descAC ); + CHAMELEON_Desc_Destroy( &descA ); + CHAMELEON_Desc_Destroy( &descB ); + CHAMELEON_Desc_Destroy( &descX ); + CHAMELEON_Desc_Destroy( &descAC ); - /* Finalize MORSE */ - MORSE_Finalize(); + /* Finalize CHAMELEON */ + CHAMELEON_Finalize(); return EXIT_SUCCESS; } diff --git a/example/lapack_to_morse/step7.h b/example/lapack_to_chameleon/step7.h similarity index 93% rename from example/lapack_to_morse/step7.h rename to example/lapack_to_chameleon/step7.h index 6d658bd96d7d495f06b8182ad8268abd48353e2e..d885eecddcb252ed486c6f976e2065720efb3e7d 100644 --- a/example/lapack_to_morse/step7.h +++ b/example/lapack_to_chameleon/step7.h @@ -21,12 +21,12 @@ #define step7_H /* Common include for all steps of the tutorial */ -#include "lapack_to_morse.h" +#include "lapack_to_chameleon.h" /* Specific includes for step 7 */ #include <coreblas/lapacke.h> #include <coreblas.h> -#include <morse.h> +#include <chameleon.h> #if defined(CHAMELEON_USE_MPI) #include <mpi.h> #endif @@ -65,8 +65,8 @@ static void init_iparam(int iparam[IPARAM_SIZEOF]){ /** * Callback function used to build matrix blocks - * Morse_build_callback_plgsy : random symmetric positive definite - * Morse_build_callback_plrnt : random + * Cham_build_callback_plgsy : random symmetric positive definite + * Cham_build_callback_plrnt : random * These 2 functions use data_pl to get data on the matrix to build, passed through the opaque pointer 'user_data' * The callback is expected to build the block of matrix [row_min, row_max] x [col_min, col_max] * (with both min and max values included in the intervals, index start at 0 like in C, NOT 1 like in Fortran) @@ -78,12 +78,12 @@ struct data_pl { int bigM; }; -static void Morse_build_callback_plgsy(int row_min, int row_max, int col_min, int col_max, void *buffer, int ld, void *user_data) { +static void Cham_build_callback_plgsy(int row_min, int row_max, int col_min, int col_max, void *buffer, int ld, void *user_data) { struct data_pl *data=(struct data_pl *)user_data; CORE_dplgsy(data->bump, row_max-row_min+1, col_max-col_min+1, buffer, ld, data->bigM, row_min, col_min, data->seed); } -static void Morse_build_callback_plrnt(int row_min, int row_max, int col_min, int col_max, void *buffer, int ld, void *user_data) { +static void Cham_build_callback_plrnt(int row_min, int row_max, int col_min, int col_max, void *buffer, int ld, void *user_data) { struct data_pl *data=(struct data_pl *)user_data; CORE_dplrnt(row_max-row_min+1, col_max-col_min+1, buffer, ld, data->bigM, row_min, col_min, data->seed); } diff --git a/example/link_chameleon/CMakeLists.txt b/example/link_chameleon/CMakeLists.txt index 957ce2206d02448d71e2231c2492f356cef8ae6b..13d1acd447a8f085db8a7d5d27659749679088ab 100644 --- a/example/link_chameleon/CMakeLists.txt +++ b/example/link_chameleon/CMakeLists.txt @@ -3,29 +3,29 @@ cmake_minimum_required(VERSION 2.8) project(LINK_CHAMELEON Fortran C CXX) -# Add extra cmake module path and initialize morse cmake modules +# Add extra cmake module path and initialize chameleon cmake modules # -------------------------------------------------------------- -set( MORSE_DISTRIB_DIR "" CACHE PATH "Directory of MORSE distribution") -option( MORSE_CHAMELEON_USE_QUARK "CHAMELEON to be linked with QUARK runtime" OFF) -option( MORSE_CHAMELEON_USE_STARPU "CHAMELEON to be linked with StarPU runtime (default)" ON) +set( CHAMELEON_DISTRIB_DIR "" CACHE PATH "Directory of CHAMELEON distribution") +option( CHAMELEON_CHAMELEON_USE_QUARK "CHAMELEON to be linked with QUARK runtime" OFF) +option( CHAMELEON_CHAMELEON_USE_STARPU "CHAMELEON to be linked with StarPU runtime (default)" ON) # Both options cannot be ON at the same time: it is either QUARK or StarPU -if (MORSE_CHAMELEON_USE_QUARK) - set(MORSE_CHAMELEON_USE_STARPU OFF) -elseif (MORSE_CHAMELEON_USE_STARPU) - set(MORSE_CHAMELEON_USE_QUARK OFF) +if (CHAMELEON_CHAMELEON_USE_QUARK) + set(CHAMELEON_CHAMELEON_USE_STARPU OFF) +elseif (CHAMELEON_CHAMELEON_USE_STARPU) + set(CHAMELEON_CHAMELEON_USE_QUARK OFF) endif() -if (MORSE_DISTRIB_DIR) - set( MORSE_CMAKE_MODULE_DIR "${MORSE_DISTRIB_DIR}/morse_cmake/modules" CACHE PATH - "Directory where to find MORSE CMake modules (morse_cmake/modules)") - list(APPEND CMAKE_MODULE_PATH "${MORSE_CMAKE_MODULE_DIR}") - list(APPEND CMAKE_MODULE_PATH "${MORSE_CMAKE_MODULE_DIR}/find") - message(STATUS "MORSE_CMAKE_MODULE_DIR : ${MORSE_CMAKE_MODULE_DIR}/morse_cmake/modules") - include(MorseInit) +if (CHAMELEON_DISTRIB_DIR) + set( CHAMELEON_CMAKE_MODULE_DIR "${CHAMELEON_DISTRIB_DIR}/morse_cmake/modules" CACHE PATH + "Directory where to find CHAMELEON CMake modules (morse_cmake/modules)") + list(APPEND CMAKE_MODULE_PATH "${CHAMELEON_CMAKE_MODULE_DIR}") + list(APPEND CMAKE_MODULE_PATH "${CHAMELEON_CMAKE_MODULE_DIR}/find") + message(STATUS "CHAMELEON_CMAKE_MODULE_DIR : ${CHAMELEON_CMAKE_MODULE_DIR}/morse_cmake/modules") + include(ChamInit) # Detect CHAMELEON - if (MORSE_CHAMELEON_USE_QUARK) + if (CHAMELEON_CHAMELEON_USE_QUARK) find_package(CHAMELEON COMPONENTS QUARK) else() find_package(CHAMELEON COMPONENTS STARPU MPI CUDA FXT) @@ -45,8 +45,8 @@ if (MORSE_DISTRIB_DIR) add_executable(link_chameleon_f link_chameleon.f90) target_link_libraries(link_chameleon_f ${CHAMELEON_LIBRARIES_DEP}) else() - message(STATUS "MORSE_DISTRIB_DIR is not set") - message(STATUS "Please indicate where is located your MORSE distribution directory." + message(STATUS "CHAMELEON_DISTRIB_DIR is not set") + message(STATUS "Please indicate where is located your CHAMELEON distribution directory." " This is necessary to find cmake_modules.") endif() diff --git a/example/link_chameleon/README.org b/example/link_chameleon/README.org index 90e09e0174788d929565f2282cef91883190ef09..13457c00a578ae684ac37ac08dbbd0cbd16bbc20 100644 --- a/example/link_chameleon/README.org +++ b/example/link_chameleon/README.org @@ -22,7 +22,7 @@ Example to link with chameleon in CMake project, see the #+begin_src mkdir build cd build -cmake .. -DMORSE_DISTRIB_DIR=$PWD/../../../cmake_modules -DMORSE_CHAMELEON_USE_STARPU=ON +cmake .. -DCHAMELEON_DISTRIB_DIR=$PWD/../../../cmake_modules -DCHAMELEON_CHAMELEON_USE_STARPU=ON make VERBOSE=1 ./link_chameleon_c ./link_chameleon_f diff --git a/example/link_chameleon/link_chameleon.c b/example/link_chameleon/link_chameleon.c index 33d4eb5782fe2b6d8d0604f0a8e18b2dcd5e4539..b828331f90686680873e20f3ae51695caedcdb44 100644 --- a/example/link_chameleon/link_chameleon.c +++ b/example/link_chameleon/link_chameleon.c @@ -37,7 +37,7 @@ static int startswith(const char *s, const char *prefix) { #define FADDS_TRSM(__m, __n) (0.5 * (double)(__n) * (double)(__m) * ((double)(__m)-1.)) #include <coreblas/lapacke.h> -#include <morse.h> +#include <chameleon.h> /* Integer parameters for step1 */ enum iparam_step1 { @@ -107,7 +107,7 @@ static void print_header(char *prog_name, int * iparam) { #endif printf( "#\n" - "# MORSE %d.%d.%d, %s\n" + "# CHAMELEON %d.%d.%d, %s\n" "# Nb threads: %d\n" "# Nb gpus: %d\n" "# N: %d\n" @@ -142,7 +142,7 @@ int main(int argc, char *argv[]) { size_t NRHS; // number of RHS vectors int NCPU; // number of cores to use int NGPU; // number of gpus (cuda devices) to use - int UPLO = MorseUpper; // where is stored L + int UPLO = ChamUpper; // where is stored L /* declarations to time the program and evaluate performances */ double fmuls, fadds, flops, gflops, cpu_time; @@ -152,7 +152,7 @@ int main(int argc, char *argv[]) { int hres; int major, minor, patch; - MORSE_Version(&major, &minor, &patch); + CHAMELEON_Version(&major, &minor, &patch); /* initialize some parameters with default values */ int iparam[IPARAM_SIZEOF]; @@ -183,8 +183,8 @@ int main(int argc, char *argv[]) { /* print informations to user */ print_header( argv[0], iparam); - /* Initialize MORSE with main parameters */ - MORSE_Init( NCPU, NGPU ); + /* Initialize CHAMELEON with main parameters */ + CHAMELEON_Init( NCPU, NGPU ); /* * allocate memory for our data using a C macro (see step1.h) @@ -198,10 +198,10 @@ int main(int argc, char *argv[]) { double *X = malloc( N * NRHS * sizeof(double) ); /* generate A matrix with random values such that it is spd */ - MORSE_dplgsy( (double)N, MorseUpperLower, N, A, N, 51 ); + CHAMELEON_dplgsy( (double)N, ChamUpperLower, N, A, N, 51 ); /* generate RHS */ - MORSE_dplrnt( N, NRHS, B, N, 5673 ); + CHAMELEON_dplrnt( N, NRHS, B, N, 5673 ); /* copy A before facto. in order to check the result */ memcpy(Acpy, A, N*N*sizeof(double)); @@ -217,13 +217,13 @@ int main(int argc, char *argv[]) { /* Cholesky facorization: * A is replaced by its factorization L or L^T depending on uplo */ - MORSE_dpotrf( UPLO, N, A, N ); + CHAMELEON_dpotrf( UPLO, N, A, N ); /* Solve: * B is stored in X on entry, X contains the result on exit. * Forward and back substitutions */ - MORSE_dpotrs(UPLO, N, NRHS, A, N, X, N); + CHAMELEON_dpotrs(UPLO, N, NRHS, A, N, X, N); cpu_time += CHAMELEON_timer(); @@ -237,14 +237,14 @@ int main(int argc, char *argv[]) { /************************************************************/ /* compute norms to check the result */ - anorm = MORSE_dlange( MorseInfNorm, N, N, Acpy, N); - bnorm = MORSE_dlange( MorseInfNorm, N, NRHS, B, N); - xnorm = MORSE_dlange( MorseInfNorm, N, NRHS, X, N); + anorm = CHAMELEON_dlange( ChamInfNorm, N, N, Acpy, N); + bnorm = CHAMELEON_dlange( ChamInfNorm, N, NRHS, B, N); + xnorm = CHAMELEON_dlange( ChamInfNorm, N, NRHS, X, N); /* compute A*X-B, store the result in B */ - MORSE_dgemm(MorseNoTrans, MorseNoTrans, + CHAMELEON_dgemm(ChamNoTrans, ChamNoTrans, N, NRHS, N, 1.0, Acpy, N, X, N, -1.0, B, N); - res = MORSE_dlange( MorseInfNorm, N, NRHS, B, N); + res = CHAMELEON_dlange( ChamInfNorm, N, NRHS, B, N); /* check residual and print a message */ eps = LAPACKE_dlamch_work( 'e' ); @@ -271,8 +271,8 @@ int main(int argc, char *argv[]) { free(B); free(X); - /* Finalize MORSE */ - MORSE_Finalize(); + /* Finalize CHAMELEON */ + CHAMELEON_Finalize(); return EXIT_SUCCESS; } diff --git a/example/link_chameleon/link_chameleon.f90 b/example/link_chameleon/link_chameleon.f90 index 4c689d6a8ee5c322bc6fe8acd5b3dd81b44823b8..2a5722ceda8725e7e3b8ded3fef798cfaf9e5ca1 100644 --- a/example/link_chameleon/link_chameleon.f90 +++ b/example/link_chameleon/link_chameleon.f90 @@ -1,7 +1,7 @@ program fortran_example implicit none - include 'morse_fortran.h' + include 'chameleon_fortran.h' integer, parameter:: dp=kind(0.d0) ! double precision integer, parameter :: NCPU=2, NGPU=0 integer, parameter :: N=500, NRHS=1 @@ -9,32 +9,32 @@ program fortran_example double precision, dimension(N*NRHS) :: B, X double precision :: anorm, bnorm, xnorm, res, eps=1.11022d-16 integer :: info - integer :: UPLO=MorseUpper + integer :: UPLO=ChamUpper logical :: hres - ! Initialize MORSE with main parameters - call MORSE_Init(NCPU, NGPU, info) + ! Initialize CHAMELEON with main parameters + call CHAMELEON_Init(NCPU, NGPU, info) ! generate A matrix with random values such that it is spd - call MORSE_dplgsy( dfloat(N), MorseUpperLower, N, A, N, 51, info ) + call CHAMELEON_dplgsy( dfloat(N), ChamUpperLower, N, A, N, 51, info ) Acpy = A ! generate RHS - call MORSE_dplrnt( N, NRHS, B, N, 5673, info ) + call CHAMELEON_dplrnt( N, NRHS, B, N, 5673, info ) X = B - call MORSE_dpotrf( UPLO, N, A, N, INFO ) - call MORSE_dpotrs( UPLO, N, NRHS, A, N, X, N, info) + call CHAMELEON_dpotrf( UPLO, N, A, N, INFO ) + call CHAMELEON_dpotrs( UPLO, N, NRHS, A, N, X, N, info) ! compute norms to check the result - call MORSE_dlange( MorseInfNorm, N, N, Acpy, N, anorm) - call MORSE_dlange( MorseInfNorm, N, NRHS, B, N, bnorm) - call MORSE_dlange( MorseInfNorm, N, NRHS, X, N, xnorm) + call CHAMELEON_dlange( ChamInfNorm, N, N, Acpy, N, anorm) + call CHAMELEON_dlange( ChamInfNorm, N, NRHS, B, N, bnorm) + call CHAMELEON_dlange( ChamInfNorm, N, NRHS, X, N, xnorm) ! compute A*X-B, store the result in B - call MORSE_dgemm( MorseNoTrans, MorseNoTrans, N, NRHS, N, 1.d0, Acpy, N, X, N, -1.d0, B, N, info) - call MORSE_dlange( MorseInfNorm, N, NRHS, B, N, res) + call CHAMELEON_dgemm( ChamNoTrans, ChamNoTrans, N, NRHS, N, 1.d0, Acpy, N, X, N, -1.d0, B, N, info) + call CHAMELEON_dlange( ChamInfNorm, N, NRHS, B, N, res) ! if hres = 0 then the test succeed ! else the test failed @@ -47,7 +47,7 @@ program fortran_example print *, res, anorm, xnorm, bnorm, res / N / eps / (anorm * xnorm + bnorm), "SUCCESS" endif - ! Finalize MORSE - call MORSE_Finalize(info) + ! Finalize CHAMELEON + call CHAMELEON_Finalize(info) end program fortran_example diff --git a/example/out_of_core/CMakeLists.txt b/example/out_of_core/CMakeLists.txt index 56d35653d8763b06ac1ac1dbc9ab93c1a78bc484..d597063160b9c8fc83d16e003c774ad216da53fe 100644 --- a/example/out_of_core/CMakeLists.txt +++ b/example/out_of_core/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# MORSE example routines -# MORSE is a software package provided by Inria Bordeaux - Sud-Ouest, LaBRI, +# CHAMELEON example routines +# CHAMELEON is a software package provided by Inria Bordeaux - Sud-Ouest, LaBRI, # University of Bordeaux, Bordeaux INP # # @version 1.0.0 diff --git a/example/out_of_core/out_of_core.c b/example/out_of_core/out_of_core.c index 90af9ca34e5a59fed75f872d262552863b61457c..adbb4f9eac0e756c9170e29713626b55e0fa78c0 100644 --- a/example/out_of_core/out_of_core.c +++ b/example/out_of_core/out_of_core.c @@ -29,10 +29,10 @@ int main(int argc, char *argv[]) { int NRHS; // number of RHS vectors int NCPU; // number of cores to use int NGPU; // number of gpus (cuda devices) to use - int UPLO = MorseUpper; // where is stored L + int UPLO = ChamUpper; // where is stored L - /* descriptors necessary for calling MORSE tile interface */ - MORSE_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; + /* descriptors necessary for calling CHAMELEON tile interface */ + CHAM_desc_t *descA = NULL, *descAC = NULL, *descB = NULL, *descX = NULL; /* declarations to time the program and evaluate performances */ double fmuls, fadds, flops, gflops, cpu_time; @@ -78,12 +78,12 @@ int main(int argc, char *argv[]) { setenv ("STARPU_LIMIT_CPU_MEM", maxMemoryAllowed, 1); } - /* Initialize MORSE with main parameters */ - if ( MORSE_Init( NCPU, NGPU ) != MORSE_SUCCESS ) { - fprintf(stderr, "Error initializing MORSE library\n"); + /* Initialize CHAMELEON with main parameters */ + if ( CHAMELEON_Init( NCPU, NGPU ) != CHAMELEON_SUCCESS ) { + fprintf(stderr, "Error initializing CHAMELEON library\n"); return EXIT_FAILURE; } - MORSE_Set(MORSE_TILE_SIZE, NB); + CHAMELEON_Set(CHAMELEON_TILE_SIZE, NB); /* limit ram memory */ if (iparam[IPARAM_OUTOFCORE] > 0) { @@ -95,30 +95,30 @@ int main(int argc, char *argv[]) { } } - MORSE_Desc_Create_User(&descA, NULL, MorseRealDouble, + CHAMELEON_Desc_Create_User(&descA, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1, - morse_getaddr_null, // specific function - morse_getblkldd_ccrb, - morse_getrankof_2d); - MORSE_Desc_Create(&descB, NULL, MorseRealDouble, + chameleon_getaddr_null, // specific function + chameleon_getblkldd_ccrb, + chameleon_getrankof_2d); + CHAMELEON_Desc_Create(&descB, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1); - MORSE_Desc_Create(&descX, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descX, NULL, ChamRealDouble, NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1); - MORSE_Desc_Create(&descAC, NULL, MorseRealDouble, + CHAMELEON_Desc_Create(&descAC, NULL, ChamRealDouble, NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1); /* generate A matrix with random values such that it is spd */ - MORSE_dplgsy_Tile( (double)N, MorseUpperLower, descA, 51 ); + CHAMELEON_dplgsy_Tile( (double)N, ChamUpperLower, descA, 51 ); /* generate RHS */ - MORSE_dplrnt_Tile( descB, 5673 ); + CHAMELEON_dplrnt_Tile( descB, 5673 ); /* copy A before facto. in order to check the result */ - MORSE_dlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descA, descAC); /* copy B in X before solving * same sense as memcpy(X, B, N*NRHS*sizeof(double)) but for descriptors */ - MORSE_dlacpy_Tile(MorseUpperLower, descB, descX); + CHAMELEON_dlacpy_Tile(ChamUpperLower, descB, descX); /************************************************************/ /* solve the system AX = B using the Cholesky factorization */ @@ -128,13 +128,13 @@ int main(int argc, char *argv[]) { /* Cholesky factorization: * A is replaced by its factorization L or L^T depending on uplo */ - MORSE_dpotrf_Tile( UPLO, descA ); + CHAMELEON_dpotrf_Tile( UPLO, descA ); /* Solve: * B is stored in X on entry, X contains the result on exit. * Forward and back substitutions */ - MORSE_dpotrs_Tile( UPLO, descA, descX ); + CHAMELEON_dpotrs_Tile( UPLO, descA, descX ); cpu_time += CHAMELEON_timer(); @@ -148,14 +148,14 @@ int main(int argc, char *argv[]) { /************************************************************/ /* compute norms to check the result */ - anorm = MORSE_dlange_Tile( MorseInfNorm, descAC); - bnorm = MORSE_dlange_Tile( MorseInfNorm, descB); - xnorm = MORSE_dlange_Tile( MorseInfNorm, descX); + anorm = CHAMELEON_dlange_Tile( ChamInfNorm, descAC); + bnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descB); + xnorm = CHAMELEON_dlange_Tile( ChamInfNorm, descX); /* compute A*X-B, store the result in B */ - MORSE_dgemm_Tile( MorseNoTrans, MorseNoTrans, + CHAMELEON_dgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); - res = MORSE_dlange_Tile( MorseInfNorm, descB ); + res = CHAMELEON_dlange_Tile( ChamInfNorm, descB ); /* check residual and print a message */ eps = LAPACKE_dlamch_work( 'e' ); @@ -178,13 +178,13 @@ int main(int argc, char *argv[]) { } /* free descriptors descA, descB, descX, descAC */ - MORSE_Desc_Destroy( &descA ); - MORSE_Desc_Destroy( &descB ); - MORSE_Desc_Destroy( &descX ); - MORSE_Desc_Destroy( &descAC ); + CHAMELEON_Desc_Destroy( &descA ); + CHAMELEON_Desc_Destroy( &descB ); + CHAMELEON_Desc_Destroy( &descX ); + CHAMELEON_Desc_Destroy( &descAC ); - /* Finalize MORSE */ - MORSE_Finalize(); + /* Finalize CHAMELEON */ + CHAMELEON_Finalize(); return EXIT_SUCCESS; } diff --git a/example/out_of_core/out_of_core.h b/example/out_of_core/out_of_core.h index ca5d1f29418a8416af4df9f2269686de8a20ced8..5b9946941be2e14f315b724d6693eafeca71839a 100644 --- a/example/out_of_core/out_of_core.h +++ b/example/out_of_core/out_of_core.h @@ -43,7 +43,7 @@ #include <starpu.h> #include "coreblas/lapacke.h" -#include "morse.h" +#include "chameleon.h" #include "control/common.h" /* Common functions for all steps of the tutorial */ @@ -71,7 +71,7 @@ static int startswith(const char *s, const char *prefix) { #define FADDS_TRSM(__m, __n) (0.5 * (double)(__n) * (double)(__m) * ((double)(__m)-1.)) /* define some tools to time the program */ -#include <chameleon/chameleon_timer.h> +#include <chameleon/timer.h> /* Integer parameters */ enum iparam_ooc { diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index 7672a718551612edfc705c5750121155916b3c2a..b6aa282f10765d221a1144c7bb8061870058d88f 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -26,36 +26,38 @@ # ### -# Generate the morse headers for all possible precisions -# ------------------------------------------------------ +# Generate the chameleon headers for all possible precisions +# ---------------------------------------------------------- set(CHAMELEON_HDRS_GENERATED "") set(ZHDR - chameleon/morse_z.h - chameleon/morse_zc.h - chameleon/morse_tasks_z.h - chameleon/morse_tasks_zc.h + chameleon/chameleon_z.h + chameleon/chameleon_zc.h + chameleon/tasks_z.h + chameleon/tasks_zc.h ) precisions_rules_py(CHAMELEON_HDRS_GENERATED "${ZHDR}" TARGETDIR "chameleon" PRECISIONS "z;c;d;s;zc;ds" ) -configure_file("chameleon/chameleon_config.h.in" - "chameleon/chameleon_config.h" +configure_file("chameleon/config.h.in" + "chameleon/config.h" @ONLY) # Define the list of headers # -------------------------- set(CHAMELEON_HDRS - ${CMAKE_CURRENT_BINARY_DIR}/chameleon/chameleon_config.h - ${CMAKE_CURRENT_BINARY_DIR}/chameleon/morse_mangling.h - chameleon/morse_constants.h - chameleon/morse_kernels.h - chameleon/morse_runtime.h - chameleon/morse_simulate.h - chameleon/morse_struct.h - chameleon/morse_tasks.h - chameleon/morse_types.h + ${CMAKE_CURRENT_BINARY_DIR}/chameleon/config.h + ${CMAKE_CURRENT_BINARY_DIR}/chameleon/mangling.h + chameleon/constants.h + chameleon/runtime.h + chameleon/runtime_struct.h + chameleon/simulate.h + chameleon/struct.h + chameleon/tasks.h + chameleon/timer.h + chameleon/types.h + chameleon/types.h ) # Add generated headers @@ -67,12 +69,12 @@ endforeach() # Force generation of headers # --------------------------- add_custom_target(chameleon_include - ALL SOURCES morse.h ${CHAMELEON_HDRS} ) + ALL SOURCES chameleon.h ${CHAMELEON_HDRS} ) set(CHAMELEON_SOURCES_TARGETS "${CHAMELEON_SOURCES_TARGETS};chameleon_include" CACHE INTERNAL "List of targets of sources") # Installation # ------------ -install( FILES morse.h +install( FILES chameleon.h DESTINATION include ) install( FILES ${CHAMELEON_HDRS} diff --git a/include/chameleon.h b/include/chameleon.h new file mode 100644 index 0000000000000000000000000000000000000000..3ad90b5da3989113748ec18c05fae3c9d9e808d0 --- /dev/null +++ b/include/chameleon.h @@ -0,0 +1,129 @@ +/** + * + * @file chameleon.h + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Chameleon main header + * + * @version 1.0.0 + * @author Mathieu Faverge + * @author Cedric Augonnet + * @author Cedric Castagnede + * @author Florent Pruvost + * @date 2012-09-15 + * + */ +#ifndef _CHAMELEON_H_ +#define _CHAMELEON_H_ + +/* **************************************************************************** + * CHAMELEON types and constants + */ +#include "chameleon/config.h" +#include "chameleon/constants.h" +#include "chameleon/types.h" +#include "chameleon/struct.h" + +/* **************************************************************************** + * CHAMELEON runtime common API + */ +#include "chameleon/runtime.h" + + +/* **************************************************************************** + * CHAMELEON Simulation mode + */ +#include "chameleon/simulate.h" + +/* **************************************************************************** + * Include LibHQR for hierarchical trees QR/LQ factorizations + */ +#include "libhqr.h" + +/* **************************************************************************** + * CHAMELEON Tasks + */ +#include "chameleon/tasks.h" + +/* **************************************************************************** + * CHAMELEON functionnalities + */ +#include "chameleon/chameleon_z.h" +#include "chameleon/chameleon_c.h" +#include "chameleon/chameleon_d.h" +#include "chameleon/chameleon_s.h" +#include "chameleon/chameleon_zc.h" +#include "chameleon/chameleon_ds.h" + +/* **************************************************************************** + * CHAMELEON Functions + */ +BEGIN_C_DECLS + +/* Auxiliary */ +int CHAMELEON_Version (int *ver_major, int *ver_minor, int *ver_micro); +int CHAMELEON_My_Mpi_Rank (void); +int CHAMELEON_Init (int nworkers, int ncudas); +int CHAMELEON_InitPar (int nworkers, int ncudas, int nthreads_per_worker); +int CHAMELEON_Finalize (void); +int CHAMELEON_Pause (void); +int CHAMELEON_Resume (void); +int CHAMELEON_Distributed_start (void); +int CHAMELEON_Distributed_stop (void); +int CHAMELEON_Comm_size (void); +int CHAMELEON_Comm_rank (void); +int CHAMELEON_Lapack_to_Tile (void *Af77, int LDA, CHAM_desc_t *A); +int CHAMELEON_Tile_to_Lapack (CHAM_desc_t *A, void *Af77, int LDA); +int CHAMELEON_Distributed_start (void); +int CHAMELEON_Distributed_stop (void); +int CHAMELEON_Distributed_size (int *size); +int CHAMELEON_Distributed_rank (int *rank); +int CHAMELEON_GetThreadNbr (void); + +/* Descriptor */ +int CHAMELEON_Element_Size(int type); +int CHAMELEON_Desc_Create (CHAM_desc_t **desc, void *mat, cham_flttype_t dtyp, + int mb, int nb, int bsiz, int lm, int ln, + int i, int j, int m, int n, int p, int q); +int CHAMELEON_Desc_Create_User(CHAM_desc_t **desc, void *mat, cham_flttype_t dtyp, int mb, int nb, int bsiz, + int lm, int ln, int i, int j, int m, int n, int p, int q, + void* (*get_blkaddr)( const CHAM_desc_t*, int, int ), + int (*get_blkldd)( const CHAM_desc_t*, int ), + int (*get_rankof)( const CHAM_desc_t*, int, int )); +int CHAMELEON_Desc_Create_OOC(CHAM_desc_t **desc, cham_flttype_t dtyp, + int mb, int nb, int bsiz, int lm, int ln, + int i, int j, int m, int n, int p, int q); +int CHAMELEON_Desc_Create_OOC_User(CHAM_desc_t **desc, cham_flttype_t dtyp, + int mb, int nb, int bsiz, int lm, int ln, + int i, int j, int m, int n, int p, int q, + int (*get_rankof)( const CHAM_desc_t*, int, int )); +int CHAMELEON_Desc_Destroy (CHAM_desc_t **desc); +int CHAMELEON_Desc_Acquire (CHAM_desc_t *desc); +int CHAMELEON_Desc_Release (CHAM_desc_t *desc); +int CHAMELEON_Desc_Flush (CHAM_desc_t *desc, RUNTIME_sequence_t *sequence); +void CHAMELEON_user_tag_size(int, int) ; + +/* Workspaces */ +int CHAMELEON_Dealloc_Workspace (CHAM_desc_t **desc); + +/* Options */ +int CHAMELEON_Enable (int option); +int CHAMELEON_Disable (int option); +int CHAMELEON_Set (int param, int value); +int CHAMELEON_Get (int param, int *value); +int CHAMELEON_Set_update_progress_callback(void (*p)(int, int)) ; + +/* Sequences */ +int CHAMELEON_Sequence_Create (RUNTIME_sequence_t **sequence); +int CHAMELEON_Sequence_Destroy (RUNTIME_sequence_t *sequence); +int CHAMELEON_Sequence_Wait (RUNTIME_sequence_t *sequence); + +END_C_DECLS + +#endif diff --git a/include/chameleon/chameleon_z.h b/include/chameleon/chameleon_z.h new file mode 100644 index 0000000000000000000000000000000000000000..326056c17238264bcd05d25c1e3bd90cf948f907 --- /dev/null +++ b/include/chameleon/chameleon_z.h @@ -0,0 +1,336 @@ +/** + * + * @file chameleon_z.h + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Chameleon CHAMELEON_complex64_t wrappers + * + * @version 1.0.0 + * @comment This file has been automatically generated + * from Plasma 2.5.0 for CHAMELEON 1.0.0 + * @author Jakub Kurzak + * @author Hatem Ltaief + * @author Azzam Haidar + * @author Mathieu Faverge + * @author Emmanuel Agullo + * @author Cedric Castagnede + * @date 2010-11-15 + * @precisions normal z -> c d s + * + */ +#ifndef _chameleon_z_h_ +#define _chameleon_z_h_ + +BEGIN_C_DECLS + +/** + * Declarations of math functions (LAPACK layout) - alphabetical order + */ +int CHAMELEON_zgeadd(cham_trans_t trans, int M, int N, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *B, int LDB); +//int CHAMELEON_zgebrd(int M, int N, CHAMELEON_Complex64_t *A, int LDA, double *D, double *E, CHAM_desc_t *descT); +//int CHAMELEON_zgecon(cham_normtype_t norm, int N, CHAMELEON_Complex64_t *A, int LDA, double anorm, double *rcond); +//int CHAMELEON_zpocon(cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA, double anorm, double *rcond); +int CHAMELEON_zgelqf(int M, int N, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descT); +int CHAMELEON_zgelqs(int M, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descT, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zgels(cham_trans_t trans, int M, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descT, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zgemm(cham_trans_t transA, cham_trans_t transB, int M, int N, int K, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC); +int CHAMELEON_zgeqrf(int M, int N, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descT); +int CHAMELEON_zgeqrs(int M, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descT, CHAMELEON_Complex64_t *B, int LDB); +//int CHAMELEON_zgesv(int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, int *IPIV, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zgesv_incpiv(int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descL, int *IPIV, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zgesv_nopiv(int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zgesvd(cham_job_t jobu, cham_job_t jobvt, int M, int N, CHAMELEON_Complex64_t *A, int LDA, double *S, CHAM_desc_t *descT, CHAMELEON_Complex64_t *U, int LDU, CHAMELEON_Complex64_t *VT, int LDVT); +//int CHAMELEON_zgetrf(int M, int N, CHAMELEON_Complex64_t *A, int LDA, int *IPIV); +int CHAMELEON_zgetrf_incpiv(int M, int N, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descL, int *IPIV); +int CHAMELEON_zgetrf_nopiv(int M, int N, CHAMELEON_Complex64_t *A, int LDA); +//int CHAMELEON_zgetri(int N, CHAMELEON_Complex64_t *A, int LDA, int *IPIV); +//int CHAMELEON_zgetrs(cham_trans_t trans, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, int *IPIV, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zgetrs_incpiv(cham_trans_t trans, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descL, int *IPIV, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zgetrs_nopiv(cham_trans_t trans, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zhemm(cham_side_t side, cham_uplo_t uplo, int M, int N, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC); +int CHAMELEON_zherk(cham_uplo_t uplo, cham_trans_t trans, int N, int K, double alpha, CHAMELEON_Complex64_t *A, int LDA, double beta, CHAMELEON_Complex64_t *C, int LDC); +int CHAMELEON_zher2k(cham_uplo_t uplo, cham_trans_t trans, int N, int K, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, double beta, CHAMELEON_Complex64_t *C, int LDC); +//int CHAMELEON_zheev(cham_job_t jobz, cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA, double *W, CHAM_desc_t *descT, CHAMELEON_Complex64_t *Q, int LDQ); +int CHAMELEON_zheevd(cham_job_t jobz, cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA, double *W, CHAM_desc_t *descT); +//int CHAMELEON_zhegv(CHAMELEON_enum itype, cham_job_t jobz, cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, double *W, CHAM_desc_t *descT, CHAMELEON_Complex64_t *Q, int LDQ); +//int CHAMELEON_zhegvd(CHAMELEON_enum itype, cham_job_t jobz, cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, double *W, CHAM_desc_t *descT, CHAMELEON_Complex64_t *Q, int LDQ); +//int CHAMELEON_zhegst(CHAMELEON_enum itype, cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zhetrd(cham_job_t jobz, cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA, double *D, double *E, CHAM_desc_t *descT, CHAMELEON_Complex64_t *Q, int LDQ); +int CHAMELEON_zlacpy(cham_uplo_t uplo, int M, int N, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB); +double CHAMELEON_zlange(cham_normtype_t norm, int M, int N, CHAMELEON_Complex64_t *A, int LDA); +double CHAMELEON_zlanhe(cham_normtype_t norm, cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA); +double CHAMELEON_zlansy(cham_normtype_t norm, cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA); +double CHAMELEON_zlantr(cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, int M, int N, CHAMELEON_Complex64_t *A, int LDA); +int CHAMELEON_zlascal(cham_uplo_t uplo, int M, int N, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA); +int CHAMELEON_zlaset(cham_uplo_t uplo, int M, int N, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *A, int LDA); +//int CHAMELEON_zlaswp(int N, CHAMELEON_Complex64_t *A, int LDA, int K1, int K2, int *IPIV, int INCX); +//int CHAMELEON_zlaswpc(int N, CHAMELEON_Complex64_t *A, int LDA, int K1, int K2, int *IPIV, int INCX); +int CHAMELEON_zlauum(cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA); +int CHAMELEON_zplghe( double bump, cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA, unsigned long long int seed ); +int CHAMELEON_zplgsy( CHAMELEON_Complex64_t bump, cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA, unsigned long long int seed ); +int CHAMELEON_zplrnt( int M, int N, CHAMELEON_Complex64_t *A, int LDA, unsigned long long int seed ); +int CHAMELEON_zposv(cham_uplo_t uplo, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zpotrf(cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA); +int CHAMELEON_zsytrf(cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA); +int CHAMELEON_zpotri(cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA); +int CHAMELEON_zpotrimm(cham_uplo_t uplo, int N, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, CHAMELEON_Complex64_t *C, int LDC); +int CHAMELEON_zpotrs(cham_uplo_t uplo, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zsymm(cham_side_t side, cham_uplo_t uplo, int M, int N, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC); +int CHAMELEON_zsyrk(cham_uplo_t uplo, cham_trans_t trans, int N, int K, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC); +int CHAMELEON_zsyr2k(cham_uplo_t uplo, cham_trans_t trans, int N, int K, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *C, int LDC); +int CHAMELEON_zsysv(cham_uplo_t uplo, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zsytrs(cham_uplo_t uplo, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_ztpgqrt( int M, int N, int K, int L, CHAMELEON_Complex64_t *V1, int LDV1, CHAM_desc_t *descT1, CHAMELEON_Complex64_t *V2, int LDV2, CHAM_desc_t *descT2, CHAMELEON_Complex64_t *Q1, int LDQ1, CHAMELEON_Complex64_t *Q2, int LDQ2 ); +int CHAMELEON_ztpqrt( int M, int N, int L, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, CHAM_desc_t *descT ); +int CHAMELEON_ztradd(cham_uplo_t uplo, cham_trans_t trans, int M, int N, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_ztrmm(cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, int N, int NRHS, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_ztrsm(cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, int N, int NRHS, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_ztrsmpl(int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descL, int *IPIV, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_ztrsmrv(cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, int N, int NRHS, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_ztrtri(cham_uplo_t uplo, cham_diag_t diag, int N, CHAMELEON_Complex64_t *A, int LDA); +int CHAMELEON_zunglq(int M, int N, int K, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descT, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zungqr(int M, int N, int K, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descT, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zunmlq(cham_side_t side, cham_trans_t trans, int M, int N, int K, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descT, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zunmqr(cham_side_t side, cham_trans_t trans, int M, int N, int K, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descT, CHAMELEON_Complex64_t *B, int LDB); + +//int CHAMELEON_zgecfi(int m, int n, CHAMELEON_Complex64_t *A, CHAMELEON_enum fin, int imb, int inb, CHAMELEON_enum fout, int omb, int onb); +//int CHAMELEON_zgetmi(int m, int n, CHAMELEON_Complex64_t *A, CHAMELEON_enum fin, int mb, int nb); + +/** + * Declarations of math functions (tile layout) - alphabetical order + */ +int CHAMELEON_zgeadd_Tile(cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAMELEON_Complex64_t beta, CHAM_desc_t *B); +//int CHAMELEON_zgebrd_Tile(CHAM_desc_t *A, double *D, double *E, CHAM_desc_t *T); +//int CHAMELEON_zgecon_Tile(cham_normtype_t norm, CHAM_desc_t *A, double anorm, double *rcond); +//int CHAMELEON_zpocon_Tile(cham_uplo_t uplo, CHAM_desc_t *A, double anorm, double *rcond); +int CHAMELEON_zgelqf_Tile(CHAM_desc_t *A, CHAM_desc_t *T); +int CHAMELEON_zgelqs_Tile(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B); +int CHAMELEON_zgels_Tile(cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B); +int CHAMELEON_zgemm_Tile(cham_trans_t transA, cham_trans_t transB, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t beta, CHAM_desc_t *C); +int CHAMELEON_zgeqrf_Tile(CHAM_desc_t *A, CHAM_desc_t *T); +int CHAMELEON_zgeqrs_Tile(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B); +//int CHAMELEON_zgesv_Tile(CHAM_desc_t *A, int *IPIV, CHAM_desc_t *B); +int CHAMELEON_zgesv_incpiv_Tile(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B); +int CHAMELEON_zgesv_nopiv_Tile(CHAM_desc_t *A, CHAM_desc_t *B); +int CHAMELEON_zgesvd_Tile(cham_job_t jobu, cham_job_t jobvt, CHAM_desc_t *A, double *S, CHAM_desc_t *T, CHAMELEON_Complex64_t *U, int LDU, CHAMELEON_Complex64_t *VT, int LDVT); +//int CHAMELEON_zgetrf_Tile(CHAM_desc_t *A, int *IPIV); +int CHAMELEON_zgetrf_incpiv_Tile(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV); +int CHAMELEON_zgetrf_nopiv_Tile(CHAM_desc_t *A); +//int CHAMELEON_zgetri_Tile(CHAM_desc_t *A, int *IPIV); +//int CHAMELEON_zgetrs_Tile(cham_trans_t trans, CHAM_desc_t *A, int *IPIV, CHAM_desc_t *B); +int CHAMELEON_zgetrs_incpiv_Tile(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B); +int CHAMELEON_zgetrs_nopiv_Tile(CHAM_desc_t *A, CHAM_desc_t *B); +int CHAMELEON_zhemm_Tile(cham_side_t side, cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t beta, CHAM_desc_t *C); +int CHAMELEON_zherk_Tile(cham_uplo_t uplo, cham_trans_t trans, double alpha, CHAM_desc_t *A, double beta, CHAM_desc_t *C); +int CHAMELEON_zher2k_Tile(cham_uplo_t uplo, cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, double beta, CHAM_desc_t *C); +//int CHAMELEON_zheev_Tile(cham_job_t jobz, cham_uplo_t uplo, CHAM_desc_t *A, double *W, CHAM_desc_t *T, CHAMELEON_Complex64_t *Q, int LDQ); +int CHAMELEON_zheevd_Tile(cham_job_t jobz, cham_uplo_t uplo, CHAM_desc_t *A, double *W, CHAM_desc_t *T); +//int CHAMELEON_zhegv_Tile( CHAMELEON_enum itype, cham_job_t jobz, cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, double *W, CHAM_desc_t *T, CHAM_desc_t *Q); +//int CHAMELEON_zhegvd_Tile(CHAMELEON_enum itype, cham_job_t jobz, cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, double *W, CHAM_desc_t *T, CHAM_desc_t *Q); +//int CHAMELEON_zhegst_Tile(CHAMELEON_enum itype, cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B); +int CHAMELEON_zhetrd_Tile(cham_job_t jobz, cham_uplo_t uplo, CHAM_desc_t *A, double *D, double *E, CHAM_desc_t *T, CHAMELEON_Complex64_t *Q, int LDQ); +int CHAMELEON_zlacpy_Tile(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B); +double CHAMELEON_zlange_Tile(cham_normtype_t norm, CHAM_desc_t *A); +double CHAMELEON_zlanhe_Tile(cham_normtype_t norm, cham_uplo_t uplo, CHAM_desc_t *A); +double CHAMELEON_zlansy_Tile(cham_normtype_t norm, cham_uplo_t uplo, CHAM_desc_t *A); +double CHAMELEON_zlantr_Tile(cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, CHAM_desc_t *A); +int CHAMELEON_zlascal_Tile(cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A); +int CHAMELEON_zlaset_Tile(cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, CHAM_desc_t *A); +//int CHAMELEON_zlaswp_Tile(CHAM_desc_t *A, int K1, int K2, int *IPIV, int INCX); +//int CHAMELEON_zlaswpc_Tile(CHAM_desc_t *A, int K1, int K2, int *IPIV, int INCX); +int CHAMELEON_zlauum_Tile(cham_uplo_t uplo, CHAM_desc_t *A); +int CHAMELEON_zplghe_Tile(double bump, cham_uplo_t uplo, CHAM_desc_t *A, unsigned long long int seed ); +int CHAMELEON_zplgsy_Tile(CHAMELEON_Complex64_t bump, cham_uplo_t uplo, CHAM_desc_t *A, unsigned long long int seed ); +int CHAMELEON_zplrnt_Tile(CHAM_desc_t *A, unsigned long long int seed ); +int CHAMELEON_zposv_Tile(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B); +int CHAMELEON_zpotrf_Tile(cham_uplo_t uplo, CHAM_desc_t *A); +int CHAMELEON_zsytrf_Tile(cham_uplo_t uplo, CHAM_desc_t *A); +int CHAMELEON_zpotri_Tile(cham_uplo_t uplo, CHAM_desc_t *A); +int CHAMELEON_zpotrimm_Tile(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *C); +int CHAMELEON_zpotrs_Tile(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B); +int CHAMELEON_zsymm_Tile(cham_side_t side, cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t beta, CHAM_desc_t *C); +int CHAMELEON_zsyrk_Tile(cham_uplo_t uplo, cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAMELEON_Complex64_t beta, CHAM_desc_t *C); +int CHAMELEON_zsyr2k_Tile(cham_uplo_t uplo, cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t beta, CHAM_desc_t *C); +int CHAMELEON_zsysv_Tile(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B); +int CHAMELEON_zsytrs_Tile(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B); +int CHAMELEON_ztpgqrt_Tile( int L, CHAM_desc_t *V1, CHAM_desc_t *T1, CHAM_desc_t *V2, CHAM_desc_t *T2, CHAM_desc_t *Q1, CHAM_desc_t *Q2 ); +int CHAMELEON_ztpqrt_Tile( int L, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T ); +int CHAMELEON_ztradd_Tile(cham_uplo_t uplo, cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAMELEON_Complex64_t beta, CHAM_desc_t *B); +int CHAMELEON_ztrmm_Tile(cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B); +int CHAMELEON_ztrsm_Tile(cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B); +int CHAMELEON_ztrsmpl_Tile(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B); +int CHAMELEON_ztrsmrv_Tile(cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B); +int CHAMELEON_ztrtri_Tile(cham_uplo_t uplo, cham_diag_t diag, CHAM_desc_t *A); +int CHAMELEON_zunglq_Tile(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B); +int CHAMELEON_zungqr_Tile(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B); +int CHAMELEON_zunmlq_Tile(cham_side_t side, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B); +int CHAMELEON_zunmqr_Tile(cham_side_t side, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B); + +/** + * Declarations of math functions (tile layout, asynchronous execution) - alphabetical order + */ +int CHAMELEON_zgeadd_Tile_Async(cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAMELEON_Complex64_t beta, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zgebrd_Tile_Async(CHAM_desc_t *A, double *D, double *E, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zgecon_Tile_Async(cham_normtype_t norm, CHAM_desc_t *A, double anorm, double *rcond, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zpocon_Tile_Async(cham_uplo_t uplo, CHAM_desc_t *A, double anorm, double *rcond, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgelqf_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgelqs_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgels_Tile_Async(cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgemm_Tile_Async(cham_trans_t transA, cham_trans_t transB, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgeqrf_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgeqrs_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zgesv_Tile_Async(CHAM_desc_t *A, int *IPIV, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgesv_incpiv_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgesv_nopiv_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgesvd_Tile_Async(cham_job_t jobu, cham_job_t jobvt, CHAM_desc_t *A, double *S, CHAM_desc_t *T, CHAMELEON_Complex64_t *U, int LDU, CHAMELEON_Complex64_t *VT, int LDVT, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zgetrf_Tile_Async(CHAM_desc_t *A, int *IPIV, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgetrf_incpiv_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgetrf_nopiv_Tile_Async(CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zgetri_Tile_Async(CHAM_desc_t *A, int *IPIV, CHAM_desc_t *W, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zgetrs_Tile_Async(cham_trans_t trans, CHAM_desc_t *A, int *IPIV, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgetrs_incpiv_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgetrs_nopiv_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zhemm_Tile_Async(cham_side_t side, cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zherk_Tile_Async(cham_uplo_t uplo, cham_trans_t trans, double alpha, CHAM_desc_t *A, double beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zher2k_Tile_Async(cham_uplo_t uplo, cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, double beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zheev_Tile_Async(cham_job_t jobz, cham_uplo_t uplo, CHAM_desc_t *A, double *W, CHAM_desc_t *T, CHAMELEON_Complex64_t *Q, int LDQ, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zheevd_Tile_Async(cham_job_t jobz, cham_uplo_t uplo, CHAM_desc_t *A, double *W, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zhegv_Tile_Async( CHAMELEON_enum itype, cham_job_t jobz, cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, double *W, CHAM_desc_t *T, CHAM_desc_t *Q, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zhegvd_Tile_Async(CHAMELEON_enum itype, cham_job_t jobz, cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, double *W, CHAM_desc_t *T, CHAM_desc_t *Q, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zhegst_Tile_Async(CHAMELEON_enum itype, cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zhetrd_Tile_Async(cham_job_t jobz, cham_uplo_t uplo, CHAM_desc_t *A, double *D, double *E, CHAM_desc_t *T, CHAMELEON_Complex64_t *Q, int LDQ, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zlacpy_Tile_Async(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zlange_Tile_Async(cham_normtype_t norm, CHAM_desc_t *A, double *value, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zlanhe_Tile_Async(cham_normtype_t norm, cham_uplo_t uplo, CHAM_desc_t *A, double *value, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zlansy_Tile_Async(cham_normtype_t norm, cham_uplo_t uplo, CHAM_desc_t *A, double *value, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zlantr_Tile_Async(cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, CHAM_desc_t *A, double *value, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zlascal_Tile_Async(cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zlaset_Tile_Async(cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zlaswp_Tile_Async(CHAM_desc_t *A, int K1, int K2, int *IPIV, int INCX, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zlaswpc_Tile_Async(CHAM_desc_t *A, int K1, int K2, int *IPIV, int INCX, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zlauum_Tile_Async(cham_uplo_t uplo, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zplghe_Tile_Async(double bump, cham_uplo_t uplo, CHAM_desc_t *A, unsigned long long int seed, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ); +int CHAMELEON_zplgsy_Tile_Async(CHAMELEON_Complex64_t bump, cham_uplo_t uplo, CHAM_desc_t *A, unsigned long long int seed, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ); +int CHAMELEON_zplrnt_Tile_Async(CHAM_desc_t *A, unsigned long long int seed, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ); +int CHAMELEON_zposv_Tile_Async(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zpotrf_Tile_Async(cham_uplo_t uplo, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zsytrf_Tile_Async(cham_uplo_t uplo, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zpotri_Tile_Async(cham_uplo_t uplo, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zpotrimm_Tile_Async(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zpotrs_Tile_Async(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zsysv_Tile_Async(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zsytrs_Tile_Async(cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zsymm_Tile_Async(cham_side_t side, cham_uplo_t uplo, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zsyrk_Tile_Async(cham_uplo_t uplo, cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAMELEON_Complex64_t beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zsyr2k_Tile_Async(cham_uplo_t uplo, cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, CHAMELEON_Complex64_t beta, CHAM_desc_t *C, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_ztpgqrt_Tile_Async( int L, CHAM_desc_t *V1, CHAM_desc_t *T1, CHAM_desc_t *V2, CHAM_desc_t *T2, CHAM_desc_t *Q1, CHAM_desc_t *Q2, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ); +int CHAMELEON_ztpqrt_Tile_Async( int L, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ); +int CHAMELEON_ztradd_Tile_Async(cham_uplo_t uplo, cham_trans_t trans, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAMELEON_Complex64_t beta, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_ztrmm_Tile_Async(cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_ztrsm_Tile_Async(cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_ztrsmpl_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *L, int *IPIV, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_ztrsmrv_Tile_Async(cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, CHAMELEON_Complex64_t alpha, CHAM_desc_t *A, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_ztrtri_Tile_Async(cham_uplo_t uplo, cham_diag_t diag, CHAM_desc_t *A, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zunglq_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zungqr_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zunmlq_Tile_Async(cham_side_t side, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zunmqr_Tile_Async(cham_side_t side, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); + +//int CHAMELEON_zgecfi_Async(int m, int n, CHAMELEON_Complex64_t *A, CHAMELEON_enum f_in, int imb, int inb, CHAMELEON_enum f_out, int omb, int onb, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zgetmi_Async(int m, int n, CHAMELEON_Complex64_t *A, CHAMELEON_enum f_in, int mb, int inb, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); + +/** + * Declarations of libhqr dependent functions. + */ +/** + * Declarations of math functions (LAPACK layout) - alphabetical order + */ +int CHAMELEON_zgels_param(const libhqr_tree_t *qrtree, cham_trans_t trans, int M, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descTS, CHAM_desc_t *descTT, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zgelqf_param(const libhqr_tree_t *qrtree, int M, int N, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descTS, CHAM_desc_t *descTT); +int CHAMELEON_zgelqs_param(const libhqr_tree_t *qrtree, int M, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descTS, CHAM_desc_t *descTT, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zgeqrf_param(const libhqr_tree_t *qrtree, int M, int N, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descTS, CHAM_desc_t *descTT); +int CHAMELEON_zgeqrs_param(const libhqr_tree_t *qrtree, int M, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descTS, CHAM_desc_t *TT, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zunglq_param(const libhqr_tree_t *qrtree, int M, int N, int K, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descTS, CHAM_desc_t *TT, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zungqr_param(const libhqr_tree_t *qrtree, int M, int N, int K, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descTS, CHAM_desc_t *descTT, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zunmlq_param(const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, int M, int N, int K, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descT, CHAM_desc_t *TT, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zunmlq_param(const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, int M, int N, int K, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descT, CHAM_desc_t *TT, CHAMELEON_Complex64_t *B, int LDB); +int CHAMELEON_zunmqr_param(const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, int M, int N, int K, CHAMELEON_Complex64_t *A, int LDA, CHAM_desc_t *descTS, CHAM_desc_t *TT, CHAMELEON_Complex64_t *B, int LDB); +/** + * Declarations of math functions (tile layout) - alphabetical order + */ +int CHAMELEON_zgels_param_Tile(const libhqr_tree_t *qrtree, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B); +int CHAMELEON_zgelqf_param_Tile(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT); +int CHAMELEON_zgelqs_param_Tile(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B); +int CHAMELEON_zgeqrf_param_Tile(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT); +int CHAMELEON_zgeqrs_param_Tile(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B); +int CHAMELEON_zunglq_param_Tile(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B); +int CHAMELEON_zungqr_param_Tile(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B); +int CHAMELEON_zungqr_param_Tile(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B); +int CHAMELEON_zunmlq_param_Tile(const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B); +int CHAMELEON_zunmqr_param_Tile(const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B); +/** + * Declarations of math functions (tile layout, asynchronous execution) - alphabetical order + */ +int CHAMELEON_zgels_param_Tile_Async(const libhqr_tree_t *qrtree, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgelqf_param_Tile_Async(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgelqs_param_Tile_Async(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgeqrf_param_Tile_Async(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zgeqrs_param_Tile_Async(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zunglq_param_Tile_Async(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zungqr_param_Tile_Async(const libhqr_tree_t *qrtree, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zunmlq_param_Tile_Async(const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +int CHAMELEON_zunmqr_param_Tile_Async(const libhqr_tree_t *qrtree, cham_side_t side, cham_trans_t trans, CHAM_desc_t *A, CHAM_desc_t *TS, CHAM_desc_t *TT, CHAM_desc_t *B, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); + +/** + * Declarations of workspace allocation functions (tile layout) - alphabetical order + */ +int CHAMELEON_Alloc_Workspace_zgesv_incpiv( int N, CHAM_desc_t **descL, int **IPIV, int p, int q); +int CHAMELEON_Alloc_Workspace_zgetrf_incpiv(int M, int N, CHAM_desc_t **descL, int **IPIV, int p, int q); + +int CHAMELEON_Alloc_Workspace_zgebrd(int M, int N, CHAM_desc_t **descT, int p, int q); +int CHAMELEON_Alloc_Workspace_zgeev( int N, CHAM_desc_t **descT, int p, int q); +int CHAMELEON_Alloc_Workspace_zgehrd(int N, CHAM_desc_t **descT, int p, int q); +int CHAMELEON_Alloc_Workspace_zgelqf(int M, int N, CHAM_desc_t **T, int p, int q); +int CHAMELEON_Alloc_Workspace_zgels( int M, int N, CHAM_desc_t **T, int p, int q); +int CHAMELEON_Alloc_Workspace_zgeqrf(int M, int N, CHAM_desc_t **T, int p, int q); +int CHAMELEON_Alloc_Workspace_zgesvd(int M, int N, CHAM_desc_t **descT, int p, int q); +int CHAMELEON_Alloc_Workspace_zheev( int M, int N, CHAM_desc_t **descT, int p, int q); +int CHAMELEON_Alloc_Workspace_zheevd( int M, int N, CHAM_desc_t **descT, int p, int q); +int CHAMELEON_Alloc_Workspace_zhegv( int M, int N, CHAM_desc_t **descT, int p, int q); +int CHAMELEON_Alloc_Workspace_zhegvd( int M, int N, CHAM_desc_t **descT, int p, int q); +int CHAMELEON_Alloc_Workspace_zhetrd(int M, int N, CHAM_desc_t **descT, int p, int q); + +/** + * Declarations of workspace allocation functions (tile layout, asynchronous execution) - alphabetical order + */ +int CHAMELEON_Alloc_Workspace_zgetri_Tile_Async(CHAM_desc_t *A, CHAM_desc_t *W); + +/* Warning: Those functions are deprecated */ +int CHAMELEON_Alloc_Workspace_zgelqf_Tile(int M, int N, CHAM_desc_t **descT, int p, int q); +int CHAMELEON_Alloc_Workspace_zgels_Tile( int M, int N, CHAM_desc_t **descT, int p, int q); +int CHAMELEON_Alloc_Workspace_zgeqrf_Tile(int M, int N, CHAM_desc_t **descT, int p, int q); +int CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile (int N, CHAM_desc_t **descL, int **IPIV, int p, int q); +int CHAMELEON_Alloc_Workspace_zgetrf_incpiv_Tile(int N, CHAM_desc_t **descL, int **IPIV, int p, int q); + +/** + * Auxiliary function prototypes + */ +int CHAMELEON_zLapack_to_Tile(CHAMELEON_Complex64_t *Af77, int LDA, CHAM_desc_t *A); +int CHAMELEON_zTile_to_Lapack(CHAM_desc_t *A, CHAMELEON_Complex64_t *Af77, int LDA); + +/** + * User Builder function prototypes + */ +int CHAMELEON_zbuild(cham_uplo_t uplo, int M, int N, CHAMELEON_Complex64_t *A, int LDA, void *user_data, void* user_build_callback); +int CHAMELEON_zbuild_Tile(cham_uplo_t uplo, CHAM_desc_t *A, void *user_data, void* user_build_callback ); +int CHAMELEON_zbuild_Tile_Async(cham_uplo_t uplo, CHAM_desc_t *A, void *user_data, void* user_build_callback, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); + +END_C_DECLS + +#endif diff --git a/include/chameleon/chameleon_zc.h b/include/chameleon/chameleon_zc.h new file mode 100644 index 0000000000000000000000000000000000000000..46e1d19a0fd024c403ab679674e775759b7e31b0 --- /dev/null +++ b/include/chameleon/chameleon_zc.h @@ -0,0 +1,55 @@ +/** + * + * @file chameleon_zc.h + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Chameleon mixed precision wrappers header + * + * @version 1.0.0 + * @comment This file has been automatically generated + * from Plasma 2.5.0 for CHAMELEON 1.0.0 + * @author Mathieu Faverge + * @author Emmanuel Agullo + * @author Cedric Castagnede + * @date 2010-11-15 + * @precisions mixed zc -> ds + * + */ +#ifndef _chameleon_zc_h_ +#define _chameleon_zc_h_ + +BEGIN_C_DECLS + +/** + * Declarations of math functions (LAPACK layout) - alphabetical order + */ +//int CHAMELEON_zcgesv(int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, int * IPIV, CHAMELEON_Complex64_t *B, int LDB, CHAMELEON_Complex64_t *X, int LDX, int *ITER); +//int CHAMELEON_zcposv(CHAMELEON_enum uplo, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, CHAMELEON_Complex64_t *X, int LDX, int *ITER); +//int CHAMELEON_zcgels(CHAMELEON_enum trans, int M, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, CHAMELEON_Complex64_t *X, int LDX, int *ITER); +//int CHAMELEON_zcungesv(CHAMELEON_enum trans, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, int LDB, CHAMELEON_Complex64_t *X, int LDX, int *ITER); + +/** + * Declarations of math functions (tile layout) - alphabetical order + */ +//int CHAMELEON_zcgesv_Tile(CHAMELEON_desc_t *A, int *IPIV, CHAMELEON_desc_t *B, CHAMELEON_desc_t *X, int *ITER); +//int CHAMELEON_zcposv_Tile(CHAMELEON_enum uplo, CHAMELEON_desc_t *A, CHAMELEON_desc_t *B, CHAMELEON_desc_t *X, int *ITER); +/* int CHAMELEON_zcgels_Tile(CHAMELEON_enum trans, CHAMELEON_desc_t *A, CHAMELEON_desc_t *T, CHAMELEON_desc_t *B, CHAMELEON_desc_t *X, int *ITER); */ +//int CHAMELEON_zcungesv_Tile(CHAMELEON_enum trans, CHAMELEON_desc_t *A, CHAMELEON_desc_t *T, CHAMELEON_desc_t *B, CHAMELEON_desc_t *X, int *ITER); + +/** + * Declarations of math functions (tile layout, asynchronous execution) - alphabetical order + */ +//int CHAMELEON_zcgesv_Tile_Async(CHAMELEON_desc_t *A, int *IPIV, CHAMELEON_desc_t *B, CHAMELEON_desc_t *X, int *ITER, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zcposv_Tile_Async(CHAMELEON_enum uplo, CHAMELEON_desc_t *A, CHAMELEON_desc_t *B, CHAMELEON_desc_t *X, int *ITER, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zcgels_Tile_Async(CHAMELEON_enum trans, CHAMELEON_desc_t *A, CHAMELEON_desc_t *T, CHAMELEON_desc_t *B, CHAMELEON_desc_t *X, int *ITER, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); +//int CHAMELEON_zcungesv_Tile_Async(CHAMELEON_enum trans, CHAMELEON_desc_t *A, CHAMELEON_desc_t *T, CHAMELEON_desc_t *B, CHAMELEON_desc_t *X, int *ITER, RUNTIME_sequence_t *sequence, RUNTIME_request_t *request); + +END_C_DECLS + +#endif diff --git a/include/chameleon/chameleon_config.h.in b/include/chameleon/config.h.in similarity index 98% rename from include/chameleon/chameleon_config.h.in rename to include/chameleon/config.h.in index 1887fefcb1658ee51e46822ae42ca28170b1a604..b69ec92f8f6a4243aa862b579b667a10f836ec96 100644 --- a/include/chameleon/chameleon_config.h.in +++ b/include/chameleon/config.h.in @@ -1,6 +1,6 @@ /** * - * @file chameleon_config.h + * @file config.h * * @copyright 2009-2014 The University of Tennessee and The University of * Tennessee Research Foundation. All rights reserved. diff --git a/include/chameleon/constants.h b/include/chameleon/constants.h new file mode 100644 index 0000000000000000000000000000000000000000..6cd415fa5f04fc366c76fb142ea32263f656e30d --- /dev/null +++ b/include/chameleon/constants.h @@ -0,0 +1,227 @@ +/** + * + * @file chameleon_constants.h + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Chameleon global constants + * + * @version 1.0.0 + * @author Cedric Augonnet + * @author Mathieu Faverge + * @author Cedric Castagnede + * @date 2011-06-01 + * + */ +#ifndef _chameleon_constants_h_ +#define _chameleon_constants_h_ + +/** + * + * @brief Chameleon constants - CBLAS & LAPACK + * The naming and numbering is consistent with: + * + * 1) CBLAS from Netlib (http://www.netlib.org/blas/blast-forum/cblas.tgz), + * 2) C Interface to LAPACK from Netlib (http://www.netlib.org/lapack/lapwrapc/). + * + */ +/** + * @brief Matrix floating point arithmetic + */ +typedef enum chameleon_flttype_e { + ChamByte = 0, + ChamInteger = 1, + ChamRealFloat = 2, + ChamRealDouble = 3, + ChamComplexFloat = 4, + ChamComplexDouble = 5, +} cham_flttype_t; + +/** + * @brief Matrix tile storage + */ +typedef enum chameleon_storage_e { + ChamCM = 101, + ChamRM = 102, + ChamCCRB = 103, + ChamCRRB = 104, + ChamRCRB = 105, + ChamRRRB = 106, +} cham_storage_t; + +/** + * @brief Transpostion + */ +typedef enum chameleon_trans_e { + ChamNoTrans = 111, /**< Use A */ + ChamTrans = 112, /**< Use A^t */ + ChamConjTrans = 113 /**< Use conj(A^t) */ +} cham_trans_t; + +/** + * @brief Upper/Lower part + */ +typedef enum chameleon_uplo_e { + ChamUpper = 121, /**< Use lower triangle of A */ + ChamLower = 122, /**< Use upper triangle of A */ + ChamUpperLower = 123 /**< Use the full A */ +} cham_uplo_t; + +/** + * @brief Diagonal + */ +typedef enum chameleon_diag_e { + ChamNonUnit = 131, /**< Diagonal is non unitary */ + ChamUnit = 132 /**< Diagonal is unitary */ +} cham_diag_t; + +/** + * @brief Side of the operation + */ +typedef enum chameleon_side_e { + ChamLeft = 141, /**< Apply operator on the left */ + ChamRight = 142 /**< Apply operator on the right */ +} cham_side_t; + +/** + * @brief Norms + */ +typedef enum chameleon_normtype_e { + ChamOneNorm = 171, /**< One norm: max_j( sum_i( |a_{ij}| ) ) */ + /* ChamRealOneNorm = 172, */ + /* ChamTwoNorm = 173, */ + ChamFrobeniusNorm = 174, /**< Frobenius norm: sqrt( sum_{i,j} (a_{ij}^2) ) */ + ChamInfNorm = 175, /**< Inifinite norm: max_i( sum_j( |a_{ij}| ) ) */ + /* ChamRealInfNorm = 176, */ + ChamMaxNorm = 177, /**< Inifinite norm: max_{i,j}( | a_{ij} | ) */ + /* ChamRealMaxNorm = 178 */ +} cham_normtype_t; + +/** + * @brief Random distribution for matrix generator + */ +typedef enum chameleon_dist_e { + ChamDistUniform = 201, + ChamDistSymmetric = 202, + ChamDistNormal = 203, +} cham_dist_t; + +/** + * @brief Eigen and singular values generator format + */ +#define ChamHermGeev 241 +#define ChamHermPoev 242 +#define ChamNonsymPosv 243 +#define ChamSymPosv 244 + +#define ChamNoPacking 291 +#define ChamPackSubdiag 292 +#define ChamPackSupdiag 293 +#define ChamPackColumn 294 +#define ChamPackRow 295 +#define ChamPackLowerBand 296 +#define ChamPackUpeprBand 297 +#define ChamPackAll 298 + +/** + * @brief Singular/Eigen vector job description + */ +typedef enum chameleon_job_e { + ChamNoVec = 301, + ChamVec = 302, + ChamIvec = 303, +} cham_job_t; + +/** + * @brief Algorithm Direction + */ +typedef enum chameleon_dir_e { + ChamDirForward = 391, /**< Forward direction */ + ChamDirBackward = 392, /**< Backward direction */ +} cham_dir_t; + +/** + * @brief Direction of the main vectors as for the householder reflectors in QR/LQ factorizations. + */ +typedef enum chameleon_store_e { + ChamColumnwise = 401, /**< Column wise storage */ + ChamRowwise = 402, /**< Row wise storage */ +} cham_store_t; + + +#define ChameleonTrd 1001 +#define ChameleonBrd 1002 + +#define ChameleonW 501 +#define ChameleonA2 502 + +/** + * CHAMELEON constants - boolean + */ +#define CHAMELEON_FALSE 0 +#define CHAMELEON_TRUE 1 + +#define CHAMELEON_CPU ((1ULL)<<1) +#define CHAMELEON_CUDA ((1ULL)<<3) + +/** + * State machine switches + */ +#define CHAMELEON_WARNINGS 1 +#define CHAMELEON_ERRORS 2 +#define CHAMELEON_AUTOTUNING 3 +#define CHAMELEON_DAG 4 +#define CHAMELEON_PROFILING_MODE 5 +#define CHAMELEON_PARALLEL_MODE 6 +#define CHAMELEON_BOUND 7 +#define CHAMELEON_PROGRESS 8 +#define CHAMELEON_GEMM3M 9 + +/** + * CHAMELEON constants - configuration parameters + */ +#define CHAMELEON_CONCURRENCY 1 +#define CHAMELEON_TILE_SIZE 2 +#define CHAMELEON_INNER_BLOCK_SIZE 3 +#define CHAMELEON_HOUSEHOLDER_MODE 5 +#define CHAMELEON_HOUSEHOLDER_SIZE 6 +#define CHAMELEON_TRANSLATION_MODE 7 + +/** + * @brief QR/LQ factorization trees + */ +typedef enum chameleon_householder_e { + ChamFlatHouseholder = 1, + ChamTreeHouseholder = 2, +} cham_householder_t; + +/** + * @brief Translation types + */ +typedef enum chameleon_translation_e { + ChamInPlace = 1, + ChamOutOfPlace = 2, +} cham_translation_t; + +/** + * CHAMELEON constants - success & error codes + */ +#define CHAMELEON_SUCCESS 0 +#define CHAMELEON_ERR_NOT_INITIALIZED -101 +#define CHAMELEON_ERR_REINITIALIZED -102 +#define CHAMELEON_ERR_NOT_SUPPORTED -103 +#define CHAMELEON_ERR_ILLEGAL_VALUE -104 +#define CHAMELEON_ERR_NOT_FOUND -105 +#define CHAMELEON_ERR_OUT_OF_RESOURCES -106 +#define CHAMELEON_ERR_INTERNAL_LIMIT -107 +#define CHAMELEON_ERR_UNALLOCATED -108 +#define CHAMELEON_ERR_FILESYSTEM -109 +#define CHAMELEON_ERR_UNEXPECTED -110 +#define CHAMELEON_ERR_SEQUENCE_FLUSHED -111 + +#endif diff --git a/include/chameleon/fortran.h b/include/chameleon/fortran.h new file mode 100644 index 0000000000000000000000000000000000000000..625818e96d70e0ee228612659d74747f1883362f --- /dev/null +++ b/include/chameleon/fortran.h @@ -0,0 +1,234 @@ +!** +! +! -- Inria +! -- (C) Copyright 2012 +! +! This software is a computer program whose purpose is to process +! Matrices Over Runtime Systems @ Exascale (MORSE). More information +! can be found on the following website: http://www.inria.fr/en/teams/morse. +! +! This software is governed by the CeCILL-B license under French law and +! abiding by the rules of distribution of free software. You can use, +! modify and/ or redistribute the software under the terms of the CeCILL-B +! license as circulated by CEA, CNRS and INRIA at the following URL +! "http://www.cecill.info". +! +! As a counterpart to the access to the source code and rights to copy, +! modify and redistribute granted by the license, users are provided only +! with a limited warranty and the software's author, the holder of the +! economic rights, and the successive licensors have only limited +! liability. +! +! In this respect, the user's attention is drawn to the risks associated +! with loading, using, modifying and/or developing or reproducing the +! software by the user in light of its specific status of free software, +! that may mean that it is complicated to manipulate, and that also +! therefore means that it is reserved for developers and experienced +! professionals having in-depth computer knowledge. Users are therefore +! encouraged to load and test the software's suitability as regards their +! requirements in conditions enabling the security of their systems and/or +! data to be ensured and, more generally, to use and operate it in the +! same conditions as regards security. +! +! The fact that you are presently reading this means that you have had +! knowledge of the CeCILL-B license and that you accept its terms. +! +!** +! +! @brief Chameleon Fortran77 header +! @version 1.0.0 +! @author Bilel Hadri +! @author Mathieu Faverge +! @author Cedric Castagnede +! @date 2010-11-15 +! +!** + +!******************************************************************** +! CHAMELEON constants - precisions +! + integer ChamByte, ChamInteger, ChamRealFloat + integer ChamRealDouble, ChamComplexFloat, ChamComplexDouble + parameter ( ChamByte = 0 ) + parameter ( ChamInteger = 1 ) + parameter ( ChamRealFloat = 2 ) + parameter ( ChamRealDouble = 3 ) + parameter ( ChamComplexFloat = 4 ) + parameter ( ChamComplexDouble = 5 ) + +!******************************************************************** +! CHAMELEON constants - CBLAS & LAPACK +! + integer ChamCM, ChamRM, ChamCCRB + integer ChamCRRB, ChamRCRB, ChamRRRB + parameter ( ChamCM = 101 ) + parameter ( ChamRM = 102 ) + parameter ( ChamCCRB = 103 ) + parameter ( ChamCRRB = 104 ) + parameter ( ChamRCRB = 105 ) + parameter ( ChamRRRB = 106 ) + + integer ChamNoTrans, ChamTrans, ChamConjTrans + parameter ( ChamNoTrans = 111 ) + parameter ( ChamTrans = 112 ) + parameter ( ChamConjTrans = 113 ) + + integer ChamUpper, ChamLower + integer ChamUpperLower + parameter ( ChamUpper = 121 ) + parameter ( ChamLower = 122 ) + parameter ( ChamUpperLower = 123 ) + + integer ChamNonUnit,ChamUnit + parameter ( ChamNonUnit = 131 ) + parameter ( ChamUnit = 132 ) + + integer ChamLeft,ChamRight + parameter ( ChamLeft = 141 ) + parameter ( ChamRight = 142 ) + + integer ChamOneNorm, ChamRealOneNorm + integer ChamTwoNorm, ChamFrobeniusNorm + integer ChamInfNorm, ChamRealInfNorm + integer ChamMaxNorm, ChamRealMaxNorm + parameter ( ChamOneNorm = 171 ) + parameter ( ChamRealOneNorm = 172 ) + parameter ( ChamTwoNorm = 173 ) + parameter ( ChamFrobeniusNorm = 174 ) + parameter ( ChamInfNorm = 175 ) + parameter ( ChamRealInfNorm = 176 ) + parameter ( ChamMaxNorm = 177 ) + parameter ( ChamRealMaxNorm = 178 ) + + integer ChamDistUniform + integer ChamDistSymmetric + integer ChamDistNormal + parameter ( ChamDistUniform = 201 ) + parameter ( ChamDistSymmetric = 202 ) + parameter ( ChamDistNormal = 203 ) + + integer ChamHermGeev + integer ChamHermPoev + integer ChamNonsymPosv + integer ChamSymPosv + parameter ( ChamHermGeev = 241 ) + parameter ( ChamHermPoev = 242 ) + parameter ( ChamNonsymPosv = 243 ) + parameter ( ChamSymPosv = 244 ) + + integer ChamNoPacking + integer ChamPackSubdiag + integer ChamPackSupdiag + integer ChamPackColumn + integer ChamPackLowerBand + integer ChamPackRow + integer ChamPackUpeprBand + integer ChamPackAll + parameter ( ChamNoPacking = 291 ) + parameter ( ChamPackSubdiag = 292 ) + parameter ( ChamPackSupdiag = 293 ) + parameter ( ChamPackColumn = 294 ) + parameter ( ChamPackRow = 295 ) + parameter ( ChamPackLowerBand = 296 ) + parameter ( ChamPackUpeprBand = 297 ) + parameter ( ChamPackAll = 298 ) + + integer ChamNoVec,ChamVec,ChamIvec + parameter ( ChamNoVec = 301 ) + parameter ( ChamVec = 302 ) + parameter ( ChamIvec = 303 ) + + integer ChamDirForward, ChamDirBackward + parameter ( ChamDirForward = 391 ) + parameter ( ChamDirBackward = 392 ) + + integer ChamColumnwise,ChamRowwise + parameter ( ChamColumnwise = 401 ) + parameter ( ChamRowwise = 402 ) + +!******************************************************************** +! CHAMELEON constants - boolean +! + integer CHAMELEON_FALSE, CHAMELEON_TRUE + parameter ( CHAMELEON_FALSE = 0 ) + parameter ( CHAMELEON_TRUE = 1 ) + +!******************************************************************** +! State machine switches +! + integer CHAMELEON_WARNINGS, CHAMELEON_ERRORS, CHAMELEON_AUTOTUNING + integer CHAMELEON_DAG, CHAMELEON_PROFILING_MODE, CHAMELEON_PARALLEL_MODE + integer CHAMELEON_BOUND + parameter ( CHAMELEON_WARNINGS = 1 ) + parameter ( CHAMELEON_ERRORS = 2 ) + parameter ( CHAMELEON_AUTOTUNING = 3 ) + parameter ( CHAMELEON_DAG = 4 ) + parameter ( CHAMELEON_PROFILING_MODE = 5 ) + parameter ( CHAMELEON_PARALLEL_MODE = 6 ) + parameter ( CHAMELEON_BOUND = 7 ) + +!******************************************************************** +! CHAMELEON constants - configuration parameters +! + integer CHAMELEON_CONCURRENCY, CHAMELEON_TILE_SIZE + integer CHAMELEON_INNER_BLOCK_SIZE, CHAMELEON_SCHEDULING_MODE + integer CHAMELEON_HOUSEHOLDER_MODE, CHAMELEON_HOUSEHOLDER_SIZE + integer CHAMELEON_TRANSLATION_MODE + parameter ( CHAMELEON_CONCURRENCY = 1 ) + parameter ( CHAMELEON_TILE_SIZE = 2 ) + parameter ( CHAMELEON_INNER_BLOCK_SIZE = 3 ) + parameter ( CHAMELEON_SCHEDULING_MODE = 4 ) + parameter ( CHAMELEON_HOUSEHOLDER_MODE = 5 ) + parameter ( CHAMELEON_HOUSEHOLDER_SIZE = 6 ) + parameter ( CHAMELEON_TRANSLATION_MODE = 7 ) + +!******************************************************************** +! CHAMELEON constants - householder mode +! + integer ChamFlatHouseholder, ChamTreeHouseholder + parameter ( ChamFlatHouseholder = 1 ) + parameter ( ChamTreeHouseholder = 2 ) + +!********************************************************************* +! CHAMELEON constants - translation mode +! + integer ChamInPlace, ChamOutOfPlace + parameter ( ChamInPlace = 1 ) + parameter ( ChamOutOfPlace = 2 ) + +!******************************************************************** +! CHAMELEON constants - success & error codes +! + integer CHAMELEON_SUCCESS, CHAMELEON_ERR_NOT_INITIALIZED + integer CHAMELEON_ERR_REINITIALIZED, CHAMELEON_ERR_NOT_SUPPORTED + integer CHAMELEON_ERR_ILLEGAL_VALUE, CHAMELEON_ERR_NOT_FOUND + integer CHAMELEON_ERR_OUT_OF_MEMORY, CHAMELEON_ERR_INTERNAL_LIMIT + integer CHAMELEON_ERR_UNALLOCATED, CHAMELEON_ERR_FILESYSTEM + integer CHAMELEON_ERR_UNEXPECTED, CHAMELEON_ERR_SEQUENCE_FLUSHED + parameter ( CHAMELEON_SUCCESS = 0 ) + parameter ( CHAMELEON_ERR_NOT_INITIALIZED = -101 ) + parameter ( CHAMELEON_ERR_REINITIALIZED = -102 ) + parameter ( CHAMELEON_ERR_NOT_SUPPORTED = -103 ) + parameter ( CHAMELEON_ERR_ILLEGAL_VALUE = -104 ) + parameter ( CHAMELEON_ERR_NOT_FOUND = -105 ) + parameter ( CHAMELEON_ERR_OUT_OF_MEMORY = -106 ) + parameter ( CHAMELEON_ERR_INTERNAL_LIMIT = -107 ) + parameter ( CHAMELEON_ERR_UNALLOCATED = -108 ) + parameter ( CHAMELEON_ERR_FILESYSTEM = -109 ) + parameter ( CHAMELEON_ERR_UNEXPECTED = -110 ) + parameter ( CHAMELEON_ERR_SEQUENCE_FLUSHED= -111 ) + +!******************************************************************** +! CHAMELEON constants - kernels options +! + integer RUNTIME_PRIORITY_MIN, RUNTIME_PRIORITY_MAX + parameter ( RUNTIME_PRIORITY_MIN = 0 ) + parameter ( RUNTIME_PRIORITY_MAX = 10000 ) + +!******************************************************************** +! CHAMELEON constants - scheduler properties +! + integer PRIORITY, CALLBACK, REDUX + parameter ( PRIORITY = 16 ) + parameter ( CALLBACK = 17 ) + parameter ( REDUX = 18 ) diff --git a/include/chameleon/morse_constants.h b/include/chameleon/morse_constants.h deleted file mode 100644 index acc7c4fac10037e3362932a800106010151c758c..0000000000000000000000000000000000000000 --- a/include/chameleon/morse_constants.h +++ /dev/null @@ -1,178 +0,0 @@ -/** - * - * @file morse_constants.h - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon global constants - * - * @version 1.0.0 - * @author Cedric Augonnet - * @author Mathieu Faverge - * @author Cedric Castagnede - * @date 2011-06-01 - * - */ -#ifndef _MORSE_CONSTANTS_H_ -#define _MORSE_CONSTANTS_H_ - -/** - * - * @brief Chameleon constants - CBLAS & LAPACK - * The naming and numbering is consistent with: - * - * 1) CBLAS from Netlib (http://www.netlib.org/blas/blast-forum/cblas.tgz), - * 2) C Interface to LAPACK from Netlib (http://www.netlib.org/lapack/lapwrapc/). - * - */ -#define MorseByte 0 -#define MorseInteger 1 -#define MorseRealFloat 2 -#define MorseRealDouble 3 -#define MorseComplexFloat 4 -#define MorseComplexDouble 5 - -#define MorseCM 101 -#define MorseRM 102 -#define MorseCCRB 103 -#define MorseCRRB 104 -#define MorseRCRB 105 -#define MorseRRRB 106 - -#define MorseNoTrans 111 -#define MorseTrans 112 -#define MorseConjTrans 113 - -#define MorseUpper 121 -#define MorseLower 122 -#define MorseUpperLower 123 - -#define MorseNonUnit 131 -#define MorseUnit 132 - -#define MorseLeft 141 -#define MorseRight 142 - -#define MorseOneNorm 171 -#define MorseRealOneNorm 172 -#define MorseTwoNorm 173 -#define MorseFrobeniusNorm 174 -#define MorseInfNorm 175 -#define MorseRealInfNorm 176 -#define MorseMaxNorm 177 -#define MorseRealMaxNorm 178 - -#define MorseDistUniform 201 -#define MorseDistSymmetric 202 -#define MorseDistNormal 203 - -#define MorseHermGeev 241 -#define MorseHermPoev 242 -#define MorseNonsymPosv 243 -#define MorseSymPosv 244 - -#define MorseNoPacking 291 -#define MorsePackSubdiag 292 -#define MorsePackSupdiag 293 -#define MorsePackColumn 294 -#define MorsePackRow 295 -#define MorsePackLowerBand 296 -#define MorsePackUpeprBand 297 -#define MorsePackAll 298 - -#define MorseNoVec 301 -#define MorseVec 302 -#define MorseIvec 303 - -#define MorseForward 391 -#define MorseBackward 392 - -#define MorseColumnwise 401 -#define MorseRowwise 402 -#define MorseTrd 1001 -#define MorseBrd 1002 - -#define MorseW 501 -#define MorseA2 502 - -#define morse_const_neg(const) (((const-1)^0x01)+1) - -/** - * MORSE constants - boolean - */ -#define MORSE_FALSE 0 -#define MORSE_TRUE 1 - -#define MORSE_CPU ((1ULL)<<1) -#define MORSE_CUDA ((1ULL)<<3) - -/** - * State machine switches - */ -#define MORSE_WARNINGS 1 -#define MORSE_ERRORS 2 -#define MORSE_AUTOTUNING 3 -#define MORSE_DAG 4 -#define MORSE_PROFILING_MODE 5 -#define MORSE_PARALLEL_MODE 6 -#define MORSE_BOUND 7 -#define MORSE_PROGRESS 8 -#define MORSE_GEMM3M 9 - -/** - * MORSE constants - configuration parameters - */ -#define MORSE_CONCURRENCY 1 -#define MORSE_TILE_SIZE 2 -#define MORSE_INNER_BLOCK_SIZE 3 -#define MORSE_HOUSEHOLDER_MODE 5 -#define MORSE_HOUSEHOLDER_SIZE 6 -#define MORSE_TRANSLATION_MODE 7 - -#define MORSE_FLAT_HOUSEHOLDER 1 -#define MORSE_TREE_HOUSEHOLDER 2 - -#define MORSE_INPLACE 1 -#define MORSE_OUTOFPLACE 2 - -/** - * MORSE constants - success & error codes - */ -#define MORSE_SUCCESS 0 -#define MORSE_ERR_NOT_INITIALIZED -101 -#define MORSE_ERR_REINITIALIZED -102 -#define MORSE_ERR_NOT_SUPPORTED -103 -#define MORSE_ERR_ILLEGAL_VALUE -104 -#define MORSE_ERR_NOT_FOUND -105 -#define MORSE_ERR_OUT_OF_RESOURCES -106 -#define MORSE_ERR_INTERNAL_LIMIT -107 -#define MORSE_ERR_UNALLOCATED -108 -#define MORSE_ERR_FILESYSTEM -109 -#define MORSE_ERR_UNEXPECTED -110 -#define MORSE_ERR_SEQUENCE_FLUSHED -111 - -/** - * Kernels options - */ -#define MORSE_PRIORITY_MIN 0 -#define MORSE_PRIORITY_MAX INT_MAX - - -/** - * Scheduler properties - */ -#define PRIORITY 16 -#define CALLBACK 17 -#define REDUX 18 - -/** - * MORSE ??? - */ -#define MORSE_REQUEST_INITIALIZER {MORSE_SUCCESS} - -#endif diff --git a/include/chameleon/morse_fortran.h b/include/chameleon/morse_fortran.h deleted file mode 100644 index b1fb41aec6e042ca0a85bb6e2833199e82fe31b1..0000000000000000000000000000000000000000 --- a/include/chameleon/morse_fortran.h +++ /dev/null @@ -1,234 +0,0 @@ -!** -! -! -- Inria -! -- (C) Copyright 2012 -! -! This software is a computer program whose purpose is to process -! Matrices Over Runtime Systems @ Exascale (MORSE). More information -! can be found on the following website: http://www.inria.fr/en/teams/morse. -! -! This software is governed by the CeCILL-B license under French law and -! abiding by the rules of distribution of free software. You can use, -! modify and/ or redistribute the software under the terms of the CeCILL-B -! license as circulated by CEA, CNRS and INRIA at the following URL -! "http://www.cecill.info". -! -! As a counterpart to the access to the source code and rights to copy, -! modify and redistribute granted by the license, users are provided only -! with a limited warranty and the software's author, the holder of the -! economic rights, and the successive licensors have only limited -! liability. -! -! In this respect, the user's attention is drawn to the risks associated -! with loading, using, modifying and/or developing or reproducing the -! software by the user in light of its specific status of free software, -! that may mean that it is complicated to manipulate, and that also -! therefore means that it is reserved for developers and experienced -! professionals having in-depth computer knowledge. Users are therefore -! encouraged to load and test the software's suitability as regards their -! requirements in conditions enabling the security of their systems and/or -! data to be ensured and, more generally, to use and operate it in the -! same conditions as regards security. -! -! The fact that you are presently reading this means that you have had -! knowledge of the CeCILL-B license and that you accept its terms. -! -!** -! -! @brief Chameleon Fortran77 header -! @version 1.0.0 -! @author Bilel Hadri -! @author Mathieu Faverge -! @author Cedric Castagnede -! @date 2010-11-15 -! -!** - -!******************************************************************** -! MORSE constants - precisions -! - integer MorseByte, MorseInteger, MorseRealFloat - integer MorseRealDouble, MorseComplexFloat, MorseComplexDouble - parameter ( MorseByte = 0 ) - parameter ( MorseInteger = 1 ) - parameter ( MorseRealFloat = 2 ) - parameter ( MorseRealDouble = 3 ) - parameter ( MorseComplexFloat = 4 ) - parameter ( MorseComplexDouble = 5 ) - -!******************************************************************** -! MORSE constants - CBLAS & LAPACK -! - integer MorseCM, MorseRM, MorseCCRB - integer MorseCRRB, MorseRCRB, MorseRRRB - parameter ( MorseCM = 101 ) - parameter ( MorseRM = 102 ) - parameter ( MorseCCRB = 103 ) - parameter ( MorseCRRB = 104 ) - parameter ( MorseRCRB = 105 ) - parameter ( MorseRRRB = 106 ) - - integer MorseNoTrans, MorseTrans, MorseConjTrans - parameter ( MorseNoTrans = 111 ) - parameter ( MorseTrans = 112 ) - parameter ( MorseConjTrans = 113 ) - - integer MorseUpper, MorseLower - integer MorseUpperLower - parameter ( MorseUpper = 121 ) - parameter ( MorseLower = 122 ) - parameter ( MorseUpperLower = 123 ) - - integer MorseNonUnit,MorseUnit - parameter ( MorseNonUnit = 131 ) - parameter ( MorseUnit = 132 ) - - integer MorseLeft,MorseRight - parameter ( MorseLeft = 141 ) - parameter ( MorseRight = 142 ) - - integer MorseOneNorm, MorseRealOneNorm - integer MorseTwoNorm, MorseFrobeniusNorm - integer MorseInfNorm, MorseRealInfNorm - integer MorseMaxNorm, MorseRealMaxNorm - parameter ( MorseOneNorm = 171 ) - parameter ( MorseRealOneNorm = 172 ) - parameter ( MorseTwoNorm = 173 ) - parameter ( MorseFrobeniusNorm = 174 ) - parameter ( MorseInfNorm = 175 ) - parameter ( MorseRealInfNorm = 176 ) - parameter ( MorseMaxNorm = 177 ) - parameter ( MorseRealMaxNorm = 178 ) - - integer MorseDistUniform - integer MorseDistSymmetric - integer MorseDistNormal - parameter ( MorseDistUniform = 201 ) - parameter ( MorseDistSymmetric = 202 ) - parameter ( MorseDistNormal = 203 ) - - integer MorseHermGeev - integer MorseHermPoev - integer MorseNonsymPosv - integer MorseSymPosv - parameter ( MorseHermGeev = 241 ) - parameter ( MorseHermPoev = 242 ) - parameter ( MorseNonsymPosv = 243 ) - parameter ( MorseSymPosv = 244 ) - - integer MorseNoPacking - integer MorsePackSubdiag - integer MorsePackSupdiag - integer MorsePackColumn - integer MorsePackLowerBand - integer MorsePackRow - integer MorsePackUpeprBand - integer MorsePackAll - parameter ( MorseNoPacking = 291 ) - parameter ( MorsePackSubdiag = 292 ) - parameter ( MorsePackSupdiag = 293 ) - parameter ( MorsePackColumn = 294 ) - parameter ( MorsePackRow = 295 ) - parameter ( MorsePackLowerBand = 296 ) - parameter ( MorsePackUpeprBand = 297 ) - parameter ( MorsePackAll = 298 ) - - integer MorseNoVec,MorseVec,MorseIvec - parameter ( MorseNoVec = 301 ) - parameter ( MorseVec = 302 ) - parameter ( MorseIvec = 303 ) - - integer MorseForward, MorseBackward - parameter ( MorseForward = 391 ) - parameter ( MorseBackward = 392 ) - - integer MorseColumnwise,MorseRowwise - parameter ( MorseColumnwise = 401 ) - parameter ( MorseRowwise = 402 ) - -!******************************************************************** -! MORSE constants - boolean -! - integer MORSE_FALSE, MORSE_TRUE - parameter ( MORSE_FALSE = 0 ) - parameter ( MORSE_TRUE = 1 ) - -!******************************************************************** -! State machine switches -! - integer MORSE_WARNINGS, MORSE_ERRORS, MORSE_AUTOTUNING - integer MORSE_DAG, MORSE_PROFILING_MODE, MORSE_PARALLEL_MODE - integer MORSE_BOUND - parameter ( MORSE_WARNINGS = 1 ) - parameter ( MORSE_ERRORS = 2 ) - parameter ( MORSE_AUTOTUNING = 3 ) - parameter ( MORSE_DAG = 4 ) - parameter ( MORSE_PROFILING_MODE = 5 ) - parameter ( MORSE_PARALLEL_MODE = 6 ) - parameter ( MORSE_BOUND = 7 ) - -!******************************************************************** -! MORSE constants - configuration parameters -! - integer MORSE_CONCURRENCY, MORSE_TILE_SIZE - integer MORSE_INNER_BLOCK_SIZE, MORSE_SCHEDULING_MODE - integer MORSE_HOUSEHOLDER_MODE, MORSE_HOUSEHOLDER_SIZE - integer MORSE_TRANSLATION_MODE - parameter ( MORSE_CONCURRENCY = 1 ) - parameter ( MORSE_TILE_SIZE = 2 ) - parameter ( MORSE_INNER_BLOCK_SIZE = 3 ) - parameter ( MORSE_SCHEDULING_MODE = 4 ) - parameter ( MORSE_HOUSEHOLDER_MODE = 5 ) - parameter ( MORSE_HOUSEHOLDER_SIZE = 6 ) - parameter ( MORSE_TRANSLATION_MODE = 7 ) - -!******************************************************************** -! MORSE constants - householder mode -! - integer MORSE_FLAT_HOUSEHOLDER, MORSE_TREE_HOUSEHOLDER - parameter ( MORSE_FLAT_HOUSEHOLDER = 1 ) - parameter ( MORSE_TREE_HOUSEHOLDER = 2 ) - -!********************************************************************* -! MORSE constants - translation mode -! - integer MORSE_INPLACE, MORSE_OUTOFPLACE - parameter ( MORSE_INPLACE = 1 ) - parameter ( MORSE_OUTOFPLACE = 2 ) - -!******************************************************************** -! MORSE constants - success & error codes -! - integer MORSE_SUCCESS, MORSE_ERR_NOT_INITIALIZED - integer MORSE_ERR_REINITIALIZED, MORSE_ERR_NOT_SUPPORTED - integer MORSE_ERR_ILLEGAL_VALUE, MORSE_ERR_NOT_FOUND - integer MORSE_ERR_OUT_OF_MEMORY, MORSE_ERR_INTERNAL_LIMIT - integer MORSE_ERR_UNALLOCATED, MORSE_ERR_FILESYSTEM - integer MORSE_ERR_UNEXPECTED, MORSE_ERR_SEQUENCE_FLUSHED - parameter ( MORSE_SUCCESS = 0 ) - parameter ( MORSE_ERR_NOT_INITIALIZED = -101 ) - parameter ( MORSE_ERR_REINITIALIZED = -102 ) - parameter ( MORSE_ERR_NOT_SUPPORTED = -103 ) - parameter ( MORSE_ERR_ILLEGAL_VALUE = -104 ) - parameter ( MORSE_ERR_NOT_FOUND = -105 ) - parameter ( MORSE_ERR_OUT_OF_MEMORY = -106 ) - parameter ( MORSE_ERR_INTERNAL_LIMIT = -107 ) - parameter ( MORSE_ERR_UNALLOCATED = -108 ) - parameter ( MORSE_ERR_FILESYSTEM = -109 ) - parameter ( MORSE_ERR_UNEXPECTED = -110 ) - parameter ( MORSE_ERR_SEQUENCE_FLUSHED= -111 ) - -!******************************************************************** -! MORSE constants - kernels options -! - integer MORSE_PRIORITY_MIN, MORSE_PRIORITY_MAX - parameter ( MORSE_PRIORITY_MIN = 0 ) - parameter ( MORSE_PRIORITY_MAX = 10000 ) - -!******************************************************************** -! MORSE constants - scheduler properties -! - integer PRIORITY, CALLBACK, REDUX - parameter ( PRIORITY = 16 ) - parameter ( CALLBACK = 17 ) - parameter ( REDUX = 18 ) diff --git a/include/chameleon/morse_kernels.h b/include/chameleon/morse_kernels.h deleted file mode 100644 index ccfa33c13a3829b9ecbdc8a3cc6aa048c4d54027..0000000000000000000000000000000000000000 --- a/include/chameleon/morse_kernels.h +++ /dev/null @@ -1,82 +0,0 @@ -/** - * - * @file morse_kernels.h - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon elementary kernels enum - * - * @version 1.0.0 - * @author Mathieu Faverge - * @author Cedric Augonnet - * @date 2011-06-01 - * - */ -#ifndef _MORSE_KERNELS_H_ -#define _MORSE_KERNELS_H_ - -/** - * Used to apply operations on specific kernels - */ -typedef enum morse_kernel_e { - - MORSE_GEMM, - MORSE_HEMM, - MORSE_HER2K, - MORSE_HERK, - MORSE_SYTRF_NOPIV, - MORSE_SYMM, - MORSE_SYR2K, - MORSE_SYRK, - MORSE_TRSM, - MORSE_TRMM, - - MORSE_GELQT, - MORSE_GEQRT, - MORSE_GESSM, - MORSE_GETRF, - MORSE_GETRF_INCPIV, - MORSE_GETRF_NOPIV, - MORSE_LAUUM, - MORSE_ORMLQ, - MORSE_ORMQR, - MORSE_POTRF, - MORSE_SSSSM, - MORSE_TRTRI, - MORSE_TSLQT, - MORSE_TSMLQ, - MORSE_TSMQR, - MORSE_TSQRT, - MORSE_TSTRF, - MORSE_TTLQT, - MORSE_TTMLQ, - MORSE_TTMQR, - MORSE_TTQRT, - MORSE_UNMLQ, - MORSE_UNMQR, - - MORSE_GEADD, - MORSE_LASCAL, - MORSE_LACPY, - MORSE_LAG2C, - MORSE_LAG2Z, - MORSE_LANGE, - MORSE_LANHE, - MORSE_LANSY, - MORSE_LASET, - MORSE_LASET2, - MORSE_PEMV, - MORSE_PLGHE, - MORSE_PLGSY, - MORSE_PLRNT, - MORSE_TILE_ZERO, - - MORSE_NBKERNELS -} MORSE_kernel_t; - -#endif diff --git a/include/chameleon/morse_tasks.h b/include/chameleon/morse_tasks.h deleted file mode 100644 index eef463227047ef770b673e74bfeed5e0a9b720ec..0000000000000000000000000000000000000000 --- a/include/chameleon/morse_tasks.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - * - * @file morse_tasks.h - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon elementary tasks main header - * - * @version 1.0.0 - * @author Mathieu Faverge - * @author Cedric Augonnet - * @date 2011-06-01 - * - */ -#ifndef _MORSE_TASKS_H_ -#define _MORSE_TASKS_H_ - -#include "chameleon/chameleon_config.h" - -BEGIN_C_DECLS - -/** - * MORSE Task submission routines - */ -void MORSE_TASK_ztile_zero(const MORSE_option_t *options, - int X1, int X2, int Y1, int Y2, - const MORSE_desc_t *A, int Am, int An, int lda); -void MORSE_TASK_dtile_zero(const MORSE_option_t *options, - int X1, int X2, int Y1, int Y2, - const MORSE_desc_t *A, int Am, int An, int lda); -void MORSE_TASK_ctile_zero(const MORSE_option_t *options, - int X1, int X2, int Y1, int Y2, - const MORSE_desc_t *A, int Am, int An, int lda); -void MORSE_TASK_stile_zero(const MORSE_option_t *options, - int X1, int X2, int Y1, int Y2, - const MORSE_desc_t *A, int Am, int An, int lda); - -#include "chameleon/morse_tasks_z.h" -#include "chameleon/morse_tasks_d.h" -#include "chameleon/morse_tasks_c.h" -#include "chameleon/morse_tasks_s.h" -#include "chameleon/morse_tasks_zc.h" -#include "chameleon/morse_tasks_ds.h" - -END_C_DECLS - -#endif /* _MORSE_TASKS_H_ */ diff --git a/include/chameleon/morse_tasks_z.h b/include/chameleon/morse_tasks_z.h deleted file mode 100644 index d9a768d4771a18de8279f6a36ff1601a0fc49d1f..0000000000000000000000000000000000000000 --- a/include/chameleon/morse_tasks_z.h +++ /dev/null @@ -1,468 +0,0 @@ -/** - * - * @file morse_tasks_z.h - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon MORSE_Complex64_t elementary tasks header - * - * @version 1.0.0 - * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 - * @author Jakub Kurzak - * @author Hatem Ltaief - * @author Azzam Haidar - * @author Mathieu Faverge - * @author Emmanuel Agullo - * @author Cedric Castagnede - * @date 2010-11-15 - * @precisions normal z -> c d s - * - */ -#ifndef _MORSE_TASKS_Z_H_ -#define _MORSE_TASKS_Z_H_ - - -/** - * Declarations of QUARK wrappers (called by MORSE) - alphabetical order - */ -void MORSE_TASK_dzasum(const MORSE_option_t *options, - MORSE_enum storev, MORSE_enum uplo, int M, int N, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn); -void MORSE_TASK_zgeadd(const MORSE_option_t *options, - MORSE_enum trans, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t beta, const MORSE_desc_t *B, int Bm, int Bn, int ldb); -void MORSE_TASK_zlascal(const MORSE_option_t *options, - MORSE_enum uplo, - int m, int n, int nb, - MORSE_Complex64_t alpha, - const MORSE_desc_t *A, int Am, int An, int lda); -void MORSE_TASK_zbrdalg(const MORSE_option_t *options, - MORSE_enum uplo, - int N, int NB, - const MORSE_desc_t *A, - const MORSE_desc_t *C, int Cm, int Cn, - const MORSE_desc_t *S, int Sm, int Sn, - int i, int j, int m, int grsiz, int BAND, - int *PCOL, int *ACOL, int *MCOL); -void MORSE_TASK_zgelqt(const MORSE_option_t *options, - int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt); -void MORSE_TASK_zgemm(const MORSE_option_t *options, - MORSE_enum transA, MORSE_enum transB, - int m, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc); -void MORSE_TASK_zgemm2( const MORSE_option_t *options, - MORSE_enum transA, MORSE_enum transB, - int m, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc); -void MORSE_TASK_zgemm_f2(const MORSE_option_t *options, - MORSE_enum transA, MORSE_enum transB, - int m, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc, - const MORSE_desc_t *fake1, int fake1m, int fake1n, int szefake1, int flag1, - const MORSE_desc_t *fake2, int fake2m, int fake2n, int szefake2, int flag2); -void MORSE_TASK_zgemm_p2(const MORSE_option_t *options, - MORSE_enum transA, MORSE_enum transB, - int m, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_Complex64_t **B, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc); -void MORSE_TASK_zgemm_p2f1(const MORSE_option_t *options, - MORSE_enum transA, MORSE_enum transB, - int m, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_Complex64_t **B, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc, - const MORSE_desc_t *fake1, int fake1m, int fake1n, int szefake1, int flag1); -void MORSE_TASK_zgemm_p3(const MORSE_option_t *options, - MORSE_enum transA, MORSE_enum transB, - int m, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, MORSE_Complex64_t **C, int ldc); -void MORSE_TASK_zgeqrt(const MORSE_option_t *options, - int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt); -void MORSE_TASK_zgessm(const MORSE_option_t *options, - int m, int n, int k, int ib, int nb, - int *IPIV, - const MORSE_desc_t *L, int Lm, int Ln, int ldl, - const MORSE_desc_t *D, int Dm, int Dn, int ldd, - const MORSE_desc_t *A, int Am, int An, int lda); -void MORSE_TASK_zgessq( const MORSE_option_t *options, - int m, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn); -void MORSE_TASK_zgetrf(const MORSE_option_t *options, - int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - int *IPIV, - - MORSE_bool check_info, int iinfo); -void MORSE_TASK_zgetrf_incpiv(const MORSE_option_t *options, - int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *L, int Lm, int Ln, int ldl, - int *IPIV, - MORSE_bool check_info, int iinfo); -void MORSE_TASK_zgetrf_nopiv(const MORSE_option_t *options, - int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, int iinfo); -void MORSE_TASK_zgetrf_reclap(const MORSE_option_t *options, - int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - int *IPIV, - - MORSE_bool check_info, int iinfo, - int nbthread); -void MORSE_TASK_zgetrf_rectil(const MORSE_option_t *options, - const MORSE_desc_t A, const MORSE_desc_t *Amn, int Amnm, int Amnn, int size, - int *IPIV, - - MORSE_bool check_info, int iinfo, - int nbthread); -void MORSE_TASK_zgetrip(const MORSE_option_t *options, - int m, int n, const MORSE_desc_t *A, int Am, int An, int szeA); -void MORSE_TASK_zgetrip_f1(const MORSE_option_t *options, - int m, int n, const MORSE_desc_t *A, int Am, int An, int szeA, - const MORSE_desc_t *fake, int fakem, int faken, int szeF, int paramF); -void MORSE_TASK_zgetrip_f2(const MORSE_option_t *options, - int m, int n, const MORSE_desc_t *A, int Am, int An, int szeA, - const MORSE_desc_t *fake1, int fake1m, int fake1n, int szeF1, int paramF1, - const MORSE_desc_t *fake2, int fake2m, int fake2n, int szeF2, int paramF2); -void MORSE_TASK_zhe2ge(const MORSE_option_t *options, - MORSE_enum uplo, - int m, int n, int mb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb); -void MORSE_TASK_zhemm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, - int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc); -void MORSE_TASK_zhegst(const MORSE_option_t *options, - int itype, MORSE_enum uplo, int N, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn, int LDB, - int iinfo); -void MORSE_TASK_zherk(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, - int n, int k, int nb, - double alpha, const MORSE_desc_t *A, int Am, int An, int lda, - double beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc); -void MORSE_TASK_zher2k(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, - int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int LDB, - double beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc); -void MORSE_TASK_zherfb(const MORSE_option_t *options, - MORSE_enum uplo, - int n, int k, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *C, int Cm, int Cn, int ldc); -void MORSE_TASK_zlacpy(const MORSE_option_t *options, - MORSE_enum uplo, int m, int n, int mb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb); -void MORSE_TASK_zlacpyx(const MORSE_option_t *options, - MORSE_enum uplo, int m, int n, int mb, - int displA, const MORSE_desc_t *A, int Am, int An, int lda, - int displB, const MORSE_desc_t *B, int Bm, int Bn, int ldb); -void MORSE_TASK_zlange(const MORSE_option_t *options, - MORSE_enum norm, int M, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn); -void MORSE_TASK_zlange_max(const MORSE_option_t *options, - const MORSE_desc_t *A, int Am, int An, - const MORSE_desc_t *B, int Bm, int Bn); -void MORSE_TASK_zhessq( const MORSE_option_t *options, - MORSE_enum uplo, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ); -void MORSE_TASK_zlanhe(const MORSE_option_t *options, - MORSE_enum norm, MORSE_enum uplo, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn); -void MORSE_TASK_zlansy(const MORSE_option_t *options, - MORSE_enum norm, MORSE_enum uplo, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn); -void MORSE_TASK_zlantr(const MORSE_option_t *options, - MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, - int M, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn); -void MORSE_TASK_zlaset(const MORSE_option_t *options, - MORSE_enum uplo, int n1, int n2, MORSE_Complex64_t alpha, - MORSE_Complex64_t beta, const MORSE_desc_t *tileA, int tileAm, int tileAn, int ldtilea); -void MORSE_TASK_zlaset2(const MORSE_option_t *options, - MORSE_enum uplo, int n1, int n2, MORSE_Complex64_t alpha, - const MORSE_desc_t *tileA, int tileAm, int tileAn, int ldtilea); -void MORSE_TASK_zlaswp(const MORSE_option_t *options, - int n, const MORSE_desc_t *A, int Am, int An, int lda, - int i1, int i2, int *ipiv, int inc); -void MORSE_TASK_zlaswp_f2(const MORSE_option_t *options, - int n, const MORSE_desc_t *A, int Am, int An, int lda, - int i1, int i2, int *ipiv, int inc, - const MORSE_desc_t *fake1, int fake1m, int fake1n, int szefake1, int flag1, - const MORSE_desc_t *fake2, int fake2m, int fake2n, int szefake2, int flag2); -void MORSE_TASK_zlaswp_ontile(const MORSE_option_t *options, - const MORSE_desc_t descA, const MORSE_desc_t *A, int Am, int An, - int i1, int i2, int *ipiv, int inc, MORSE_Complex64_t *fakepanel); -void MORSE_TASK_zlaswp_ontile_f2(const MORSE_option_t *options, - const MORSE_desc_t descA, const MORSE_desc_t *A, int Am, int An, - int i1, int i2, int *ipiv, int inc, - const MORSE_desc_t *fake1, int fake1m, int fake1n, int szefake1, int flag1, - const MORSE_desc_t *fake2, int fake2m, int fake2n, int szefake2, int flag2); -void MORSE_TASK_zlaswpc_ontile(const MORSE_option_t *options, - const MORSE_desc_t descA, const MORSE_desc_t *A, int Am, int An, - int i1, int i2, int *ipiv, int inc, MORSE_Complex64_t *fakepanel); -void MORSE_TASK_zlatro(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, int m, int n, int mb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb); -void MORSE_TASK_zlauum(const MORSE_option_t *options, - MORSE_enum uplo, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda); -void MORSE_TASK_zplghe(const MORSE_option_t *options, - double bump, int m, int n, const MORSE_desc_t *A, int Am, int An, int lda, - int bigM, int m0, int n0, unsigned long long int seed ); -void MORSE_TASK_zplgsy(const MORSE_option_t *options, - MORSE_Complex64_t bump, int m, int n, const MORSE_desc_t *A, int Am, int An, int lda, - int bigM, int m0, int n0, unsigned long long int seed ); -void MORSE_TASK_zplrnt(const MORSE_option_t *options, - int m, int n, const MORSE_desc_t *A, int Am, int An, int lda, - int bigM, int m0, int n0, unsigned long long int seed ); -void MORSE_TASK_zpotrf(const MORSE_option_t *options, - MORSE_enum uplo, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - - int iinfo); -void MORSE_TASK_zshift( const MORSE_option_t *options, - int s, int m, int n, int L, - MORSE_Complex64_t *A); -void MORSE_TASK_zshiftw(const MORSE_option_t *options, - int s, int cl, int m, int n, int L, - const MORSE_desc_t *A, int Am, int An, MORSE_Complex64_t *W); -void MORSE_TASK_zssssm(const MORSE_option_t *options, - int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *L1, int L1m, int L1n, int ldl1, - const MORSE_desc_t *L2, int L2m, int L2n, int ldl2, - const int *IPIV); -void MORSE_TASK_zsymm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, - int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc); -void MORSE_TASK_zsyrk(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, - int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc); -void MORSE_TASK_zsyr2k(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, - int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int LDB, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc); -void MORSE_TASK_zsyssq( const MORSE_option_t *options, - MORSE_enum uplo, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ); -void MORSE_TASK_zsytrf_nopiv(const MORSE_option_t *options, - MORSE_enum uplo, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - int iinfo); -void MORSE_TASK_zswpab(const MORSE_option_t *options, - int i, int n1, int n2, - const MORSE_desc_t *A, int Am, int An, int szeA); -void MORSE_TASK_zswptr_ontile(const MORSE_option_t *options, - const MORSE_desc_t descA, const MORSE_desc_t *Aij, int Aijm, int Aijn, - int i1, int i2, int *ipiv, int inc, - const MORSE_desc_t *Akk, int Akkm, int Akkn, int ldak); -void MORSE_TASK_ztplqt(const MORSE_option_t *options, - int m, int n, int l, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - const MORSE_desc_t *T, int Tm, int Tn, int ldt ); -void MORSE_TASK_ztpmlqt( const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, - int M, int N, int K, int L, int ib, int nb, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb ); -void MORSE_TASK_ztpmqrt(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, - int m, int n, int k, int l, int ib, int nb, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb ); -void MORSE_TASK_ztpqrt(const MORSE_option_t *options, - int m, int n, int l, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - const MORSE_desc_t *T, int Tm, int Tn, int ldt ); -void MORSE_TASK_ztrdalg(const MORSE_option_t *options, - MORSE_enum uplo, - int N, int NB, - const MORSE_desc_t *A, - const MORSE_desc_t *C, int Cm, int Cn, - const MORSE_desc_t *S, int Sm, int Sn, - int i, int j, int m, int grsiz, int BAND, - int *PCOL, int *ACOL, int *MCOL); -void MORSE_TASK_ztradd(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t beta, const MORSE_desc_t *B, int Bm, int Bn, int ldb); -void MORSE_TASK_ztrasm(const MORSE_option_t *options, - MORSE_enum storev, MORSE_enum uplo, MORSE_enum diag, int M, int N, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn); -void MORSE_TASK_ztrmm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, - int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb); -void MORSE_TASK_ztrmm_p2(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, - int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t **B, int ldb); -void MORSE_TASK_ztrsm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, - int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb); -void MORSE_TASK_ztrssq( const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum diag, - int m, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ); -void MORSE_TASK_ztrtri(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum diag, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - - int iinfo); -void MORSE_TASK_ztslqt(const MORSE_option_t *options, - int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt); -void MORSE_TASK_ztsmlq(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, - int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt); -void MORSE_TASK_ztsmlq_hetra1(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, - int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt); -void MORSE_TASK_ztsmqr(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, - int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt); -void MORSE_TASK_ztsmqr_hetra1(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, - int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt); -void MORSE_TASK_ztsqrt(const MORSE_option_t *options, - int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt); -void MORSE_TASK_ztstrf(const MORSE_option_t *options, - int m, int n, int ib, int nb, - const MORSE_desc_t *U, int Um, int Un, int ldu, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *L, int Lm, int Ln, int ldl, - int *IPIV, - - MORSE_bool check_info, int iinfo); -void MORSE_TASK_zttmqr(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, - int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt); -void MORSE_TASK_zttqrt(const MORSE_option_t *options, - int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt); -void MORSE_TASK_zttmlq(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, - int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt); -void MORSE_TASK_zttlqt(const MORSE_option_t *options, - int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt); -void MORSE_TASK_zpamm(const MORSE_option_t *options, - int op, MORSE_enum side, MORSE_enum storev, - int m, int n, int k, int l, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *W, int Wm, int Wn, int ldw); -void MORSE_TASK_zplssq( const MORSE_option_t *options, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn, - const MORSE_desc_t *SCLSSQ, int SCLSSQm, int SCLSSQn ); -void MORSE_TASK_zplssq2( const MORSE_option_t *options, - const MORSE_desc_t *RESULT, int RESULTm, int RESULTn ); -void MORSE_TASK_zunmlq(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, - int m, int n, int ib, int nb, int k, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *C, int Cm, int Cn, int ldc); -void MORSE_TASK_zunmqr(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, - int m, int n, int k, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *C, int Cm, int Cn, int ldc); -void MORSE_TASK_zbuild( const MORSE_option_t *options, - const MORSE_desc_t *A, int Am, int An, int lda, - void *user_data, void* user_build_callback ); - -#endif diff --git a/include/chameleon/morse_tasks_zc.h b/include/chameleon/morse_tasks_zc.h deleted file mode 100644 index ffeafdb5c5477cd34115cdafc2abc78f5c714efa..0000000000000000000000000000000000000000 --- a/include/chameleon/morse_tasks_zc.h +++ /dev/null @@ -1,41 +0,0 @@ -/** - * - * @file morse_tasks_zc.h - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon complex mixed precision elementary tasks header - * - * @version 1.0.0 - * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 - * @author Jakub Kurzak - * @author Hatem Ltaief - * @author Mathieu Faverge - * @author Emmanuel Agullo - * @author Cedric Castagnede - * @date 2010-11-15 - * @precisions mixed zc -> ds - * - */ -#ifndef _MORSE_TASKS_Z_H_ -#define _MORSE_TASKS_Z_H_ - -/** - * Declarations of QUARK wrappers (called by MORSE) - alphabetical order - */ -void MORSE_TASK_clag2z(MORSE_option_t *options, - int m, int n, int nb, - MORSE_desc_t *A, int Am, int An, int lda, - MORSE_desc_t *B, int Bm, int Bn, int ldb); -void MORSE_TASK_zlag2c(MORSE_option_t *options, - int m, int n, int nb, - MORSE_desc_t *A, int Am, int An, int lda, - MORSE_desc_t *B, int Bm, int Bn, int ldb); - -#endif diff --git a/include/chameleon/morse_z.h b/include/chameleon/morse_z.h deleted file mode 100644 index b05bfa5a5a5fb38c60497f031a20fba1a4e41c99..0000000000000000000000000000000000000000 --- a/include/chameleon/morse_z.h +++ /dev/null @@ -1,336 +0,0 @@ -/** - * - * @file morse_z.h - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon MORSE_complex64_t wrappers - * - * @version 1.0.0 - * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 - * @author Jakub Kurzak - * @author Hatem Ltaief - * @author Azzam Haidar - * @author Mathieu Faverge - * @author Emmanuel Agullo - * @author Cedric Castagnede - * @date 2010-11-15 - * @precisions normal z -> c d s - * - */ -#ifndef _MORSE_Z_H_ -#define _MORSE_Z_H_ - -BEGIN_C_DECLS - -/** - * Declarations of math functions (LAPACK layout) - alphabetical order - */ -int MORSE_zgeadd(MORSE_enum trans, int M, int N, MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t beta, MORSE_Complex64_t *B, int LDB); -//int MORSE_zgebrd(int M, int N, MORSE_Complex64_t *A, int LDA, double *D, double *E, MORSE_desc_t *descT); -//int MORSE_zgecon(MORSE_enum norm, int N, MORSE_Complex64_t *A, int LDA, double anorm, double *rcond); -//int MORSE_zpocon(MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA, double anorm, double *rcond); -int MORSE_zgelqf(int M, int N, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descT); -int MORSE_zgelqs(int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descT, MORSE_Complex64_t *B, int LDB); -int MORSE_zgels(MORSE_enum trans, int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descT, MORSE_Complex64_t *B, int LDB); -int MORSE_zgemm(MORSE_enum transA, MORSE_enum transB, int M, int N, int K, MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC); -int MORSE_zgeqrf(int M, int N, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descT); -int MORSE_zgeqrs(int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descT, MORSE_Complex64_t *B, int LDB); -//int MORSE_zgesv(int N, int NRHS, MORSE_Complex64_t *A, int LDA, int *IPIV, MORSE_Complex64_t *B, int LDB); -int MORSE_zgesv_incpiv(int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descL, int *IPIV, MORSE_Complex64_t *B, int LDB); -int MORSE_zgesv_nopiv(int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB); -int MORSE_zgesvd(MORSE_enum jobu, MORSE_enum jobvt, int M, int N, MORSE_Complex64_t *A, int LDA, double *S, MORSE_desc_t *descT, MORSE_Complex64_t *U, int LDU, MORSE_Complex64_t *VT, int LDVT); -//int MORSE_zgetrf(int M, int N, MORSE_Complex64_t *A, int LDA, int *IPIV); -int MORSE_zgetrf_incpiv(int M, int N, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descL, int *IPIV); -int MORSE_zgetrf_nopiv(int M, int N, MORSE_Complex64_t *A, int LDA); -//int MORSE_zgetri(int N, MORSE_Complex64_t *A, int LDA, int *IPIV); -//int MORSE_zgetrs(MORSE_enum trans, int N, int NRHS, MORSE_Complex64_t *A, int LDA, int *IPIV, MORSE_Complex64_t *B, int LDB); -int MORSE_zgetrs_incpiv(MORSE_enum trans, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descL, int *IPIV, MORSE_Complex64_t *B, int LDB); -int MORSE_zgetrs_nopiv(MORSE_enum trans, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB); -int MORSE_zhemm(MORSE_enum side, MORSE_enum uplo, int M, int N, MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC); -int MORSE_zherk(MORSE_enum uplo, MORSE_enum trans, int N, int K, double alpha, MORSE_Complex64_t *A, int LDA, double beta, MORSE_Complex64_t *C, int LDC); -int MORSE_zher2k(MORSE_enum uplo, MORSE_enum trans, int N, int K, MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, double beta, MORSE_Complex64_t *C, int LDC); -//int MORSE_zheev(MORSE_enum jobz, MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA, double *W, MORSE_desc_t *descT, MORSE_Complex64_t *Q, int LDQ); -int MORSE_zheevd(MORSE_enum jobz, MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA, double *W, MORSE_desc_t *descT); -//int MORSE_zhegv(MORSE_enum itype, MORSE_enum jobz, MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, double *W, MORSE_desc_t *descT, MORSE_Complex64_t *Q, int LDQ); -//int MORSE_zhegvd(MORSE_enum itype, MORSE_enum jobz, MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, double *W, MORSE_desc_t *descT, MORSE_Complex64_t *Q, int LDQ); -//int MORSE_zhegst(MORSE_enum itype, MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB); -int MORSE_zhetrd(MORSE_enum jobz, MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA, double *D, double *E, MORSE_desc_t *descT, MORSE_Complex64_t *Q, int LDQ); -int MORSE_zlacpy(MORSE_enum uplo, int M, int N, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB); -double MORSE_zlange(MORSE_enum norm, int M, int N, MORSE_Complex64_t *A, int LDA); -double MORSE_zlanhe(MORSE_enum norm, MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA); -double MORSE_zlansy(MORSE_enum norm, MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA); -double MORSE_zlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, int M, int N, MORSE_Complex64_t *A, int LDA); -int MORSE_zlascal(MORSE_enum uplo, int M, int N, MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA); -int MORSE_zlaset(MORSE_enum uplo, int M, int N, MORSE_Complex64_t alpha, MORSE_Complex64_t beta, MORSE_Complex64_t *A, int LDA); -//int MORSE_zlaswp(int N, MORSE_Complex64_t *A, int LDA, int K1, int K2, int *IPIV, int INCX); -//int MORSE_zlaswpc(int N, MORSE_Complex64_t *A, int LDA, int K1, int K2, int *IPIV, int INCX); -int MORSE_zlauum(MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA); -int MORSE_zplghe( double bump, MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA, unsigned long long int seed ); -int MORSE_zplgsy( MORSE_Complex64_t bump, MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA, unsigned long long int seed ); -int MORSE_zplrnt( int M, int N, MORSE_Complex64_t *A, int LDA, unsigned long long int seed ); -int MORSE_zposv(MORSE_enum uplo, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB); -int MORSE_zpotrf(MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA); -int MORSE_zsytrf(MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA); -int MORSE_zpotri(MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA); -int MORSE_zpotrimm(MORSE_enum uplo, int N, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, MORSE_Complex64_t *C, int LDC); -int MORSE_zpotrs(MORSE_enum uplo, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB); -int MORSE_zsymm(MORSE_enum side, MORSE_enum uplo, int M, int N, MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC); -int MORSE_zsyrk(MORSE_enum uplo, MORSE_enum trans, int N, int K, MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC); -int MORSE_zsyr2k(MORSE_enum uplo, MORSE_enum trans, int N, int K, MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, MORSE_Complex64_t beta, MORSE_Complex64_t *C, int LDC); -int MORSE_zsysv(MORSE_enum uplo, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB); -int MORSE_zsytrs(MORSE_enum uplo, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB); -int MORSE_ztpgqrt( int M, int N, int K, int L, MORSE_Complex64_t *V1, int LDV1, MORSE_desc_t *descT1, MORSE_Complex64_t *V2, int LDV2, MORSE_desc_t *descT2, MORSE_Complex64_t *Q1, int LDQ1, MORSE_Complex64_t *Q2, int LDQ2 ); -int MORSE_ztpqrt( int M, int N, int L, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, MORSE_desc_t *descT ); -int MORSE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t beta, MORSE_Complex64_t *B, int LDB); -int MORSE_ztrmm(MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, int N, int NRHS, MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB); -int MORSE_ztrsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, int N, int NRHS, MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB); -int MORSE_ztrsmpl(int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descL, int *IPIV, MORSE_Complex64_t *B, int LDB); -int MORSE_ztrsmrv(MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, int N, int NRHS, MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB); -int MORSE_ztrtri(MORSE_enum uplo, MORSE_enum diag, int N, MORSE_Complex64_t *A, int LDA); -int MORSE_zunglq(int M, int N, int K, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descT, MORSE_Complex64_t *B, int LDB); -int MORSE_zungqr(int M, int N, int K, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descT, MORSE_Complex64_t *B, int LDB); -int MORSE_zunmlq(MORSE_enum side, MORSE_enum trans, int M, int N, int K, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descT, MORSE_Complex64_t *B, int LDB); -int MORSE_zunmqr(MORSE_enum side, MORSE_enum trans, int M, int N, int K, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descT, MORSE_Complex64_t *B, int LDB); - -//int MORSE_zgecfi(int m, int n, MORSE_Complex64_t *A, MORSE_enum fin, int imb, int inb, MORSE_enum fout, int omb, int onb); -//int MORSE_zgetmi(int m, int n, MORSE_Complex64_t *A, MORSE_enum fin, int mb, int nb); - -/** - * Declarations of math functions (tile layout) - alphabetical order - */ -int MORSE_zgeadd_Tile(MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_Complex64_t beta, MORSE_desc_t *B); -//int MORSE_zgebrd_Tile(MORSE_desc_t *A, double *D, double *E, MORSE_desc_t *T); -//int MORSE_zgecon_Tile(MORSE_enum norm, MORSE_desc_t *A, double anorm, double *rcond); -//int MORSE_zpocon_Tile(MORSE_enum uplo, MORSE_desc_t *A, double anorm, double *rcond); -int MORSE_zgelqf_Tile(MORSE_desc_t *A, MORSE_desc_t *T); -int MORSE_zgelqs_Tile(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B); -int MORSE_zgels_Tile(MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B); -int MORSE_zgemm_Tile(MORSE_enum transA, MORSE_enum transB, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t beta, MORSE_desc_t *C); -int MORSE_zgeqrf_Tile(MORSE_desc_t *A, MORSE_desc_t *T); -int MORSE_zgeqrs_Tile(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B); -//int MORSE_zgesv_Tile(MORSE_desc_t *A, int *IPIV, MORSE_desc_t *B); -int MORSE_zgesv_incpiv_Tile(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B); -int MORSE_zgesv_nopiv_Tile(MORSE_desc_t *A, MORSE_desc_t *B); -int MORSE_zgesvd_Tile(MORSE_enum jobu, MORSE_enum jobvt, MORSE_desc_t *A, double *S, MORSE_desc_t *T, MORSE_Complex64_t *U, int LDU, MORSE_Complex64_t *VT, int LDVT); -//int MORSE_zgetrf_Tile(MORSE_desc_t *A, int *IPIV); -int MORSE_zgetrf_incpiv_Tile(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV); -int MORSE_zgetrf_nopiv_Tile(MORSE_desc_t *A); -//int MORSE_zgetri_Tile(MORSE_desc_t *A, int *IPIV); -//int MORSE_zgetrs_Tile(MORSE_enum trans, MORSE_desc_t *A, int *IPIV, MORSE_desc_t *B); -int MORSE_zgetrs_incpiv_Tile(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B); -int MORSE_zgetrs_nopiv_Tile(MORSE_desc_t *A, MORSE_desc_t *B); -int MORSE_zhemm_Tile(MORSE_enum side, MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t beta, MORSE_desc_t *C); -int MORSE_zherk_Tile(MORSE_enum uplo, MORSE_enum trans, double alpha, MORSE_desc_t *A, double beta, MORSE_desc_t *C); -int MORSE_zher2k_Tile(MORSE_enum uplo, MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, double beta, MORSE_desc_t *C); -//int MORSE_zheev_Tile(MORSE_enum jobz, MORSE_enum uplo, MORSE_desc_t *A, double *W, MORSE_desc_t *T, MORSE_Complex64_t *Q, int LDQ); -int MORSE_zheevd_Tile(MORSE_enum jobz, MORSE_enum uplo, MORSE_desc_t *A, double *W, MORSE_desc_t *T); -//int MORSE_zhegv_Tile( MORSE_enum itype, MORSE_enum jobz, MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, double *W, MORSE_desc_t *T, MORSE_desc_t *Q); -//int MORSE_zhegvd_Tile(MORSE_enum itype, MORSE_enum jobz, MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, double *W, MORSE_desc_t *T, MORSE_desc_t *Q); -//int MORSE_zhegst_Tile(MORSE_enum itype, MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B); -int MORSE_zhetrd_Tile(MORSE_enum jobz, MORSE_enum uplo, MORSE_desc_t *A, double *D, double *E, MORSE_desc_t *T, MORSE_Complex64_t *Q, int LDQ); -int MORSE_zlacpy_Tile(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B); -double MORSE_zlange_Tile(MORSE_enum norm, MORSE_desc_t *A); -double MORSE_zlanhe_Tile(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A); -double MORSE_zlansy_Tile(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A); -double MORSE_zlantr_Tile(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A); -int MORSE_zlascal_Tile(MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_desc_t *A); -int MORSE_zlaset_Tile(MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_Complex64_t beta, MORSE_desc_t *A); -//int MORSE_zlaswp_Tile(MORSE_desc_t *A, int K1, int K2, int *IPIV, int INCX); -//int MORSE_zlaswpc_Tile(MORSE_desc_t *A, int K1, int K2, int *IPIV, int INCX); -int MORSE_zlauum_Tile(MORSE_enum uplo, MORSE_desc_t *A); -int MORSE_zplghe_Tile(double bump, MORSE_enum uplo, MORSE_desc_t *A, unsigned long long int seed ); -int MORSE_zplgsy_Tile(MORSE_Complex64_t bump, MORSE_enum uplo, MORSE_desc_t *A, unsigned long long int seed ); -int MORSE_zplrnt_Tile(MORSE_desc_t *A, unsigned long long int seed ); -int MORSE_zposv_Tile(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B); -int MORSE_zpotrf_Tile(MORSE_enum uplo, MORSE_desc_t *A); -int MORSE_zsytrf_Tile(MORSE_enum uplo, MORSE_desc_t *A); -int MORSE_zpotri_Tile(MORSE_enum uplo, MORSE_desc_t *A); -int MORSE_zpotrimm_Tile(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *C); -int MORSE_zpotrs_Tile(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B); -int MORSE_zsymm_Tile(MORSE_enum side, MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t beta, MORSE_desc_t *C); -int MORSE_zsyrk_Tile(MORSE_enum uplo, MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_Complex64_t beta, MORSE_desc_t *C); -int MORSE_zsyr2k_Tile(MORSE_enum uplo, MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t beta, MORSE_desc_t *C); -int MORSE_zsysv_Tile(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B); -int MORSE_zsytrs_Tile(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B); -int MORSE_ztpgqrt_Tile( int L, MORSE_desc_t *V1, MORSE_desc_t *T1, MORSE_desc_t *V2, MORSE_desc_t *T2, MORSE_desc_t *Q1, MORSE_desc_t *Q2 ); -int MORSE_ztpqrt_Tile( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T ); -int MORSE_ztradd_Tile(MORSE_enum uplo, MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_Complex64_t beta, MORSE_desc_t *B); -int MORSE_ztrmm_Tile(MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B); -int MORSE_ztrsm_Tile(MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B); -int MORSE_ztrsmpl_Tile(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B); -int MORSE_ztrsmrv_Tile(MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B); -int MORSE_ztrtri_Tile(MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A); -int MORSE_zunglq_Tile(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B); -int MORSE_zungqr_Tile(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B); -int MORSE_zunmlq_Tile(MORSE_enum side, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B); -int MORSE_zunmqr_Tile(MORSE_enum side, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B); - -/** - * Declarations of math functions (tile layout, asynchronous execution) - alphabetical order - */ -int MORSE_zgeadd_Tile_Async(MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_Complex64_t beta, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zgebrd_Tile_Async(MORSE_desc_t *A, double *D, double *E, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zgecon_Tile_Async(MORSE_enum norm, MORSE_desc_t *A, double anorm, double *rcond, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zpocon_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, double anorm, double *rcond, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgelqf_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgelqs_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgels_Tile_Async(MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgemm_Tile_Async(MORSE_enum transA, MORSE_enum transB, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgeqrf_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgeqrs_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zgesv_Tile_Async(MORSE_desc_t *A, int *IPIV, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgesv_incpiv_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgesv_nopiv_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgesvd_Tile_Async(MORSE_enum jobu, MORSE_enum jobvt, MORSE_desc_t *A, double *S, MORSE_desc_t *T, MORSE_Complex64_t *U, int LDU, MORSE_Complex64_t *VT, int LDVT, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zgetrf_Tile_Async(MORSE_desc_t *A, int *IPIV, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgetrf_incpiv_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgetrf_nopiv_Tile_Async(MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zgetri_Tile_Async(MORSE_desc_t *A, int *IPIV, MORSE_desc_t *W, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zgetrs_Tile_Async(MORSE_enum trans, MORSE_desc_t *A, int *IPIV, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgetrs_incpiv_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgetrs_nopiv_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zhemm_Tile_Async(MORSE_enum side, MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zherk_Tile_Async(MORSE_enum uplo, MORSE_enum trans, double alpha, MORSE_desc_t *A, double beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zher2k_Tile_Async(MORSE_enum uplo, MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, double beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zheev_Tile_Async(MORSE_enum jobz, MORSE_enum uplo, MORSE_desc_t *A, double *W, MORSE_desc_t *T, MORSE_Complex64_t *Q, int LDQ, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zheevd_Tile_Async(MORSE_enum jobz, MORSE_enum uplo, MORSE_desc_t *A, double *W, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zhegv_Tile_Async( MORSE_enum itype, MORSE_enum jobz, MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, double *W, MORSE_desc_t *T, MORSE_desc_t *Q, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zhegvd_Tile_Async(MORSE_enum itype, MORSE_enum jobz, MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, double *W, MORSE_desc_t *T, MORSE_desc_t *Q, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zhegst_Tile_Async(MORSE_enum itype, MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zhetrd_Tile_Async(MORSE_enum jobz, MORSE_enum uplo, MORSE_desc_t *A, double *D, double *E, MORSE_desc_t *T, MORSE_Complex64_t *Q, int LDQ, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zlacpy_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zlange_Tile_Async(MORSE_enum norm, MORSE_desc_t *A, double *value, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zlanhe_Tile_Async(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *value, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zlansy_Tile_Async(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *value, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zlantr_Tile_Async(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A, double *value, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zlascal_Tile_Async(MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zlaset_Tile_Async(MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_Complex64_t beta, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zlaswp_Tile_Async(MORSE_desc_t *A, int K1, int K2, int *IPIV, int INCX, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zlaswpc_Tile_Async(MORSE_desc_t *A, int K1, int K2, int *IPIV, int INCX, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zlauum_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zplghe_Tile_Async(double bump, MORSE_enum uplo, MORSE_desc_t *A, unsigned long long int seed, MORSE_sequence_t *sequence, MORSE_request_t *request ); -int MORSE_zplgsy_Tile_Async(MORSE_Complex64_t bump, MORSE_enum uplo, MORSE_desc_t *A, unsigned long long int seed, MORSE_sequence_t *sequence, MORSE_request_t *request ); -int MORSE_zplrnt_Tile_Async(MORSE_desc_t *A, unsigned long long int seed, MORSE_sequence_t *sequence, MORSE_request_t *request ); -int MORSE_zposv_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zpotrf_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zsytrf_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zpotri_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zpotrimm_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zpotrs_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zsysv_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zsytrs_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zsymm_Tile_Async(MORSE_enum side, MORSE_enum uplo, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zsyrk_Tile_Async(MORSE_enum uplo, MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_Complex64_t beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zsyr2k_Tile_Async(MORSE_enum uplo, MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_Complex64_t beta, MORSE_desc_t *C, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_ztpgqrt_Tile_Async( int L, MORSE_desc_t *V1, MORSE_desc_t *T1, MORSE_desc_t *V2, MORSE_desc_t *T2, MORSE_desc_t *Q1, MORSE_desc_t *Q2, MORSE_sequence_t *sequence, MORSE_request_t *request ); -int MORSE_ztpqrt_Tile_Async( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T, MORSE_sequence_t *sequence, MORSE_request_t *request ); -int MORSE_ztradd_Tile_Async(MORSE_enum uplo, MORSE_enum trans, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_Complex64_t beta, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_ztrmm_Tile_Async(MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_ztrsm_Tile_Async(MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_ztrsmpl_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_ztrsmrv_Tile_Async(MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, MORSE_Complex64_t alpha, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_ztrtri_Tile_Async(MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zunglq_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zungqr_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zunmlq_Tile_Async(MORSE_enum side, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zunmqr_Tile_Async(MORSE_enum side, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); - -//int MORSE_zgecfi_Async(int m, int n, MORSE_Complex64_t *A, MORSE_enum f_in, int imb, int inb, MORSE_enum f_out, int omb, int onb, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zgetmi_Async(int m, int n, MORSE_Complex64_t *A, MORSE_enum f_in, int mb, int inb, MORSE_sequence_t *sequence, MORSE_request_t *request); - -/** - * Declarations of libhqr dependent functions. - */ -/** - * Declarations of math functions (LAPACK layout) - alphabetical order - */ -int MORSE_zgels_param(const libhqr_tree_t *qrtree, MORSE_enum trans, int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descTS, MORSE_desc_t *descTT, MORSE_Complex64_t *B, int LDB); -int MORSE_zgelqf_param(const libhqr_tree_t *qrtree, int M, int N, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descTS, MORSE_desc_t *descTT); -int MORSE_zgelqs_param(const libhqr_tree_t *qrtree, int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descTS, MORSE_desc_t *descTT, MORSE_Complex64_t *B, int LDB); -int MORSE_zgeqrf_param(const libhqr_tree_t *qrtree, int M, int N, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descTS, MORSE_desc_t *descTT); -int MORSE_zgeqrs_param(const libhqr_tree_t *qrtree, int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descTS, MORSE_desc_t *TT, MORSE_Complex64_t *B, int LDB); -int MORSE_zunglq_param(const libhqr_tree_t *qrtree, int M, int N, int K, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descTS, MORSE_desc_t *TT, MORSE_Complex64_t *B, int LDB); -int MORSE_zungqr_param(const libhqr_tree_t *qrtree, int M, int N, int K, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descTS, MORSE_desc_t *descTT, MORSE_Complex64_t *B, int LDB); -int MORSE_zunmlq_param(const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, int M, int N, int K, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descT, MORSE_desc_t *TT, MORSE_Complex64_t *B, int LDB); -int MORSE_zunmlq_param(const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, int M, int N, int K, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descT, MORSE_desc_t *TT, MORSE_Complex64_t *B, int LDB); -int MORSE_zunmqr_param(const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, int M, int N, int K, MORSE_Complex64_t *A, int LDA, MORSE_desc_t *descTS, MORSE_desc_t *TT, MORSE_Complex64_t *B, int LDB); -/** - * Declarations of math functions (tile layout) - alphabetical order - */ -int MORSE_zgels_param_Tile(const libhqr_tree_t *qrtree, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B); -int MORSE_zgelqf_param_Tile(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT); -int MORSE_zgelqs_param_Tile(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B); -int MORSE_zgeqrf_param_Tile(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT); -int MORSE_zgeqrs_param_Tile(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B); -int MORSE_zunglq_param_Tile(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B); -int MORSE_zungqr_param_Tile(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B); -int MORSE_zungqr_param_Tile(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B); -int MORSE_zunmlq_param_Tile(const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B); -int MORSE_zunmqr_param_Tile(const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B); -/** - * Declarations of math functions (tile layout, asynchronous execution) - alphabetical order - */ -int MORSE_zgels_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgelqf_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgelqs_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgeqrf_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zgeqrs_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zunglq_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zungqr_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zunmlq_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); -int MORSE_zunmqr_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *TS, MORSE_desc_t *TT, MORSE_desc_t *B, MORSE_sequence_t *sequence, MORSE_request_t *request); - -/** - * Declarations of workspace allocation functions (tile layout) - alphabetical order - */ -int MORSE_Alloc_Workspace_zgesv_incpiv( int N, MORSE_desc_t **descL, int **IPIV, int p, int q); -int MORSE_Alloc_Workspace_zgetrf_incpiv(int M, int N, MORSE_desc_t **descL, int **IPIV, int p, int q); - -int MORSE_Alloc_Workspace_zgebrd(int M, int N, MORSE_desc_t **descT, int p, int q); -int MORSE_Alloc_Workspace_zgeev( int N, MORSE_desc_t **descT, int p, int q); -int MORSE_Alloc_Workspace_zgehrd(int N, MORSE_desc_t **descT, int p, int q); -int MORSE_Alloc_Workspace_zgelqf(int M, int N, MORSE_desc_t **T, int p, int q); -int MORSE_Alloc_Workspace_zgels( int M, int N, MORSE_desc_t **T, int p, int q); -int MORSE_Alloc_Workspace_zgeqrf(int M, int N, MORSE_desc_t **T, int p, int q); -int MORSE_Alloc_Workspace_zgesvd(int M, int N, MORSE_desc_t **descT, int p, int q); -int MORSE_Alloc_Workspace_zheev( int M, int N, MORSE_desc_t **descT, int p, int q); -int MORSE_Alloc_Workspace_zheevd( int M, int N, MORSE_desc_t **descT, int p, int q); -int MORSE_Alloc_Workspace_zhegv( int M, int N, MORSE_desc_t **descT, int p, int q); -int MORSE_Alloc_Workspace_zhegvd( int M, int N, MORSE_desc_t **descT, int p, int q); -int MORSE_Alloc_Workspace_zhetrd(int M, int N, MORSE_desc_t **descT, int p, int q); - -/** - * Declarations of workspace allocation functions (tile layout, asynchronous execution) - alphabetical order - */ -int MORSE_Alloc_Workspace_zgetri_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *W); - -/* Warning: Those functions are deprecated */ -int MORSE_Alloc_Workspace_zgelqf_Tile(int M, int N, MORSE_desc_t **descT, int p, int q); -int MORSE_Alloc_Workspace_zgels_Tile( int M, int N, MORSE_desc_t **descT, int p, int q); -int MORSE_Alloc_Workspace_zgeqrf_Tile(int M, int N, MORSE_desc_t **descT, int p, int q); -int MORSE_Alloc_Workspace_zgesv_incpiv_Tile (int N, MORSE_desc_t **descL, int **IPIV, int p, int q); -int MORSE_Alloc_Workspace_zgetrf_incpiv_Tile(int N, MORSE_desc_t **descL, int **IPIV, int p, int q); - -/** - * Auxiliary function prototypes - */ -int MORSE_zLapack_to_Tile(MORSE_Complex64_t *Af77, int LDA, MORSE_desc_t *A); -int MORSE_zTile_to_Lapack(MORSE_desc_t *A, MORSE_Complex64_t *Af77, int LDA); - -/** - * User Builder function prototypes - */ -int MORSE_zbuild(MORSE_enum uplo, int M, int N, MORSE_Complex64_t *A, int LDA, void *user_data, void* user_build_callback); -int MORSE_zbuild_Tile(MORSE_enum uplo, MORSE_desc_t *A, void *user_data, void* user_build_callback ); -int MORSE_zbuild_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, void *user_data, void* user_build_callback, MORSE_sequence_t *sequence, MORSE_request_t *request); - -END_C_DECLS - -#endif diff --git a/include/chameleon/morse_zc.h b/include/chameleon/morse_zc.h deleted file mode 100644 index c1ebf5e6ca902efd83437538d5761450b408cd8b..0000000000000000000000000000000000000000 --- a/include/chameleon/morse_zc.h +++ /dev/null @@ -1,55 +0,0 @@ -/** - * - * @file morse_zc.h - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon mixed precision wrappers header - * - * @version 1.0.0 - * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 - * @author Mathieu Faverge - * @author Emmanuel Agullo - * @author Cedric Castagnede - * @date 2010-11-15 - * @precisions mixed zc -> ds - * - */ -#ifndef _MORSE_ZC_H_ -#define _MORSE_ZC_H_ - -BEGIN_C_DECLS - -/** - * Declarations of math functions (LAPACK layout) - alphabetical order - */ -//int MORSE_zcgesv(int N, int NRHS, MORSE_Complex64_t *A, int LDA, int * IPIV, MORSE_Complex64_t *B, int LDB, MORSE_Complex64_t *X, int LDX, int *ITER); -//int MORSE_zcposv(MORSE_enum uplo, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, MORSE_Complex64_t *X, int LDX, int *ITER); -//int MORSE_zcgels(MORSE_enum trans, int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, MORSE_Complex64_t *X, int LDX, int *ITER); -//int MORSE_zcungesv(MORSE_enum trans, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, int LDB, MORSE_Complex64_t *X, int LDX, int *ITER); - -/** - * Declarations of math functions (tile layout) - alphabetical order - */ -//int MORSE_zcgesv_Tile(MORSE_desc_t *A, int *IPIV, MORSE_desc_t *B, MORSE_desc_t *X, int *ITER); -//int MORSE_zcposv_Tile(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *X, int *ITER); -/* int MORSE_zcgels_Tile(MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_desc_t *X, int *ITER); */ -//int MORSE_zcungesv_Tile(MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_desc_t *X, int *ITER); - -/** - * Declarations of math functions (tile layout, asynchronous execution) - alphabetical order - */ -//int MORSE_zcgesv_Tile_Async(MORSE_desc_t *A, int *IPIV, MORSE_desc_t *B, MORSE_desc_t *X, int *ITER, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zcposv_Tile_Async(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *X, int *ITER, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zcgels_Tile_Async(MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_desc_t *X, int *ITER, MORSE_sequence_t *sequence, MORSE_request_t *request); -//int MORSE_zcungesv_Tile_Async(MORSE_enum trans, MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, MORSE_desc_t *X, int *ITER, MORSE_sequence_t *sequence, MORSE_request_t *request); - -END_C_DECLS - -#endif diff --git a/include/chameleon/morse_runtime.h b/include/chameleon/runtime.h similarity index 60% rename from include/chameleon/morse_runtime.h rename to include/chameleon/runtime.h index e0f1092f609b769b644340b5d104ce4cff806b1c..88f73362b85dde8538369930c89fd5a08de730f8 100644 --- a/include/chameleon/morse_runtime.h +++ b/include/chameleon/runtime.h @@ -1,6 +1,6 @@ /** * - * @file morse_runtime.h + * @file runtime.h * * @copyright 2009-2014 The University of Tennessee and The University of * Tennessee Research Foundation. All rights reserved. @@ -9,7 +9,7 @@ * *** * - * @brief Chameleon runtimes API + * @brief The common runtimes API * @version 1.0.0 * @author Mathieu Faverge * @author Cedric Augonnet @@ -17,11 +17,13 @@ * @date 2011-06-01 * */ -#ifndef _MORSE_RUNTIME_H_ -#define _MORSE_RUNTIME_H_ +#ifndef _chameleon_runtime_h_ +#define _chameleon_runtime_h_ -#include "chameleon/chameleon_config.h" -#include "chameleon/morse_struct.h" +#include "chameleon/config.h" +#include "chameleon/constants.h" +#include "chameleon/runtime_struct.h" +#include "chameleon/tasks.h" BEGIN_C_DECLS @@ -36,41 +38,41 @@ BEGIN_C_DECLS * @brief Create the runtime specific options in the context before starting it * * @param[in,out] ctxt - * The Chameleon context to initialize for the runtime. + * The runtime context to initialize for the runtime. */ void -RUNTIME_context_create( MORSE_context_t *ctxt ); +RUNTIME_context_create( CHAM_context_t *ctxt ); /** * @brief Destroy the specific options in the context after this last one has * been stop. * * @param[in,out] ctxt - * The Chameleon context in which the runtime specific options must + * The runtime context in which the runtime specific options must * be destroyed */ void -RUNTIME_context_destroy( MORSE_context_t *ctxt ); +RUNTIME_context_destroy( CHAM_context_t *ctxt ); /** * @brief Enable a global option of the runtime. - * @warning Should be called only by MORSE_Enable() + * @warning Should be called only by RUNTIME_Enable() * * @param[in] option - * @arg MORSE_PROFILING_MODE: start the profiling mode of the runtime. + * @arg CHAMELEON_PROFILING_MODE: start the profiling mode of the runtime. */ void -RUNTIME_enable( MORSE_enum option ); +RUNTIME_enable( int option ); /** * @brief Disable a global option of the runtime. - * @warning Should be called only by MORSE_Disable() + * @warning Should be called only by RUNTIME_Disable() * * @param[in] option - * @arg MORSE_PROFILING_MODE: stop the profiling mode of the runtime. + * @arg CHAMELEON_PROFILING_MODE: stop the profiling mode of the runtime. */ void -RUNTIME_disable( MORSE_enum option ); +RUNTIME_disable( int option ); /** * @} @@ -84,7 +86,7 @@ RUNTIME_disable( MORSE_enum option ); * @brief Initialize the scheduler with the given parameters * * @param[in,out] ctxt - * The Chameleon context in which to initialize the runtime support. + * The runtime context in which to initialize the runtime support. * * @param[in] ncpus * Defines the total number of cores given to the runtime per @@ -108,7 +110,7 @@ RUNTIME_disable( MORSE_enum option ); * */ int -RUNTIME_init( MORSE_context_t *ctxt, +RUNTIME_init( CHAM_context_t *ctxt, int ncpus, int ncudas, int nthreads_per_worker ); @@ -117,90 +119,90 @@ RUNTIME_init( MORSE_context_t *ctxt, * @brief Finalize the scheduler used for the computations. * * @param[in,out] ctxt - * The Chameleon context for which the runtime system must be shut down. + * The runtime context for which the runtime system must be shut down. */ void -RUNTIME_finalize( MORSE_context_t *ctxt ); +RUNTIME_finalize( CHAM_context_t *ctxt ); /** * @brief Suspend the processing of new tasks submitted to the runtime system. * * @param[in] ctxt - * The Chameleon context for which the suspension must be made. + * The runtime context for which the suspension must be made. */ void -RUNTIME_pause( MORSE_context_t *ctxt ); +RUNTIME_pause( CHAM_context_t *ctxt ); /** * @brief Resume the processing of new tasks submitted to the runtime system. * * @param[in] ctxt - * The Chameleon context for which the execution must be resumed. + * The runtime context for which the execution must be resumed. */ void -RUNTIME_resume( MORSE_context_t *ctxt ); +RUNTIME_resume( CHAM_context_t *ctxt ); /** * @brief Wait for completion of all tasks submitted to the runtime. * * @param[in] ctxt - * The Chameleon context in which the task completion is performed. + * The runtime context in which the task completion is performed. */ void -RUNTIME_barrier( MORSE_context_t *ctxt ); +RUNTIME_barrier( CHAM_context_t *ctxt ); /** * @brief Show the progress of the computations when enabled. * * @param[in] ctxt - * The Chameleon context for which the context needs to be printed. + * The runtime context for which the context needs to be printed. */ void -RUNTIME_progress( MORSE_context_t *ctxt ); +RUNTIME_progress( CHAM_context_t *ctxt ); /** * @brief Get the rank of the current worker for the runtime. * * @param[in] ctxt - * The Chameleon context for which the thread rank is asked. + * The runtime context for which the thread rank is asked. * * @retval The rank of the current thread in the runtime. */ int -RUNTIME_thread_rank( MORSE_context_t *ctxt ); +RUNTIME_thread_rank( CHAM_context_t *ctxt ); /** * @brief Get the number of CPU workers of the runtime. * * @param[in] ctxt - * The Chameleon context for which the number of workers is requested + * The runtime context for which the number of workers is requested * * @retval The number of threads currently used by the runtime. */ int -RUNTIME_thread_size( MORSE_context_t *ctxt ); +RUNTIME_thread_size( CHAM_context_t *ctxt ); /** * @brief Get the MPI comm rank of the current process related to the runtime. * * @param[in] ctxt - * The Chameleon context for which the rank is asked. + * The runtime context for which the rank is asked. * * @retval The rank of the process in the communicator known by the runtime. */ int -RUNTIME_comm_rank( MORSE_context_t *ctxt ); +RUNTIME_comm_rank( CHAM_context_t *ctxt ); /** * @brief Get the MPI comm size related to the runtime. * * @param[in] ctxt - * The Chameleon context for which the communicator size is asked. + * The runtime context for which the communicator size is asked. * * @retval The size of the communicator known by the runtime. */ int -RUNTIME_comm_size( MORSE_context_t *ctxt ); +RUNTIME_comm_size( CHAM_context_t *ctxt ); /** * @brief Set the data tags bounds based on runtime tags limit. @@ -231,57 +233,57 @@ RUNTIME_comm_set_tag_sizes( int user_tag_width, * @brief Create a sequence structure associated to a given context. * * @param[in] ctxt - * The Chameleon context in which the sequence is created. + * The runtime context in which the sequence is created. * * @param[in,out] sequence - * On entry the allocated Chameleon sequence structure, and on exit + * On entry the allocated runtime sequence structure, and on exit * the scheduler specifics for the sequence have been initialized. * - * @retval MORSE_SUCCESS on success. - * @retval MORSE_ERR_OUT_OF_RESOURCES, if the sequence could not be created. + * @retval CHAMELEON_SUCCESS on success. + * @retval CHAMELEON_ERR_OUT_OF_RESOURCES, if the sequence could not be created. */ int -RUNTIME_sequence_create( MORSE_context_t *ctxt, - MORSE_sequence_t *sequence ); +RUNTIME_sequence_create( CHAM_context_t *ctxt, + RUNTIME_sequence_t *sequence ); /** * @brief Destroy the sequence structure. * * @param[in] ctxt - * The Chameleon context to which the sequence belongs. + * The runtime context to which the sequence belongs. * * @param[in,out] sequence * On entry the sequence structure. * On exit, the scheduler specifics of the sequence have been * destroyed. * - * @retval MORSE_SUCCESS on success. + * @retval CHAMELEON_SUCCESS on success. */ int -RUNTIME_sequence_destroy( MORSE_context_t *ctxt, - MORSE_sequence_t *sequence); +RUNTIME_sequence_destroy( CHAM_context_t *ctxt, + RUNTIME_sequence_t *sequence); /** * @brief Wait for completion of all tasks in the given sequence. * * @param[in] ctxt - * The Chameleon context to which the sequence belongs. + * The runtime context to which the sequence belongs. * * @param[in] sequence * The sequence that gathers a set of tasks to complete. * - * @retval MORSE_SUCCESS on success. + * @retval CHAMELEON_SUCCESS on success. * @retval The algorithm return code on failure. */ int -RUNTIME_sequence_wait( MORSE_context_t *ctxt, - MORSE_sequence_t *sequence ); +RUNTIME_sequence_wait( CHAM_context_t *ctxt, + RUNTIME_sequence_t *sequence ); /** * @brief Cancel all remaining tasks in the given sequence. * * @param[in] ctxt - * The Chameleon context to which the sequence belongs. + * The runtime context to which the sequence belongs. * * @param[in,out] sequence * The sequence that gathers the set of tasks to cancel. @@ -297,10 +299,10 @@ RUNTIME_sequence_wait( MORSE_context_t *ctxt, * above. */ void -RUNTIME_sequence_flush( MORSE_context_t *ctxt, - MORSE_sequence_t *sequence, - MORSE_request_t *request, - int status ); +RUNTIME_sequence_flush( CHAM_context_t *ctxt, + RUNTIME_sequence_t *sequence, + RUNTIME_request_t *request, + int status ); /** * @} @@ -345,7 +347,7 @@ RUNTIME_free( void *ptr, size_t size ); * The descriptor to initialize. */ void -RUNTIME_desc_create( MORSE_desc_t *desc ); +RUNTIME_desc_create( CHAM_desc_t *desc ); /** * @brief Finalize runtime specific data structure of a given descriptor. @@ -354,7 +356,7 @@ RUNTIME_desc_create( MORSE_desc_t *desc ); * The descriptor to finalize. */ void -RUNTIME_desc_destroy( MORSE_desc_t *desc ); +RUNTIME_desc_destroy( CHAM_desc_t *desc ); /** * @brief Acquire in main memory an up-to-date copy of the data described by the @@ -367,10 +369,10 @@ RUNTIME_desc_destroy( MORSE_desc_t *desc ); * @param[in] desc * The descriptor to acquire. * - * @retval MORSE_SUCCESS on success + * @retval CHAMELEON_SUCCESS on success */ int -RUNTIME_desc_acquire( const MORSE_desc_t *desc ); +RUNTIME_desc_acquire( const CHAM_desc_t *desc ); /** * @brief Release the data described by the descriptor to be used by the runtime @@ -382,10 +384,10 @@ RUNTIME_desc_acquire( const MORSE_desc_t *desc ); * @param[in] desc * The descriptor to release. * - * @retval MORSE_SUCCESS on success + * @retval CHAMELEON_SUCCESS on success */ int -RUNTIME_desc_release( const MORSE_desc_t *desc ); +RUNTIME_desc_release( const CHAM_desc_t *desc ); /** * @brief Flush all pieces of data from a descriptor. @@ -402,8 +404,8 @@ RUNTIME_desc_release( const MORSE_desc_t *desc ); * The sequence in which the data is used. */ void -RUNTIME_desc_flush( const MORSE_desc_t *desc, - const MORSE_sequence_t *sequence ); +RUNTIME_desc_flush( const CHAM_desc_t *desc, + const RUNTIME_sequence_t *sequence ); /** * @brief Flush all data submitted to the runtime systems from the distributed @@ -435,8 +437,8 @@ RUNTIME_flush( ); * The column coordinate of the piece of data in the matrix */ void -RUNTIME_data_flush( const MORSE_sequence_t *sequence, - const MORSE_desc_t *A, int Am, int An ); +RUNTIME_data_flush( const RUNTIME_sequence_t *sequence, + const CHAM_desc_t *A, int Am, int An ); /** * @brief Migrate a single piece of data. @@ -461,12 +463,12 @@ RUNTIME_data_flush( const MORSE_sequence_t *sequence, */ #if defined(CHAMELEON_USE_MIGRATE) void -RUNTIME_data_migrate( const MORSE_sequence_t *sequence, - const MORSE_desc_t *A, int Am, int An, int new_rank ); +RUNTIME_data_migrate( const RUNTIME_sequence_t *sequence, + const CHAM_desc_t *A, int Am, int An, int new_rank ); #else static inline void -RUNTIME_data_migrate( const MORSE_sequence_t *sequence, - const MORSE_desc_t *A, int Am, int An, int new_rank ) { +RUNTIME_data_migrate( const RUNTIME_sequence_t *sequence, + const CHAM_desc_t *A, int Am, int An, int new_rank ) { (void)sequence; (void)A; (void)Am; (void)An; (void)new_rank; } #endif @@ -487,7 +489,7 @@ RUNTIME_data_migrate( const MORSE_sequence_t *sequence, * @retval The runtime handler address of the piece of data. */ void * -RUNTIME_data_getaddr( const MORSE_desc_t *A, int Am, int An ); +RUNTIME_data_getaddr( const CHAM_desc_t *A, int Am, int An ); /** * @} @@ -495,12 +497,74 @@ RUNTIME_data_getaddr( const MORSE_desc_t *A, int Am, int An ); * @name RUNTIME Insert task options management * @{ */ -void RUNTIME_options_init (MORSE_option_t*, MORSE_context_t*, MORSE_sequence_t*, MORSE_request_t*); -void RUNTIME_options_finalize (MORSE_option_t*, MORSE_context_t *); -int RUNTIME_options_ws_alloc (MORSE_option_t*, size_t, size_t); -int RUNTIME_options_ws_free (MORSE_option_t*); -/* int RUNTIME_options_ws_gethost (MORSE_option_t*); */ -/* int RUNTIME_options_ws_getdevice (MORSE_option_t*); */ + +/** + * @brief Initialize the runtime option structure + * + * @param[in,out] options + * The options structure that needs to be initialized + * + * @param[in] context + * The runtime context in which to initialize the runtime support. + * + * @param[in] sequence + * The sequence structure to associate in the options. + * + * @param[in] request + * The request structure to associate in the options. + * + */ +void +RUNTIME_options_init( RUNTIME_option_t *options, + CHAM_context_t *context, + RUNTIME_sequence_t *sequence, + RUNTIME_request_t *request ); + +/** + * @brief Finalize the runtime options structure + * + * @param[in,out] options + * The options structure to finalize + * + * @param[in] context + * The runtime context in which to options structure has been + * initialized. + * + */ +void +RUNTIME_options_finalize( RUNTIME_option_t *options, + CHAM_context_t *context ); + +/** + * @brief Declare and initialize the workspaces for the given options structure + * + * @param[in,out] options + * The options structure in which to initialize the workspaces + * + * @param[in] wsize + * The worker workspace size required. This workspace will be + * allocated on the device that runs the kernel. + * + * @param[in] hsize + * The host workspace size required. This workspace will always be + * allocated on the host and will be used by hybrid CPU/GPU kernels. + * + */ +int +RUNTIME_options_ws_alloc( RUNTIME_option_t *options, + size_t wsize, size_t hsize ); + +/** + * @brief Submit the release of the workspaces associated to the options structure. + * + * @warning With some runtime, this call might have to call a synchronization. + * + * @param[in,out] options + * The options structure for which to workspcaes will be released + * + */ +int +RUNTIME_options_ws_free( RUNTIME_option_t *options ); /** * @} @@ -513,21 +577,21 @@ void RUNTIME_clocality_allrestore (); void RUNTIME_dlocality_allrestore (); void RUNTIME_slocality_allrestore (); -void RUNTIME_zlocality_allrestrict(uint32_t); -void RUNTIME_zlocality_onerestrict(MORSE_kernel_t, uint32_t); -void RUNTIME_zlocality_onerestore (MORSE_kernel_t); +void RUNTIME_zlocality_allrestrict(uint32_t device); +void RUNTIME_zlocality_onerestrict(cham_tasktype_t task, uint32_t device); +void RUNTIME_zlocality_onerestore (cham_tasktype_t task); -void RUNTIME_clocality_allrestrict(uint32_t); -void RUNTIME_clocality_onerestrict(MORSE_kernel_t, uint32_t); -void RUNTIME_clocality_onerestore (MORSE_kernel_t); +void RUNTIME_clocality_allrestrict(uint32_t device); +void RUNTIME_clocality_onerestrict(cham_tasktype_t task, uint32_t device); +void RUNTIME_clocality_onerestore (cham_tasktype_t task); -void RUNTIME_dlocality_allrestrict(uint32_t); -void RUNTIME_dlocality_onerestrict(MORSE_kernel_t, uint32_t); -void RUNTIME_dlocality_onerestore (MORSE_kernel_t); +void RUNTIME_dlocality_allrestrict(uint32_t device); +void RUNTIME_dlocality_onerestrict(cham_tasktype_t task, uint32_t device); +void RUNTIME_dlocality_onerestore (cham_tasktype_t task); -void RUNTIME_slocality_allrestrict(uint32_t); -void RUNTIME_slocality_onerestrict(MORSE_kernel_t, uint32_t); -void RUNTIME_slocality_onerestore (MORSE_kernel_t); +void RUNTIME_slocality_allrestrict(uint32_t device); +void RUNTIME_slocality_onerestrict(cham_tasktype_t task, uint32_t device); +void RUNTIME_slocality_onerestore (cham_tasktype_t task); /** * @} @@ -539,8 +603,8 @@ void RUNTIME_schedprofile_display (); void RUNTIME_kernelprofile_display(); double RUNTIME_get_time(); -void RUNTIME_iteration_push (MORSE_context_t*, unsigned long iteration); -void RUNTIME_iteration_pop (MORSE_context_t*); +void RUNTIME_iteration_push (CHAM_context_t*, unsigned long iteration); +void RUNTIME_iteration_pop (CHAM_context_t*); void RUNTIME_start_profiling(); void RUNTIME_stop_profiling(); @@ -549,13 +613,13 @@ void RUNTIME_start_stats(); void RUNTIME_stop_stats(); void RUNTIME_zdisplay_allprofile (); -void RUNTIME_zdisplay_oneprofile (MORSE_kernel_t); +void RUNTIME_zdisplay_oneprofile (cham_tasktype_t task); void RUNTIME_cdisplay_allprofile (); -void RUNTIME_cdisplay_oneprofile (MORSE_kernel_t); +void RUNTIME_cdisplay_oneprofile (cham_tasktype_t task); void RUNTIME_ddisplay_allprofile (); -void RUNTIME_ddisplay_oneprofile (MORSE_kernel_t); +void RUNTIME_ddisplay_oneprofile (cham_tasktype_t task); void RUNTIME_sdisplay_allprofile (); -void RUNTIME_sdisplay_oneprofile (MORSE_kernel_t); +void RUNTIME_sdisplay_oneprofile (cham_tasktype_t task); /** * @} @@ -563,4 +627,4 @@ void RUNTIME_sdisplay_oneprofile (MORSE_kernel_t); END_C_DECLS -#endif /* _MORSE_RUNTIME_H_ */ +#endif /* _chameleon_runtime_h_ */ diff --git a/include/chameleon/runtime_struct.h b/include/chameleon/runtime_struct.h new file mode 100644 index 0000000000000000000000000000000000000000..ff90e8854ecf062973b8e443c05e730056104da4 --- /dev/null +++ b/include/chameleon/runtime_struct.h @@ -0,0 +1,95 @@ +/** + * + * @file runtime_struct.h + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Runtime structures + * + * @version 1.0.0 + * @author Cedric Augonnet + * @author Mathieu Faverge + * @author Cedric Castagnede + * @date 2011-06-01 + * + */ +#ifndef _chameleon_runtime_struct_h_ +#define _chameleon_runtime_struct_h_ + +BEGIN_C_DECLS + +/** + * @brief Ids of the runtime supported by the RUNTIME API + */ +typedef enum runtime_id_e { + RUNTIME_SCHED_QUARK, /**< Quark runtime */ + RUNTIME_SCHED_PARSEC, /**< PaRSEC runtime */ + RUNTIME_SCHED_STARPU, /**< StarPU runtime */ +} RUNTIME_id_t; + +/** + * @brief RUNTIME request structure + * + * A request is used to uniquely identifies a set of submitted tasks together, + * as for example each asynchronous function call. + * + */ +typedef struct runtime_request_s { + int status; /**< Return status registered by the tasks for the request */ +} RUNTIME_request_t; + +/** + * @brief Runtime request initializer + */ +#define RUNTIME_REQUEST_INITIALIZER { 0 } + +/** + * @brief RUNTIME sequence structure + * + * A sequence is used to uniquely identifies a set of asynchronous function + * calls sharing common exception handling. If a tasks fails in a request all + * subsequent tasks in the request, and the sequence will be canceled. + */ +typedef struct runtime_sequence_s { + int status; /**< Return status registered by the tasks for the request */ + RUNTIME_request_t *request; /**< Pointer to the request that failed if any, NULL otherwise */ + void *schedopt; /**< Specific runtime data pointer to handle the sequence */ +} RUNTIME_sequence_t; + +/** + * @brief RUNTIME options structure + * + * This structure gathers all optionnal fields that can be passed to the runtime + * system. + */ +typedef struct runtime_option_s { + RUNTIME_sequence_t *sequence; /**< Runtime sequence to which attach the submitted tasks */ + RUNTIME_request_t *request; /**< Runtime request to which attach the submitted tasks */ + int profiling; /**< Enable/Disable the profiling of the submitted tasks */ + int parallel; /**< Enable/Disable the parallel version of submitted tasks */ + int priority; /**< Define the submitted task priority */ + size_t ws_wsize; /**< Define the worker workspace size */ + size_t ws_hsize; /**< Define the host workspace size for hybrid CPU/GPU kernel */ + void *ws_worker; /**< Pointer to the worker workspace (structure) */ + void *ws_host; /**< Pointer to the host workspace (structure) */ + void *schedopt; /**< Specific runtime data pointer to handle the sequence */ +} RUNTIME_option_t; + +/** + * @brief Minimal priority value + */ +#define RUNTIME_PRIORITY_MIN 0 + +/** + * @brief Maximal priority value + */ +#define RUNTIME_PRIORITY_MAX INT_MAX + +END_C_DECLS + +#endif /* _chameleon_runtime_struct_h_ */ diff --git a/include/chameleon/morse_simulate.h b/include/chameleon/simulate.h similarity index 84% rename from include/chameleon/morse_simulate.h rename to include/chameleon/simulate.h index 66e13b429e909d175052c058f77af8781c55b3f2..06df2a8cf783c77370acf6717d455937749eb1fa 100644 --- a/include/chameleon/morse_simulate.h +++ b/include/chameleon/simulate.h @@ -1,6 +1,6 @@ /** * - * @file morse_simulate.h + * @file chameleon_simulate.h * * @copyright 2009-2014 The University of Tennessee and The University of * Tennessee Research Foundation. All rights reserved. @@ -16,10 +16,10 @@ * @date 2014-10-02 * */ -#ifndef _MORSE_SIMULATE_H_ -#define _MORSE_SIMULATE_H_ +#ifndef _chameleon_simulate_h_ +#define _chameleon_simulate_h_ -#include "chameleon/chameleon_config.h" +#include "chameleon/config.h" /* we need this when starpu is compiled with simgrid enabled */ #if defined(CHAMELEON_SCHED_STARPU) && defined(CHAMELEON_SIMULATION) diff --git a/include/chameleon/morse_struct.h b/include/chameleon/struct.h similarity index 60% rename from include/chameleon/morse_struct.h rename to include/chameleon/struct.h index 32fcfbb46f53496520810e5925f58f4610c37722..8002d29d56efec199bee7008b1821aea345fd6dd 100644 --- a/include/chameleon/morse_struct.h +++ b/include/chameleon/struct.h @@ -1,6 +1,6 @@ /** * - * @file morse_struct.h + * @file chameleon_struct.h * * @copyright 2009-2014 The University of Tennessee and The University of * Tennessee Research Foundation. All rights reserved. @@ -18,28 +18,16 @@ * @date 2011-06-01 * */ -#ifndef _MORSE_STRUCT_H_ -#define _MORSE_STRUCT_H_ +#ifndef _chameleon_struct_h_ +#define _chameleon_struct_h_ -#include "chameleon/chameleon_config.h" -#include "chameleon/morse_types.h" -#include "chameleon/morse_kernels.h" +#include "chameleon/config.h" +#include "chameleon/types.h" +#include "chameleon/constants.h" +#include "chameleon/runtime_struct.h" BEGIN_C_DECLS -/** - * RUNTIME headers to include types of : - * - QUARK - * - PaRSEC - * - StarPU - */ -typedef enum morse_sched_e { - RUNTIME_SCHED_QUARK, - RUNTIME_SCHED_PARSEC, - RUNTIME_SCHED_STARPU, -} MORSE_sched_t; - - /** * Tile matrix descriptor * @@ -58,22 +46,22 @@ typedef enum morse_sched_e { * +----------+---+ * */ -struct morse_desc_s; -typedef struct morse_desc_s MORSE_desc_t; - -struct morse_desc_s { - // function to get matrix tiles address - void *(*get_blkaddr)( const MORSE_desc_t*, int, int ); - // function to get matrix tiles leading dimension - int (*get_blkldd )( const MORSE_desc_t*, int ); - // function to get matrix tiles MPI rank - int (*get_rankof) ( const MORSE_desc_t*, int, int ); +struct chameleon_desc_s; +typedef struct chameleon_desc_s CHAM_desc_t; + +struct chameleon_desc_s { + // function to get chameleon tiles address + void *(*get_blkaddr)( const CHAM_desc_t*, int, int ); + // function to get chameleon tiles leading dimension + int (*get_blkldd )( const CHAM_desc_t*, int ); + // function to get chameleon tiles MPI rank + int (*get_rankof) ( const CHAM_desc_t*, int, int ); void *mat; // pointer to the beginning of the matrix size_t A21; // pointer to the beginning of the matrix A21 size_t A12; // pointer to the beginning of the matrix A12 size_t A22; // pointer to the beginning of the matrix A22 - MORSE_enum styp; // storage layout of the matrix - MORSE_enum dtyp; // precision of the matrix + cham_storage_t styp; // storage layout of the matrix + cham_flttype_t dtyp; // precision of the matrix int mb; // number of rows in a tile int nb; // number of columns in a tile int bsiz; // size in elements including padding @@ -110,10 +98,10 @@ struct morse_desc_s { /** - * MORSE request uniquely identifies each asynchronous function call. + * CHAMELEON request uniquely identifies each asynchronous function call. */ -typedef struct morse_context_s { - MORSE_sched_t scheduler; +typedef struct chameleon_context_s { + RUNTIME_id_t scheduler; int nworkers; int ncudas; int nthreads_per_worker; @@ -125,61 +113,22 @@ typedef struct morse_context_s { int group_size; /* Boolean flags */ - MORSE_bool warnings_enabled; - MORSE_bool autotuning_enabled; - MORSE_bool parallel_enabled; - MORSE_bool profiling_enabled; - MORSE_bool progress_enabled; + cham_bool_t warnings_enabled; + cham_bool_t autotuning_enabled; + cham_bool_t parallel_enabled; + cham_bool_t profiling_enabled; + cham_bool_t progress_enabled; - MORSE_enum householder; // "domino" (flat) or tree-based (reduction) Householder - MORSE_enum translation; // In place or Out of place layout conversion + cham_householder_t householder; // "domino" (flat) or tree-based (reduction) Householder + cham_translation_t translation; // In place or Out of place layout conversion int nb; int ib; - int nbnbsize; // tile size in elements (possibly padded) - int ibnbsize; // T or L tile size in elements (---''---) int rhblock; // block size for tree-based (reduction) Householder void *schedopt; // structure for runtimes int mpi_outer_init; // MPI has been initialized outside our functions -} MORSE_context_t; - - -/** - * MORSE request uniquely identifies each asynchronous function call. - */ -typedef struct morse_request_s { - MORSE_enum status; // MORSE_SUCCESS or appropriate error code -} MORSE_request_t; - - -/** - * MORSE sequence uniquely identifies a set of asynchronous function calls - * sharing common exception handling. - */ -typedef struct morse_sequence_s { - MORSE_bool status; /* MORSE_SUCCESS or appropriate error code */ - MORSE_request_t *request; /* failed request */ - void *schedopt; -} MORSE_sequence_t; - - -/** - * MORSE options - */ -typedef struct morse_option_s { - MORSE_sequence_t *sequence; - MORSE_request_t *request; - int profiling; - int parallel; - int priority; - int nb; - size_t ws_wsize; - size_t ws_hsize; - void *ws_worker; /*> Workspace located on the worker */ - void *ws_host; /*> Workspace *always* located on the host */ - void *schedopt; -} MORSE_option_t; +} CHAM_context_t; END_C_DECLS -#endif /* __CHAMELEON_H__ */ +#endif /* _chameleon_struct_h_ */ diff --git a/include/chameleon/tasks.h b/include/chameleon/tasks.h new file mode 100644 index 0000000000000000000000000000000000000000..924166c2c4f271c4cc5f777347c334424336c272 --- /dev/null +++ b/include/chameleon/tasks.h @@ -0,0 +1,98 @@ +/** + * + * @file chameleon_tasks.h + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Chameleon elementary tasks main header + * + * @version 1.0.0 + * @author Mathieu Faverge + * @author Cedric Augonnet + * @date 2011-06-01 + * + */ +#ifndef _chameleon_tasks_h_ +#define _chameleon_tasks_h_ + +#include "chameleon/config.h" + +BEGIN_C_DECLS + +/** + * @brief Kernel enum + * + * Those enums are Used to apply operations on specific kernels, and or for + * tracing/profiling. + */ +typedef enum chameleon_tasktype_e { + + TASK_GEMM, + TASK_HEMM, + TASK_HER2K, + TASK_HERK, + TASK_SYTRF_NOPIV, + TASK_SYMM, + TASK_SYR2K, + TASK_SYRK, + TASK_TRSM, + TASK_TRMM, + + TASK_GELQT, + TASK_GEQRT, + TASK_GESSM, + TASK_GETRF, + TASK_GETRF_INCPIV, + TASK_GETRF_NOPIV, + TASK_LAUUM, + TASK_ORMLQ, + TASK_ORMQR, + TASK_POTRF, + TASK_SSSSM, + TASK_TRTRI, + TASK_TSLQT, + TASK_TSMLQ, + TASK_TSMQR, + TASK_TSQRT, + TASK_TSTRF, + TASK_TTLQT, + TASK_TTMLQ, + TASK_TTMQR, + TASK_TTQRT, + TASK_UNMLQ, + TASK_UNMQR, + + TASK_GEADD, + TASK_LASCAL, + TASK_LACPY, + TASK_LAG2C, + TASK_LAG2Z, + TASK_LANGE, + TASK_LANHE, + TASK_LANSY, + TASK_LASET, + TASK_LASET2, + TASK_PEMV, + TASK_PLGHE, + TASK_PLGSY, + TASK_PLRNT, + TASK_TILE_ZERO, + + TASK_NBKERNELS +} cham_tasktype_t; + +#include "chameleon/tasks_z.h" +#include "chameleon/tasks_d.h" +#include "chameleon/tasks_c.h" +#include "chameleon/tasks_s.h" +#include "chameleon/tasks_zc.h" +#include "chameleon/tasks_ds.h" + +END_C_DECLS + +#endif /* _chameleon_tasks_h_ */ diff --git a/include/chameleon/tasks_z.h b/include/chameleon/tasks_z.h new file mode 100644 index 0000000000000000000000000000000000000000..42e023d4537a52db6ef77fe0e64081303f0f3b3a --- /dev/null +++ b/include/chameleon/tasks_z.h @@ -0,0 +1,465 @@ +/** + * + * @file chameleon_tasks_z.h + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Chameleon CHAMELEON_Complex64_t elementary tasks header + * + * @version 1.0.0 + * @comment This file has been automatically generated + * from Plasma 2.5.0 for CHAMELEON 1.0.0 + * @author Jakub Kurzak + * @author Hatem Ltaief + * @author Azzam Haidar + * @author Mathieu Faverge + * @author Emmanuel Agullo + * @author Cedric Castagnede + * @date 2010-11-15 + * @precisions normal z -> c d s + * + */ +#ifndef _chameleon_tasks_z_h_ +#define _chameleon_tasks_z_h_ + +/** + * Declarations of QUARK wrappers (called by CHAMELEON) - alphabetical order + */ +void INSERT_TASK_dzasum( const RUNTIME_option_t *options, + cham_store_t storev, cham_uplo_t uplo, int M, int N, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn ); +void INSERT_TASK_zgeadd( const RUNTIME_option_t *options, + cham_trans_t trans, int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *B, int Bm, int Bn, int ldb ); +void INSERT_TASK_zlascal( const RUNTIME_option_t *options, + cham_uplo_t uplo, + int m, int n, int nb, + CHAMELEON_Complex64_t alpha, + const CHAM_desc_t *A, int Am, int An, int lda ); +void INSERT_TASK_zbrdalg( const RUNTIME_option_t *options, + cham_uplo_t uplo, + int N, int NB, + const CHAM_desc_t *A, + const CHAM_desc_t *C, int Cm, int Cn, + const CHAM_desc_t *S, int Sm, int Sn, + int i, int j, int m, int grsiz, int BAND, + int *PCOL, int *ACOL, int *MCOL ); +void INSERT_TASK_zgelqt( const RUNTIME_option_t *options, + int m, int n, int ib, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_zgemm( const RUNTIME_option_t *options, + cham_trans_t transA, cham_trans_t transB, + int m, int n, int k, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc ); +void INSERT_TASK_zgemm2( const RUNTIME_option_t *options, + cham_trans_t transA, cham_trans_t transB, + int m, int n, int k, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc ); +void INSERT_TASK_zgemm_f2( const RUNTIME_option_t *options, + cham_trans_t transA, cham_trans_t transB, + int m, int n, int k, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc, + const CHAM_desc_t *fake1, int fake1m, int fake1n, int szefake1, int flag1, + const CHAM_desc_t *fake2, int fake2m, int fake2n, int szefake2, int flag2 ); +void INSERT_TASK_zgemm_p2( const RUNTIME_option_t *options, + cham_trans_t transA, cham_trans_t transB, + int m, int n, int k, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAMELEON_Complex64_t **B, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc ); +void INSERT_TASK_zgemm_p2f1( const RUNTIME_option_t *options, + cham_trans_t transA, cham_trans_t transB, + int m, int n, int k, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAMELEON_Complex64_t **B, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc, + const CHAM_desc_t *fake1, int fake1m, int fake1n, int szefake1, int flag1 ); +void INSERT_TASK_zgemm_p3( const RUNTIME_option_t *options, + cham_trans_t transA, cham_trans_t transB, + int m, int n, int k, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t **C, int ldc ); +void INSERT_TASK_zgeqrt( const RUNTIME_option_t *options, + int m, int n, int ib, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_zgessm( const RUNTIME_option_t *options, + int m, int n, int k, int ib, int nb, + int *IPIV, + const CHAM_desc_t *L, int Lm, int Ln, int ldl, + const CHAM_desc_t *D, int Dm, int Dn, int ldd, + const CHAM_desc_t *A, int Am, int An, int lda ); +void INSERT_TASK_zgessq( const RUNTIME_option_t *options, + int m, int n, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ); +void INSERT_TASK_zgetrf( const RUNTIME_option_t *options, + int m, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + int *IPIV, + cham_bool_t check_info, int iinfo ); +void INSERT_TASK_zgetrf_incpiv( const RUNTIME_option_t *options, + int m, int n, int ib, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *L, int Lm, int Ln, int ldl, + int *IPIV, + cham_bool_t check_info, int iinfo ); +void INSERT_TASK_zgetrf_nopiv( const RUNTIME_option_t *options, + int m, int n, int ib, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo ); +void INSERT_TASK_zgetrf_reclap( const RUNTIME_option_t *options, + int m, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + int *IPIV, + + cham_bool_t check_info, int iinfo, + int nbthread ); +void INSERT_TASK_zgetrf_rectil( const RUNTIME_option_t *options, + const CHAM_desc_t A, const CHAM_desc_t *Amn, int Amnm, int Amnn, int size, + int *IPIV, + + cham_bool_t check_info, int iinfo, + int nbthread ); +void INSERT_TASK_zgetrip( const RUNTIME_option_t *options, + int m, int n, const CHAM_desc_t *A, int Am, int An, int szeA ); +void INSERT_TASK_zgetrip_f1( const RUNTIME_option_t *options, + int m, int n, const CHAM_desc_t *A, int Am, int An, int szeA, + const CHAM_desc_t *fake, int fakem, int faken, int szeF, int paramF ); +void INSERT_TASK_zgetrip_f2( const RUNTIME_option_t *options, + int m, int n, const CHAM_desc_t *A, int Am, int An, int szeA, + const CHAM_desc_t *fake1, int fake1m, int fake1n, int szeF1, int paramF1, + const CHAM_desc_t *fake2, int fake2m, int fake2n, int szeF2, int paramF2 ); +void INSERT_TASK_zhe2ge( const RUNTIME_option_t *options, + cham_uplo_t uplo, + int m, int n, int mb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ); +void INSERT_TASK_zhemm( const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, + int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc ); +void INSERT_TASK_zhegst( const RUNTIME_option_t *options, + int itype, cham_uplo_t uplo, int N, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn, int LDB, + int iinfo ); +void INSERT_TASK_zherk( const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, + int n, int k, int nb, + double alpha, const CHAM_desc_t *A, int Am, int An, int lda, + double beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc ); +void INSERT_TASK_zher2k( const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, + int n, int k, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int LDB, + double beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc ); +void INSERT_TASK_zherfb( const RUNTIME_option_t *options, + cham_uplo_t uplo, + int n, int k, int ib, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *C, int Cm, int Cn, int ldc ); +void INSERT_TASK_zlacpy( const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int mb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ); +void INSERT_TASK_zlacpyx( const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int mb, + int displA, const CHAM_desc_t *A, int Am, int An, int lda, + int displB, const CHAM_desc_t *B, int Bm, int Bn, int ldb ); +void INSERT_TASK_zlange( const RUNTIME_option_t *options, + cham_normtype_t norm, int M, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn ); +void INSERT_TASK_zlange_max( const RUNTIME_option_t *options, + const CHAM_desc_t *A, int Am, int An, + const CHAM_desc_t *B, int Bm, int Bn ); +void INSERT_TASK_zhessq( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ); +void INSERT_TASK_zlanhe( const RUNTIME_option_t *options, + cham_normtype_t norm, cham_uplo_t uplo, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn ); +void INSERT_TASK_zlansy( const RUNTIME_option_t *options, + cham_normtype_t norm, cham_uplo_t uplo, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn ); +void INSERT_TASK_zlantr( const RUNTIME_option_t *options, + cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, + int M, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn ); +void INSERT_TASK_zlaset( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n1, int n2, CHAMELEON_Complex64_t alpha, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *tileA, int tileAm, int tileAn, int ldtilea ); +void INSERT_TASK_zlaset2( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n1, int n2, CHAMELEON_Complex64_t alpha, + const CHAM_desc_t *tileA, int tileAm, int tileAn, int ldtilea ); +void INSERT_TASK_zlaswp( const RUNTIME_option_t *options, + int n, const CHAM_desc_t *A, int Am, int An, int lda, + int i1, int i2, int *ipiv, int inc ); +void INSERT_TASK_zlaswp_f2( const RUNTIME_option_t *options, + int n, const CHAM_desc_t *A, int Am, int An, int lda, + int i1, int i2, int *ipiv, int inc, + const CHAM_desc_t *fake1, int fake1m, int fake1n, int szefake1, int flag1, + const CHAM_desc_t *fake2, int fake2m, int fake2n, int szefake2, int flag2 ); +void INSERT_TASK_zlaswp_ontile( const RUNTIME_option_t *options, + const CHAM_desc_t descA, const CHAM_desc_t *A, int Am, int An, + int i1, int i2, int *ipiv, int inc, CHAMELEON_Complex64_t *fakepanel ); +void INSERT_TASK_zlaswp_ontile_f2( const RUNTIME_option_t *options, + const CHAM_desc_t descA, const CHAM_desc_t *A, int Am, int An, + int i1, int i2, int *ipiv, int inc, + const CHAM_desc_t *fake1, int fake1m, int fake1n, int szefake1, int flag1, + const CHAM_desc_t *fake2, int fake2m, int fake2n, int szefake2, int flag2 ); +void INSERT_TASK_zlaswpc_ontile( const RUNTIME_option_t *options, + const CHAM_desc_t descA, const CHAM_desc_t *A, int Am, int An, + int i1, int i2, int *ipiv, int inc, CHAMELEON_Complex64_t *fakepanel ); +void INSERT_TASK_zlatro( const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int m, int n, int mb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ); +void INSERT_TASK_zlauum( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda ); +void INSERT_TASK_zplghe( const RUNTIME_option_t *options, + double bump, int m, int n, const CHAM_desc_t *A, int Am, int An, int lda, + int bigM, int m0, int n0, unsigned long long int seed ); +void INSERT_TASK_zplgsy( const RUNTIME_option_t *options, + CHAMELEON_Complex64_t bump, int m, int n, const CHAM_desc_t *A, int Am, int An, int lda, + int bigM, int m0, int n0, unsigned long long int seed ); +void INSERT_TASK_zplrnt( const RUNTIME_option_t *options, + int m, int n, const CHAM_desc_t *A, int Am, int An, int lda, + int bigM, int m0, int n0, unsigned long long int seed ); +void INSERT_TASK_zpotrf( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + + int iinfo ); +void INSERT_TASK_zshift( const RUNTIME_option_t *options, + int s, int m, int n, int L, + CHAMELEON_Complex64_t *A ); +void INSERT_TASK_zshiftw( const RUNTIME_option_t *options, + int s, int cl, int m, int n, int L, + const CHAM_desc_t *A, int Am, int An, CHAMELEON_Complex64_t *W ); +void INSERT_TASK_zssssm( const RUNTIME_option_t *options, + int m1, int n1, int m2, int n2, int k, int ib, int nb, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *L1, int L1m, int L1n, int ldl1, + const CHAM_desc_t *L2, int L2m, int L2n, int ldl2, + const int *IPIV ); +void INSERT_TASK_zsymm( const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, + int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc ); +void INSERT_TASK_zsyrk( const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, + int n, int k, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc ); +void INSERT_TASK_zsyr2k( const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, + int n, int k, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int LDB, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc ); +void INSERT_TASK_zsyssq( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ); +void INSERT_TASK_zsytrf_nopiv( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + int iinfo ); +void INSERT_TASK_zswpab( const RUNTIME_option_t *options, + int i, int n1, int n2, + const CHAM_desc_t *A, int Am, int An, int szeA ); +void INSERT_TASK_zswptr_ontile( const RUNTIME_option_t *options, + const CHAM_desc_t descA, const CHAM_desc_t *Aij, int Aijm, int Aijn, + int i1, int i2, int *ipiv, int inc, + const CHAM_desc_t *Akk, int Akkm, int Akkn, int ldak ); +void INSERT_TASK_ztplqt( const RUNTIME_option_t *options, + int m, int n, int l, int ib, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_ztpmlqt( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, + int M, int N, int K, int L, int ib, int nb, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ); +void INSERT_TASK_ztpmqrt( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, + int m, int n, int k, int l, int ib, int nb, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ); +void INSERT_TASK_ztpqrt( const RUNTIME_option_t *options, + int m, int n, int l, int ib, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_ztrdalg( const RUNTIME_option_t *options, + cham_uplo_t uplo, + int N, int NB, + const CHAM_desc_t *A, + const CHAM_desc_t *C, int Cm, int Cn, + const CHAM_desc_t *S, int Sm, int Sn, + int i, int j, int m, int grsiz, int BAND, + int *PCOL, int *ACOL, int *MCOL ); +void INSERT_TASK_ztradd( const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *B, int Bm, int Bn, int ldb ); +void INSERT_TASK_ztrasm( const RUNTIME_option_t *options, + cham_store_t storev, cham_uplo_t uplo, cham_diag_t diag, int M, int N, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn ); +void INSERT_TASK_ztrmm( const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, + int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ); +void INSERT_TASK_ztrmm_p2( const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, + int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t **B, int ldb ); +void INSERT_TASK_ztrsm( const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, + int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ); +void INSERT_TASK_ztrssq( const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_diag_t diag, + int m, int n, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ); +void INSERT_TASK_ztrtri( const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_diag_t diag, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + + int iinfo ); +void INSERT_TASK_ztslqt( const RUNTIME_option_t *options, + int m, int n, int ib, int nb, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_ztsmlq( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, + int m1, int n1, int m2, int n2, int k, int ib, int nb, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_ztsmlq_hetra1( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, + int m1, int n1, int m2, int n2, int k, int ib, int nb, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_ztsmqr( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, + int m1, int n1, int m2, int n2, int k, int ib, int nb, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_ztsmqr_hetra1( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, + int m1, int n1, int m2, int n2, int k, int ib, int nb, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_ztsqrt( const RUNTIME_option_t *options, + int m, int n, int ib, int nb, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_ztstrf( const RUNTIME_option_t *options, + int m, int n, int ib, int nb, + const CHAM_desc_t *U, int Um, int Un, int ldu, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *L, int Lm, int Ln, int ldl, + int *IPIV, + cham_bool_t check_info, int iinfo ); +void INSERT_TASK_zttmqr( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, + int m1, int n1, int m2, int n2, int k, int ib, int nb, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_zttqrt( const RUNTIME_option_t *options, + int m, int n, int ib, int nb, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_zttmlq( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, + int m1, int n1, int m2, int n2, int k, int ib, int nb, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_zttlqt( const RUNTIME_option_t *options, + int m, int n, int ib, int nb, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ); +void INSERT_TASK_zpamm( const RUNTIME_option_t *options, + int op, cham_side_t side, cham_store_t storev, + int m, int n, int k, int l, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *W, int Wm, int Wn, int ldw ); +void INSERT_TASK_zplssq( const RUNTIME_option_t *options, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn, + const CHAM_desc_t *SCLSSQ, int SCLSSQm, int SCLSSQn ); +void INSERT_TASK_zplssq2( const RUNTIME_option_t *options, + const CHAM_desc_t *RESULT, int RESULTm, int RESULTn ); +void INSERT_TASK_zunmlq( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, + int m, int n, int ib, int nb, int k, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *C, int Cm, int Cn, int ldc ); +void INSERT_TASK_zunmqr( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, + int m, int n, int k, int ib, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *C, int Cm, int Cn, int ldc ); +void INSERT_TASK_zbuild( const RUNTIME_option_t *options, + const CHAM_desc_t *A, int Am, int An, int lda, + void *user_data, void* user_build_callback ); + +#endif diff --git a/include/chameleon/tasks_zc.h b/include/chameleon/tasks_zc.h new file mode 100644 index 0000000000000000000000000000000000000000..c53e7e225d9be8fc37f0123bf33f2857838212ef --- /dev/null +++ b/include/chameleon/tasks_zc.h @@ -0,0 +1,41 @@ +/** + * + * @file chameleon_tasks_zc.h + * + * @copyright 2009-2014 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + *** + * + * @brief Chameleon complex mixed precision elementary tasks header + * + * @version 1.0.0 + * @comment This file has been automatically generated + * from Plasma 2.5.0 for CHAMELEON 1.0.0 + * @author Jakub Kurzak + * @author Hatem Ltaief + * @author Mathieu Faverge + * @author Emmanuel Agullo + * @author Cedric Castagnede + * @date 2010-11-15 + * @precisions mixed zc -> ds + * + */ +#ifndef _chameleon_tasks_zc_h_ +#define _chameleon_tasks_zc_h_ + +/** + * Declarations of QUARK wrappers (called by CHAMELEON) - alphabetical order + */ +void INSERT_TASK_clag2z( const RUNTIME_option_t *options, + int m, int n, int nb, + CHAM_desc_t *A, int Am, int An, int lda, + CHAM_desc_t *B, int Bm, int Bn, int ldb ); +void INSERT_TASK_zlag2c( const RUNTIME_option_t *options, + int m, int n, int nb, + CHAM_desc_t *A, int Am, int An, int lda, + CHAM_desc_t *B, int Bm, int Bn, int ldb ); + +#endif diff --git a/include/chameleon/chameleon_timer.h b/include/chameleon/timer.h similarity index 100% rename from include/chameleon/chameleon_timer.h rename to include/chameleon/timer.h diff --git a/include/chameleon/morse_types.h b/include/chameleon/types.h similarity index 71% rename from include/chameleon/morse_types.h rename to include/chameleon/types.h index cc490bb96384c8713ae0ed8e538574783f9c431d..ed8fe86168dec8ac00e9af4c6f95bfb5c37ce71f 100644 --- a/include/chameleon/morse_types.h +++ b/include/chameleon/types.h @@ -1,6 +1,6 @@ /** * - * @file morse_types.h + * @file chameleon_types.h * * @copyright 2009-2014 The University of Tennessee and The University of * Tennessee Research Foundation. All rights reserved. @@ -18,10 +18,10 @@ * @date 2011-06-01 * */ -#ifndef _MORSE_TYPES_H_ -#define _MORSE_TYPES_H_ +#ifndef _chameleon_types_h_ +#define _chameleon_types_h_ -#include "chameleon/chameleon_config.h" +#include "chameleon/config.h" /** * System requirements @@ -38,18 +38,15 @@ /** - * MORSE types + * CHAMELEON types */ -typedef int MORSE_enum; -typedef int MORSE_bool; -typedef long MORSE_index; -typedef long MORSE_size; +typedef int8_t cham_bool_t; /** - * MORSE Complex numbers + * CHAMELEON Complex numbers */ -#define MORSE_HAS_COMPLEX_H 1 +#define CHAMELEON_HAS_COMPLEX_H 1 #if defined(_WIN32) # include <float.h> @@ -61,8 +58,8 @@ typedef long MORSE_size; #undef _Complex #undef complex # elif defined(_MSC_VER) && !defined(__INTEL_COMPILER) - #undef MORSE_COMPLEX_CPP - #define MORSE_COMPLEX_CPP + #undef CHAMELEON_COMPLEX_CPP + #define CHAMELEON_COMPLEX_CPP # else #error "Supported compilers on WIN32 are MSVC and Intel Compiler." # endif /* __INTEL_COMPILER */ @@ -73,43 +70,43 @@ typedef long MORSE_size; /* Sun doesn't ship the complex.h header. Sun Studio doesn't have it and older GCC compilers don't have it either. */ #if defined(__SUNPRO_C) || defined(__SUNPRO_CC) || defined(sun) || defined(__sun) -#undef MORSE_HAS_COMPLEX_H +#undef CHAMELEON_HAS_COMPLEX_H #endif /* __SUNPRO_C */ #ifndef __cplusplus - #undef MORSE_COMPLEX_CPP + #undef CHAMELEON_COMPLEX_CPP #endif -#if defined(MORSE_COMPLEX_CPP) +#if defined(CHAMELEON_COMPLEX_CPP) #ifndef LAPACK_COMPLEX_CPP # define LAPACK_COMPLEX_CPP - # warning "MORSE_COMPLEX_CPP was defined, but not LAPACK_COMPLEX_CPP. Maybe you want to set both." + # warning "CHAMELEON_COMPLEX_CPP was defined, but not LAPACK_COMPLEX_CPP. Maybe you want to set both." #endif #include <complex> // needed for std::complex declaration - #define MORSE_Complex32_t std::complex<float> - #define MORSE_Complex64_t std::complex<double> -#else /* MORSE_COMPLEX_CPP */ + #define CHAMELEON_Complex32_t std::complex<float> + #define CHAMELEON_Complex64_t std::complex<double> +#else /* CHAMELEON_COMPLEX_CPP */ /* not using cplusplus complex type: */ #if defined(__STDC_NO_COMPLEX__) # error "Compiler support for complex number is required." #endif - #define MORSE_Complex32_t float _Complex - #define MORSE_Complex64_t double _Complex + #define CHAMELEON_Complex32_t float _Complex + #define CHAMELEON_Complex64_t double _Complex - #if MORSE_HAS_COMPLEX_H + #if CHAMELEON_HAS_COMPLEX_H # include <complex.h> #endif -#endif /* MORSE_COMPLEX_CPP */ +#endif /* CHAMELEON_COMPLEX_CPP */ /** - * MORSE Deprecated attribute + * CHAMELEON Deprecated attribute */ #if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) -#define MORSE_DEPRECATED __attribute__((__deprecated__)) +#define CHAMELEON_DEPRECATED __attribute__((__deprecated__)) #else -#define MORSE_DEPRECATED +#define CHAMELEON_DEPRECATED #endif /* __GNUC__ */ BEGIN_C_DECLS diff --git a/include/morse.h b/include/morse.h deleted file mode 100644 index 37c3d1fe0fbaf6473c82592876d3690035c2dd27..0000000000000000000000000000000000000000 --- a/include/morse.h +++ /dev/null @@ -1,131 +0,0 @@ -/** - * - * @file morse.h - * - * @copyright 2009-2014 The University of Tennessee and The University of - * Tennessee Research Foundation. All rights reserved. - * @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, - * Univ. Bordeaux. All rights reserved. - * - *** - * - * @brief Chameleon main header - * - * @version 1.0.0 - * @author Mathieu Faverge - * @author Cedric Augonnet - * @author Cedric Castagnede - * @author Florent Pruvost - * @date 2012-09-15 - * - */ -#ifndef _MORSE_H_ -#define _MORSE_H_ - -/* **************************************************************************** - * MORSE types and constants - */ -#include "chameleon/chameleon_config.h" -#include "chameleon/morse_types.h" -#include "chameleon/morse_struct.h" -#include "chameleon/morse_constants.h" -#include "chameleon/morse_kernels.h" - - -/* **************************************************************************** - * MORSE runtime common API - */ -#include "chameleon/morse_runtime.h" - - -/* **************************************************************************** - * MORSE Simulation mode - */ -#include "chameleon/morse_simulate.h" - -/* **************************************************************************** - * Include LibHQR for hierarchical trees QR/LQ factorizations - */ -#include "libhqr.h" - -/* **************************************************************************** - * MORSE Tasks - */ -#include "chameleon/morse_tasks.h" - -/* **************************************************************************** - * MORSE functionnalities - */ -#include "chameleon/morse_z.h" -#include "chameleon/morse_c.h" -#include "chameleon/morse_d.h" -#include "chameleon/morse_s.h" -#include "chameleon/morse_zc.h" -#include "chameleon/morse_ds.h" - -/* **************************************************************************** - * MORSE Functions - */ -BEGIN_C_DECLS - -/* Auxiliary */ -int MORSE_Version (int *ver_major, int *ver_minor, int *ver_micro); -int MORSE_My_Mpi_Rank (void); -int MORSE_Init (int nworkers, int ncudas); -int MORSE_InitPar (int nworkers, int ncudas, int nthreads_per_worker); -int MORSE_Finalize (void); -int MORSE_Pause (void); -int MORSE_Resume (void); -int MORSE_Distributed_start (void); -int MORSE_Distributed_stop (void); -int MORSE_Comm_size (void); -int MORSE_Comm_rank (void); -int MORSE_Lapack_to_Tile (void *Af77, int LDA, MORSE_desc_t *A); -int MORSE_Tile_to_Lapack (MORSE_desc_t *A, void *Af77, int LDA); -int MORSE_Distributed_start (void); -int MORSE_Distributed_stop (void); -int MORSE_Distributed_size (int *size); -int MORSE_Distributed_rank (int *rank); -int MORSE_GetThreadNbr (void); - -/* Descriptor */ -int MORSE_Element_Size(int type); -int MORSE_Desc_Create (MORSE_desc_t **desc, void *mat, MORSE_enum dtyp, - int mb, int nb, int bsiz, int lm, int ln, - int i, int j, int m, int n, int p, int q); -int MORSE_Desc_Create_User(MORSE_desc_t **desc, void *mat, MORSE_enum dtyp, int mb, int nb, int bsiz, - int lm, int ln, int i, int j, int m, int n, int p, int q, - void* (*get_blkaddr)( const MORSE_desc_t*, int, int ), - int (*get_blkldd)( const MORSE_desc_t*, int ), - int (*get_rankof)( const MORSE_desc_t*, int, int )); -int MORSE_Desc_Create_OOC(MORSE_desc_t **desc, MORSE_enum dtyp, - int mb, int nb, int bsiz, int lm, int ln, - int i, int j, int m, int n, int p, int q); -int MORSE_Desc_Create_OOC_User(MORSE_desc_t **desc, MORSE_enum dtyp, - int mb, int nb, int bsiz, int lm, int ln, - int i, int j, int m, int n, int p, int q, - int (*get_rankof)( const MORSE_desc_t*, int, int )); -int MORSE_Desc_Destroy (MORSE_desc_t **desc); -int MORSE_Desc_Acquire (MORSE_desc_t *desc); -int MORSE_Desc_Release (MORSE_desc_t *desc); -int MORSE_Desc_Flush (MORSE_desc_t *desc, MORSE_sequence_t *sequence); -void MORSE_user_tag_size(int, int) ; - -/* Workspaces */ -int MORSE_Dealloc_Workspace (MORSE_desc_t **desc); - -/* Options */ -int MORSE_Enable (MORSE_enum option); -int MORSE_Disable (MORSE_enum option); -int MORSE_Set (MORSE_enum param, int value); -int MORSE_Get (MORSE_enum param, int *value); -int MORSE_Set_update_progress_callback(void (*p)(int, int)) ; - -/* Sequences */ -int MORSE_Sequence_Create (MORSE_sequence_t **sequence); -int MORSE_Sequence_Destroy (MORSE_sequence_t *sequence); -int MORSE_Sequence_Wait (MORSE_sequence_t *sequence); - -END_C_DECLS - -#endif diff --git a/plasma-conversion/callGeneration.bash b/plasma-conversion/callGeneration.bash index 7d7562d255f57b11a7d3d8adde17f72acf230005..7f884f7b903744f8b825fcc921265a872cfc7140 100755 --- a/plasma-conversion/callGeneration.bash +++ b/plasma-conversion/callGeneration.bash @@ -10,8 +10,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -50,9 +50,9 @@ plasma_dir="$PWD/plasma_$plasma_relname" licence_dir="$PWD/insert-licence" # source of the original chameleon # ex in this plasma_conversion directory: svn checkout https://scm.gforge.inria.fr/anonscm/svn/morse/trunk/chameleon -morse_dir="$PWD/.." +chameleon_dir="$PWD/.." # source of the converted chameleon -morse_tmp="$PWD/chameleon" +chameleon_tmp="$PWD/chameleon" if [[ ! -e $plasma_dir ]]; then echo "plasma_dir is set to $plasma_dir which does not exist, please set the variable plasma_dir in the script $0" @@ -62,19 +62,19 @@ if [[ ! -e $licence_dir ]]; then echo "licence_dir is set to $licence_dir which does not exist, please set the variable licence_dir in the script $0" exit $? fi -if [[ ! -e $morse_dir ]]; then - echo "morse_dir is set to $morse_dir which does not exist, try to download it" +if [[ ! -e $chameleon_dir ]]; then + echo "chameleon_dir is set to $chameleon_dir which does not exist, try to download it" svn export svn+ssh://fpruvost@scm.gforge.inria.fr/svnroot/morse/trunk/chameleon - if [[ ! -e $morse_dir ]]; then - echo "morse_dir is set to $morse_dir which does not exist, please set the variable morse_dir in the script $0 and check that this path exists" + if [[ ! -e $chameleon_dir ]]; then + echo "chameleon_dir is set to $chameleon_dir which does not exist, please set the variable chameleon_dir in the script $0 and check that this path exists" exit $? fi fi -if [[ ! -e $morse_tmp ]]; then - echo "morse_tmp is set to $morse_tmp which does not exist, lets create it" - mkdir $morse_tmp - if [[ ! -e $morse_tmp ]]; then - echo "morse_tmp is set to $morse_tmp which does not exist, please set the variable morse_tmp in the script $0" +if [[ ! -e $chameleon_tmp ]]; then + echo "chameleon_tmp is set to $chameleon_tmp which does not exist, lets create it" + mkdir $chameleon_tmp + if [[ ! -e $chameleon_tmp ]]; then + echo "chameleon_tmp is set to $chameleon_tmp which does not exist, please set the variable chameleon_tmp in the script $0" exit $? fi fi @@ -441,14 +441,14 @@ timing/time_zgesv_incpiv_tile.c # Génération des sources # ---------------------- -python ${plasma_conv_dir}/generate_morseSrc.py -o ${morse_tmp} -p ${plasma_dir} -f "${list_file}" --force +python ${plasma_conv_dir}/generate_morseSrc.py -o ${chameleon_tmp} -p ${plasma_dir} -f "${list_file}" --force # Copie de la licence en entête des fichiers générés current_dir=$PWD -cd ${morse_tmp} +cd ${chameleon_tmp} ${licence_dir}/insert-licence-chameleon.sh cd ${current_dir} # Recopie de magma_morse # ---------------------- -python ${plasma_conv_dir}/generate_morseSrc.py -o ${morse_dir} -m ${morse_tmp} --force +python ${plasma_conv_dir}/generate_morseSrc.py -o ${chameleon_dir} -m ${chameleon_tmp} --force diff --git a/plasma-conversion/fileConversion.py b/plasma-conversion/fileConversion.py index e11854202ce4e509d5b4f9a9eb0f6fa09024fee0..75103d22cef70694a0e651f69fefb767fd636781 100644 --- a/plasma-conversion/fileConversion.py +++ b/plasma-conversion/fileConversion.py @@ -37,8 +37,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/plasma-conversion/fileCopy.py b/plasma-conversion/fileCopy.py index 96b9a110ee4bba97ce150cf2a0b50c676f4732a5..7a61996f6078b28b50fb39448babaa5dd96f85fa 100644 --- a/plasma-conversion/fileCopy.py +++ b/plasma-conversion/fileCopy.py @@ -37,8 +37,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/plasma-conversion/generate_morseSrc.py b/plasma-conversion/generate_morseSrc.py index d4c9d2875d4afe3c6ad6adb17e8e468ceb2affcd..e1a60b438baaa27bf1d9f35fd8de6c7c91926acb 100755 --- a/plasma-conversion/generate_morseSrc.py +++ b/plasma-conversion/generate_morseSrc.py @@ -37,8 +37,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -67,7 +67,7 @@ def main(argv): group.add_option("-y","--force" , help=': Force overwrite all files' , action='store_true', dest='force' , default=False); group.add_option("-o","--prefix" , help=': install files in PREFIX.' , action='store' , dest='prefix' , type='string', default=False); group.add_option("-p","--plasma-dir", help=': Specify the top directory of PLASMA.' , action='store' , dest='pdir' , type='string', default=False); - group.add_option("-m","--morse-dir" , help=': Specify the top directory of MORSE.' , action='store' , dest='mdir' , type='string', default=False); + group.add_option("-m","--morse-dir" , help=': Specify the top directory of CHAMELEON.' , action='store' , dest='mdir' , type='string', default=False); group.add_option("-f","--file" , help=': Specify a file(s) on which to operate.', action='store' , dest='flist' , type='string', default=False); parser.add_option_group(group); (options, args) = parser.parse_args(); @@ -80,10 +80,10 @@ def main(argv): for file in options.flist.split(): convert_file(file, options.pdir, options.prefix, options.force) - # Copy file from MORSE + # Copy file from CHAMELEON if options.prefix and options.mdir: print '\n#####################' - print '\nCOPY NEEDED SVN MORSE' + print '\nCOPY NEEDED SVN CHAMELEON' print '\n#####################' copy_file(options.mdir, options.prefix, options.force) diff --git a/plasma-conversion/insert-licence/insert-licence-chameleon.sh b/plasma-conversion/insert-licence/insert-licence-chameleon.sh index c0172dafd3ebfc532701523e1b577d935137fce3..ede6debbfdbca445f08e8dc62d4a0bdf02d34401 100755 --- a/plasma-conversion/insert-licence/insert-licence-chameleon.sh +++ b/plasma-conversion/insert-licence/insert-licence-chameleon.sh @@ -36,8 +36,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -52,7 +52,7 @@ # @date 2012-07-13 # ### -for i in $(find . -name "*.c" -or -name "*.h" -not -path "*svn*" -not -name "morse_fortran.h") +for i in $(find . -name "*.c" -or -name "*.h" -not -path "*svn*" -not -name "chameleon_fortran.h") do cat $(dirname $0)/chameleon_c.licence > $(dirname $0)/buffer.tmp cat $i >> $(dirname $0)/buffer.tmp @@ -60,7 +60,7 @@ do rm $(dirname $0)/buffer.tmp done -for i in $(find . -name "*.f" -or -name "*.F" -or -name "*.f77" -or -name "*.F77" -or -name "*.f90" -or -name "*.F90" -or -name "morse_fortran.h") +for i in $(find . -name "*.f" -or -name "*.F" -or -name "*.f77" -or -name "*.F77" -or -name "*.f90" -or -name "*.F90" -or -name "chameleon_fortran.h") do cat $(dirname $0)/chameleon_f.licence > $(dirname $0)/buffer.tmp cat $i >> $(dirname $0)/buffer.tmp diff --git a/plasma-conversion/rulesSubstitutions.py b/plasma-conversion/rulesSubstitutions.py index f766e391114fcca287d9047d46112133852b9eed..12d1cb2cdfa1e288a196dd57b5ec77c9b478c15f 100644 --- a/plasma-conversion/rulesSubstitutions.py +++ b/plasma-conversion/rulesSubstitutions.py @@ -37,8 +37,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -67,34 +67,34 @@ subs = { ( 'r', '#include([\s\S]*)plasma_private_alloc\(([^,]*),([\s\S]*?),([^)]*)\)', '//WS_ALLOC : \\3\n#include\\1' ), # end get - ( 'u', 'plasma_static_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([^;]*);', 'morse_\\3(,\\4;' ), - ( 'u', 'plasma_dynamic_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([^;]*);', 'morse_\\3(,\\4;' ), - ( 'u', 'plasma_parallel_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([^;]*);', 'morse_\\3(,\\4;' ), - ( 'u', 'plasma_static_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([\s\S]*?)request\)', 'morse_\\3(,\\4)' ), - ( 'u', 'plasma_dynamic_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([\s\S]*?)request\)', 'morse_\\3(,\\4)' ), - ( 'u', 'plasma_parallel_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([\s\S]*?)request\)', 'morse_\\3(,\\4)' ), - # Dirty replacement to put the correct call of 'morse_pz***` by removing all types + ( 'u', 'plasma_static_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([^;]*);', 'chameleon_\\3(,\\4;' ), + ( 'u', 'plasma_dynamic_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([^;]*);', 'chameleon_\\3(,\\4;' ), + ( 'u', 'plasma_parallel_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([^;]*);', 'chameleon_\\3(,\\4;' ), + ( 'u', 'plasma_static_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([\s\S]*?)request\)', 'chameleon_\\3(,\\4)' ), + ( 'u', 'plasma_dynamic_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([\s\S]*?)request\)', 'chameleon_\\3(,\\4)' ), + ( 'u', 'plasma_parallel_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([\s\S]*?)request\)', 'chameleon_\\3(,\\4)' ), + # Dirty replacement to put the correct call of 'chameleon_pz***` by removing all types # The 8 first lines are called n times more to be sure to change all `plasma_desc_mat_free(&desc` to `RUNTIME_desc_getoncpu(` - ( 'r', 'morse_p([\w]*)\(([^;]*),([\s\w]*)PLASMA_enum([ \w\*]*),([^;]*);', 'morse_p\\1(\\2,\\5;' ), - ( 'r', 'morse_p([\w]*)\(([^;]*),([\s\w]*)PLASMA_desc([ \w\*]*),([^;]*);', 'morse_p\\1(\\2,\\5;' ), - ( 'r', 'morse_p([\w]*)\(([^;]*),([\s\w]*)PLASMA_Complex64_t([ \w\*]*),([^;]*);', 'morse_p\\1(\\2,\\5;' ), - ( 'r', 'morse_p([\w]*)\(([^;]*),([\s\w]*)PLASMA_sequence([ \w\*]*),([^;]*);', 'morse_p\\1(\\2,\\5;' ), - ( 'r', 'morse_p([\w]*)\(([^;]*),([\s\w]*)PLASMA_request([ \w\*]*),([^;]*);', 'morse_p\\1(\\2,\\5;' ), - ( 'r', 'morse_p([\w]*)\(([^;]*),([\s\w]*)int([ \w\*]*),([^;]*);', 'morse_p\\1(\\2,\\5;' ), - ( 'r', 'morse_p([\w]*)\(([^;]*),([\s\w]*)float([ \w\*]*),([^;]*);', 'morse_p\\1(\\2,\\5;' ), - ( 'r', 'morse_p([\w]*)\(([^;]*),([\s\w]*)double([ \w\*]*),([^;]*);', 'morse_p\\1(\\2,\\5;' ), - - ( 'u', 'morse_p([\w]*)\(([, ]*)', 'morse_p\\1(' ), + ( 'r', 'chameleon_p([\w]*)\(([^;]*),([\s\w]*)PLASMA_enum([ \w\*]*),([^;]*);', 'chameleon_p\\1(\\2,\\5;' ), + ( 'r', 'chameleon_p([\w]*)\(([^;]*),([\s\w]*)PLASMA_desc([ \w\*]*),([^;]*);', 'chameleon_p\\1(\\2,\\5;' ), + ( 'r', 'chameleon_p([\w]*)\(([^;]*),([\s\w]*)PLASMA_Complex64_t([ \w\*]*),([^;]*);', 'chameleon_p\\1(\\2,\\5;' ), + ( 'r', 'chameleon_p([\w]*)\(([^;]*),([\s\w]*)PLASMA_sequence([ \w\*]*),([^;]*);', 'chameleon_p\\1(\\2,\\5;' ), + ( 'r', 'chameleon_p([\w]*)\(([^;]*),([\s\w]*)PLASMA_request([ \w\*]*),([^;]*);', 'chameleon_p\\1(\\2,\\5;' ), + ( 'r', 'chameleon_p([\w]*)\(([^;]*),([\s\w]*)int([ \w\*]*),([^;]*);', 'chameleon_p\\1(\\2,\\5;' ), + ( 'r', 'chameleon_p([\w]*)\(([^;]*),([\s\w]*)float([ \w\*]*),([^;]*);', 'chameleon_p\\1(\\2,\\5;' ), + ( 'r', 'chameleon_p([\w]*)\(([^;]*),([\s\w]*)double([ \w\*]*),([^;]*);', 'chameleon_p\\1(\\2,\\5;' ), + + ( 'u', 'chameleon_p([\w]*)\(([, ]*)', 'chameleon_p\\1(' ), ], # # 'compute' : [ # Check the 2 next lines when plasma const will be right ( 'u', 'OUTOFPLACE([^}]+)plasma_zooptile2lap\(([\s]*)([^,]+),([^}]+)plasma_dynamic_sync\(\);([\s]*)plasma_desc_mat_free([^}]+)}', - 'OUTOFPLACE\\1morse_zooptile2lap(\\3,\\4RUNTIME_barrier(morse);\\5RUNTIME_desc_getoncpu(&\\3);\\5plasma_desc_mat_free\\6}' ), + 'OUTOFPLACE\\1chameleon_zooptile2lap(\\3,\\4RUNTIME_barrier(morse);\\5RUNTIME_desc_getoncpu(&\\3);\\5plasma_desc_mat_free\\6}' ), ( 'u', 'OUTOFPLACE([^}]+)RUNTIME_desc_getoncpu([^;]+);([\s]*)([^}]+)}([\s\S]*)_Tile\(([\s\S]*)plasma_dynamic_sync\(\);([\s]*)status = sequence->status', 'OUTOFPLACE\\1RUNTIME_desc_getoncpu\\2;\\4}\\5_Tile(\\6RUNTIME_barrier(morse);\\7\\4\\7status = sequence->status' ), - # Dirty replacement for MORSE_z*_Tile to put RUNTIME_desc_getoncpu + # Dirty replacement for CHAMELEON_z*_Tile to put RUNTIME_desc_getoncpu # The two first lines are called 10 times more to be sure to change all `plasma_desc_mat_free(&desc` to `RUNTIME_desc_getoncpu(` ( 'r', '_Tile\(([\s\S]*)RUNTIME_barrier\(morse\);([^}]*)plasma_desc_mat_free\(&desc([^}]*)status = sequence->status', '_Tile(\\1RUNTIME_barrier(morse);\\2RUNTIME_desc_getoncpu(\\3status = sequence->status' ), @@ -103,11 +103,11 @@ subs = { # TODO: it works because it is the last call in the function # we need to find better delimiters ( 'u', '_zplghe\(([\s\S]*)\n([ \t]*)plasma_ziptile2lap\(([^;]*);', - '_zplghe(\\1\n\\2RUNTIME_barrier(morse);\n\\2morse_zooptile2lap(\\3;' ), + '_zplghe(\\1\n\\2RUNTIME_barrier(morse);\n\\2chameleon_zooptile2lap(\\3;' ), ( 'u', '_zplgsy\(([\s\S]*)\n([ \t]*)plasma_ziptile2lap\(([^;]*);', - '_zplgsy(\\1\n\\2RUNTIME_barrier(morse);\n\\2morse_zooptile2lap(\\3;' ), + '_zplgsy(\\1\n\\2RUNTIME_barrier(morse);\n\\2chameleon_zooptile2lap(\\3;' ), ( 'u', '_zplrnt\(([\s\S]*)\n([ \t]*)plasma_ziptile2lap\(([^;]*);', - '_zplrnt(\\1\n\\2RUNTIME_barrier(morse);\n\\2morse_zooptile2lap(\\3;' ), + '_zplrnt(\\1\n\\2RUNTIME_barrier(morse);\n\\2chameleon_zooptile2lap(\\3;' ), # end specific # Remove INPLACE / OUTOFPLACE @@ -119,11 +119,11 @@ subs = { ( 'u', '\n([ ]+)([\s]*)plasma_ziplap2tile([^;]*);([ \t]*)\n', '\n/*\\1\\2plasma_ziplap2tile\\3;\\4*/\n' ), # end remove - # Change plasma_desc_init into morse_zdesc_alloc - ( 'u', 'desc([\w]*)([ \t]*)=([ \t]*)plasma_desc_init\(([^,]*),([^;]*);([\s]*)([^;]*);', 'morse_zdesc_alloc(desc\\1,\\5;' ), - ( 'u', 'morse_zdesc_alloc\(([^;]*),([\w\s]*)\*([\w\s]*),([^;]*);', 'morse_zdesc_alloc(\\1,\\4;' ), - ( 'u', 'morse_zdesc_alloc\(([^;]*)\n([ \t]*)([^;]*);', 'morse_zdesc_alloc(\\1 \\3;' ), - ( 'u', 'morse_zdesc_alloc\(desc([\w]*)([^;]*)\);', 'morse_zdesc_alloc(desc\\1\\2, morse_desc_mat_free(&desc\\1));' ), + # Change plasma_desc_init into chameleon_zdesc_alloc + ( 'u', 'desc([\w]*)([ \t]*)=([ \t]*)plasma_desc_init\(([^,]*),([^;]*);([\s]*)([^;]*);', 'chameleon_zdesc_alloc(desc\\1,\\5;' ), + ( 'u', 'chameleon_zdesc_alloc\(([^;]*),([\w\s]*)\*([\w\s]*),([^;]*);', 'chameleon_zdesc_alloc(\\1,\\4;' ), + ( 'u', 'chameleon_zdesc_alloc\(([^;]*)\n([ \t]*)([^;]*);', 'chameleon_zdesc_alloc(\\1 \\3;' ), + ( 'u', 'chameleon_zdesc_alloc\(desc([\w]*)([^;]*)\);', 'chameleon_zdesc_alloc(desc\\1\\2, chameleon_desc_mat_free(&desc\\1));' ), # end chhange # Remove desc in Async @@ -139,37 +139,37 @@ subs = { '_Tile_Async(\\1\n\\7\n}\n' ), ( 'r', '_Tile_Async\(([\s\S]*)\n([ \t]*)}([ \t]*)else([ \t]*){([\s]*)}([ \t]*)\n([\s\S]*)\n}\n' , '_Tile_Async(\\1\n\\2}\n\\7\n}\n' ), - ( 'r', '_Tile_Async\(([\s\S]*)morse_p([\w]*)\(([^;]*)desc([a-zA-Z0-9]+)([^;]*);([\s\S]*)\n}\n' , - '_Tile_Async(\\1morse_p\\2(\\3\\4\\5;\\6\n}\n' ), + ( 'r', '_Tile_Async\(([\s\S]*)chameleon_p([\w]*)\(([^;]*)desc([a-zA-Z0-9]+)([^;]*);([\s\S]*)\n}\n' , + '_Tile_Async(\\1chameleon_p\\2(\\3\\4\\5;\\6\n}\n' ), # end remove - # Patch for morse_desc_submatrix (this will not work with 2-sided and LU inversion) - ( 'r', '_Tile_Async\(([\s\S]*)^([\s]*)morse_p([\w]*)\(([^;]*)plasma_desc_submatrix\(([\s]*)([a-zA-Z0-9]+),([\s\S]*)\),([^;]*);', - '_Tile_Async(\\1\\2sub\\6 = morse_desc_submatrix(\\5\\6,\\7);\n\\2morse_p\\3(\\4sub\\6,\\8;\n\\2free(sub\\6);' ), + # Patch for chameleon_desc_submatrix (this will not work with 2-sided and LU inversion) + ( 'r', '_Tile_Async\(([\s\S]*)^([\s]*)chameleon_p([\w]*)\(([^;]*)plasma_desc_submatrix\(([\s]*)([a-zA-Z0-9]+),([\s\S]*)\),([^;]*);', + '_Tile_Async(\\1\\2sub\\6 = chameleon_desc_submatrix(\\5\\6,\\7);\n\\2chameleon_p\\3(\\4sub\\6,\\8;\n\\2free(sub\\6);' ), ( 'r', '_Tile_Async\(([^)]*)\)([\s]*){([\s\S]*)free\(sub([\w]*)\)', - '_Tile_Async(\\1)\\2{\n\tMORSE_desc_t *sub\\4;\\3FLAGFREE(sub\\4)' ), - ( 'r', '_Tile_Async\(([^)]*)\)([\s]*){([\s\S]*)MORSE_desc_t \*sub([\w]*);([\s\S]*)\n^([\s]*)MORSE_desc_t \*sub\\4;', - '_Tile_Async(\\1)\\2{\\3MORSE_desc_t *sub\\4;\\5' ), + '_Tile_Async(\\1)\\2{\n\tCHAM_desc_t *sub\\4;\\3FLAGFREE(sub\\4)' ), + ( 'r', '_Tile_Async\(([^)]*)\)([\s]*){([\s\S]*)CHAM_desc_t \*sub([\w]*);([\s\S]*)\n^([\s]*)CHAM_desc_t \*sub\\4;', + '_Tile_Async(\\1)\\2{\\3CHAM_desc_t *sub\\4;\\5' ), ( 'u', 'FLAGFREE', 'free' ), # end patch - ( 'u', 'PLASMA_Dealloc_Handle_Tile', 'MORSE_Dealloc_Workspace' ), + ( 'u', 'PLASMA_Dealloc_Handle_Tile', 'CHAMELEON_Dealloc_Workspace' ), ( 'u', 'plasma_dynamic_sync\(\)', 'RUNTIME_barrier(morse)' ), ( 'u', 'QUARK_Barrier\(plasma->quark\)', 'RUNTIME_barrier(morse)' ), - ( 'u', 'PLASMA_desc', 'MORSE_desc_t' ), - ( 'u', 'plasma_context_t', 'MORSE_context_t' ), - ( 'u', 'PLASMA_sequence', 'MORSE_sequence_t' ), - ( 'u', 'PLASMA_request', 'MORSE_request_t' ), + ( 'u', 'PLASMA_desc', 'CHAM_desc_t' ), + ( 'u', 'plasma_context_t', 'CHAM_context_t' ), + ( 'u', 'PLASMA_sequence', 'RUNTIME_sequence_t' ), + ( 'u', 'PLASMA_request', 'RUNTIME_request_t' ), - ( 'u', 'PLASMA', 'MORSE' ), - ( 'u', 'Plasma', 'Morse' ), + ( 'u', 'PLASMA', 'CHAMELEON' ), + ( 'u', 'Plasma', 'Cham' ), ( 'u', 'plasma', 'morse' ), # Fix for zgels et zgelqs - ( 'u', 'MORSE_zgels_Tile_Async([\s\S]*)sub([\w]*) = ([\s\S]*?)morse_pztile_zero([\s\S]*?)free([^;]*);', - 'MORSE_zgels_Tile_Async\\1/* sub\\2 = \\3morse_pztile_zero\\4free\\5; */' ), - ( 'u', 'MORSE_zgelqs_Tile_Async([\s\S]*)sub([\w]*) = ([\s\S]*?)morse_pztile_zero([\s\S]*?)free([^;]*);', - 'MORSE_zgelqs_Tile_Async\\1/* sub\\2 = \\3morse_pztile_zero\\4free\\5; */' ), + ( 'u', 'CHAMELEON_zgels_Tile_Async([\s\S]*)sub([\w]*) = ([\s\S]*?)chameleon_pztile_zero([\s\S]*?)free([^;]*);', + 'CHAMELEON_zgels_Tile_Async\\1/* sub\\2 = \\3chameleon_pztile_zero\\4free\\5; */' ), + ( 'u', 'CHAMELEON_zgelqs_Tile_Async([\s\S]*)sub([\w]*) = ([\s\S]*?)chameleon_pztile_zero([\s\S]*?)free([^;]*);', + 'CHAMELEON_zgelqs_Tile_Async\\1/* sub\\2 = \\3chameleon_pztile_zero\\4free\\5; */' ), ], @@ -177,11 +177,11 @@ subs = { # replacements applied to pcompute files. 'pcompute' : [ ( 'u', '#if 0([\s\S]*?)#endif', '' ), - ( 'u', 'plasma_([\w]*)_quark\(', 'morse_\\1(' ), + ( 'u', 'plasma_([\w]*)_quark\(', 'chameleon_\\1(' ), ( 'u', '\*\*/([\s]*?)void([\s]*?)plasma_([\w]*?)\(([\s\S]*)}([\s]*?)/\*\*', '**/\\1\n/**' ), ( 'u', 'static scheduling([\s\S]*)dynamic scheduling', 'dynamic scheduling' ), - ( 'u', 'Quark_Task_Flags task_flags([\w]*) = Quark_Task_Flags_Initializer;', 'MORSE_option_t options\\1;' ), + ( 'u', 'Quark_Task_Flags task_flags([\w]*) = Quark_Task_Flags_Initializer;', 'RUNTIME_option_t options\\1;' ), ( 'u', 'QUARK_Task_Flag_Set\(([\s\S]*?)task_flags([\w]*)([\s]*),([^\n]*)\);', 'RUNTIME_options_init(&options\\2, morse, sequence, request);' ), ( 'u', 'plasma->quark, &task_flags([\w]*)', '&options\\1' ), ( 'u', 'RUNTIME_options_init\(&options([\w]*),([\s\S]*)}', @@ -190,19 +190,19 @@ subs = { ( 'u', 'plasma_dynamic_sync\(\)', 'RUNTIME_barrier(morse)' ), ( 'u', 'QUARK_Barrier\(plasma->quark\)', 'RUNTIME_barrier(morse)' ), - ( 'u', 'PLASMA_desc([ \t]*)', 'MORSE_desc_t\\1*' ), - ( 'u', 'plasma_context_t', 'MORSE_context_t' ), - ( 'u', 'PLASMA_sequence', 'MORSE_sequence_t' ), - ( 'u', 'PLASMA_request', 'MORSE_request_t' ), + ( 'u', 'PLASMA_desc([ \t]*)', 'CHAM_desc_t\\1*' ), + ( 'u', 'plasma_context_t', 'CHAM_context_t' ), + ( 'u', 'PLASMA_sequence', 'RUNTIME_sequence_t' ), + ( 'u', 'PLASMA_request', 'RUNTIME_request_t' ), - ( 'u', 'PLASMA', 'MORSE' ), - ( 'u', 'QUARK_CORE', 'MORSE_TASK' ), - ( 'u', 'Plasma', 'Morse' ), + ( 'u', 'PLASMA', 'CHAMELEON' ), + ( 'u', 'QUARK_CORE', 'CHAMELEON_TASK' ), + ( 'u', 'Plasma', 'Cham' ), ( 'u', 'plasma', 'morse' ), ( 'u', '_quark', '' ), - ( 'u', 'MORSE_TASK([\w]*)\(([^;]*),([ \n\t]*)sequence([^;]*);', 'MORSE_TASK\\1(\\2\\4;' ), - ( 'u', 'MORSE_TASK([\w]*)\(([^;]*),([ \n\t]*)request([^;]*);', 'MORSE_TASK\\1(\\2\\4;' ), + ( 'u', 'CHAMELEON_TASK([\w]*)\(([^;]*),([ \n\t]*)sequence([^;]*);', 'CHAMELEON_TASK\\1(\\2\\4;' ), + ( 'u', 'CHAMELEON_TASK([\w]*)\(([^;]*),([ \n\t]*)request([^;]*);', 'CHAMELEON_TASK\\1(\\2\\4;' ), ( 'u', '#define([\w\s]*)\(([\w\s]*),([\w\s]*)\)([ \t]*)BLKADDR\(([\S\s]*?),([\S\s]*?),([\S\s]*?),([\S\s]*?)\)\n', '#define\\1(\\2,\\3) \\5, \\7, \\8\n' ), @@ -217,8 +217,8 @@ subs = { # # specific patch because of dirty source code 'pzgebrd_tb2bd.c' : [ - ( 'u', '#define A\(_m, _n\) \(MORSE_Complex64_t \*\)morse_geteltaddr\(&A, \(_m\), \(_n\), eltsize\)', - '#define A(_m,_n) BLKADDR(&dA, MORSE_Complex64_t, _m, _n)' ), + ( 'u', '#define A\(_m, _n\) \(CHAMELEON_Complex64_t \*\)chameleon_geteltaddr\(&A, \(_m\), \(_n\), eltsize\)', + '#define A(_m,_n) BLKADDR(&dA, CHAMELEON_Complex64_t, _m, _n)' ), ], 'pzgetrf_reclap.c' : [ ( 'u', '#define BLKLDD\(&dA, k\) \(A\)d.lm', '#define BLKLDD(dA, k) (dA).lm' ), @@ -262,10 +262,10 @@ subs = { ( 'u', '//WS_ALLOC : ([^\n]*)\n([\s\S]*?)//WS_ADD : ([^\n]*)\n', '//ALLOC_WS : \\1\n\\2//WS_ADD : \\3\\1\n' ), ( 'r', '//WS_ALLOC : ([^\n]*)\n([\s\S]*?)//WS_ADD : ([^\n]*)\n', '//ALLOC_WS : \\1\n\\2//WS_ADD : \\3 +\\1\n' ), # end compute - ( 'u', '([\s\S]*?)WS_ADD : ([^\n]*)\n([\s\S]*?)^([\s]*)ib([\s]*)=([\s]*)MORSE_IB([\s]*);', - '\\1WS_ADD : \\2\n\\3\\4ib\\5=\\6MORSE_IB\\7;\\4h_work_size = sizeof(MORSE_Complex64_t)*(\\2 );\\4d_work_size = 0;\\4RUNTIME_options_ws_alloc( &options, h_work_size, d_work_size );\n' ), + ( 'u', '([\s\S]*?)WS_ADD : ([^\n]*)\n([\s\S]*?)^([\s]*)ib([\s]*)=([\s]*)CHAMELEON_IB([\s]*);', + '\\1WS_ADD : \\2\n\\3\\4ib\\5=\\6CHAMELEON_IB\\7;\\4h_work_size = sizeof(CHAMELEON_Complex64_t)*(\\2 );\\4d_work_size = 0;\\4RUNTIME_options_ws_alloc( &options, h_work_size, d_work_size );\n' ), ( 'u', 'RUNTIME_options_finalize\(&options, morse\);', 'RUNTIME_options_ws_free(&options);\n\tRUNTIME_options_finalize(&options, morse);' ), - ( 'u', 'MORSE_option_t options;', 'MORSE_option_t options;\n\tsize_t h_work_size, d_work_size;' ), + ( 'u', 'RUNTIME_option_t options;', 'RUNTIME_option_t options;\n\tsize_t h_work_size, d_work_size;' ), ], # ------------------------------------------------------------ @@ -280,14 +280,14 @@ subs = { ( 'u', 'BLKADDR\(([ ]*)([\w]*),([^\n]*)', 'BLKADDR(&\\2,\\3' ), ( 'u', 'BLKLDD\(([ ]*)([\w]*)([^\n]*)', 'BLKLDD(&\\2\\3' ), - ( 'u', 'PLASMA_desc', 'MORSE_desc_t' ), - ( 'u', 'PLASMA_Complex64_t', 'MORSE_Complex64_t' ), - ( 'u', 'PLASMA_Complex32_t', 'MORSE_Complex32_t' ), - ( 'u', 'PLASMA_enum', 'MORSE_enum' ), - ( 'u', 'PLASMA_CORE', 'MORSE_CORE' ), - ( 'u', 'PLASMA_SUCCESS', 'MORSE_SUCCESS' ), - ( 'u', 'PLASMA_ERR_NOT_SUPPORTED', 'MORSE_ERR_NOT_SUPPORTED' ), - ( 'u', 'Plasma', 'Morse' ), + ( 'u', 'PLASMA_desc', 'CHAM_desc_t' ), + ( 'u', 'PLASMA_Complex64_t', 'CHAMELEON_Complex64_t' ), + ( 'u', 'PLASMA_Complex32_t', 'CHAMELEON_Complex32_t' ), + ( 'u', 'PLASMA_enum', 'CHAMELEON_enum' ), + ( 'u', 'PLASMA_CORE', 'CHAMELEON_CORE' ), + ( 'u', 'PLASMA_SUCCESS', 'CHAMELEON_SUCCESS' ), + ( 'u', 'PLASMA_ERR_NOT_SUPPORTED', 'CHAMELEON_ERR_NOT_SUPPORTED' ), + ( 'u', 'Plasma', 'Cham' ), ( 'u', 'plasma', 'morse' ), ( 'u', '/([\s\\*]*)/\n\n', '' ), @@ -296,7 +296,7 @@ subs = { # ------------------------------------------------------------ # replacements applied to codelet_quark files. 'codelet_quark' : [ - ( 'u', '#include "common.h"', '#include "morse_quark.h"' ), + ( 'u', '#include "common.h"', '#include "chameleon_quark.h"' ), ( 'u', '#if defined\(PLASMA_HAVE_WEAK\)([\s\S]*?)#endif', '' ), ( 'u', '\n([\s\w]*)void([\s]*)CORE_([a-zA-Z0-9]*)\(([^)]*)\)([\s]*){([\s\S]*?)\n}', '' ), @@ -308,7 +308,7 @@ subs = { ( 'u', '\n([\s\w]*)void([\s]*)CORE_([\w]*)_([^q])([a-zA-Z0-9]*)\(([^)]*)\);', '' ), ( 'u', '\n([\s\w]*)int([\s]*)CORE_([\w]*)_([^q])([a-zA-Z0-9]*)\(([^)]*)\);', '' ), - ( 'u', 'Quark([\s]*)\*quark,([\s]*)Quark_Task_Flags([\s]*)\*task_flags,', 'MORSE_option_t *options,' ), + ( 'u', 'Quark([\s]*)\*quark,([\s]*)Quark_Task_Flags([\s]*)\*task_flags,', 'RUNTIME_option_t *options,' ), ( 'u', 'plasma_sequence_flush', 'RUNTIME_sequence_flush' ), ( 'u', 'QUARK_Insert_Task\(([ \t\n]*)quark', 'QUARK_Insert_Task(\\1options->quark' ), ( 'u', 'QUARK_Insert_Task\(([^)]*)task_flags', 'QUARK_Insert_Task(\\1options->task_flags' ), @@ -317,25 +317,25 @@ subs = { ( 'u', '\(([\s\S]*),([\s]*)PLASMA_sequence([^,]*)sequence', '(\\1' ), ( 'u', '\(([\s\S]*),([\s]*)PLASMA_request([^,]*)request', '(\\1' ), - ( 'u', 'PLASMA_sequence', 'MORSE_sequence_t' ), - ( 'u', 'PLASMA_request', 'MORSE_request_t' ), - ( 'u', 'PLASMA_desc', 'MORSE_desc_t' ), + ( 'u', 'PLASMA_sequence', 'RUNTIME_sequence_t' ), + ( 'u', 'PLASMA_request', 'RUNTIME_request_t' ), + ( 'u', 'PLASMA_desc', 'CHAM_desc_t' ), ( 'u', 'static inline \n', '' ), ( 'u', 'static \n', '' ), ( 'r', 'QUARK_CORE([\w]*)\(([\s\S]*)const ([ \t\w]*)\*([\w]*),' , 'QUARK_CORE\\1(\\2\\3*\\4,' ), - ( 'r', 'QUARK_CORE([\w]*)\(([\s\S]*)PLASMA_Complex64_t([ \t]*)\*([\w]*),' , 'QUARK_CORE\\1(\\2MORSE_desc_t *\\4, int \\4m, int \\4n,' ), - ( 'r', 'QUARK_CORE([\w]*)\(([\s\S]*)PLASMA_Complex32_t([ \t]*)\*([\w]*),' , 'QUARK_CORE\\1(\\2MORSE_desc_t *\\4, int \\4m, int \\4n,' ), + ( 'r', 'QUARK_CORE([\w]*)\(([\s\S]*)PLASMA_Complex64_t([ \t]*)\*([\w]*),' , 'QUARK_CORE\\1(\\2CHAM_desc_t *\\4, int \\4m, int \\4n,' ), + ( 'r', 'QUARK_CORE([\w]*)\(([\s\S]*)PLASMA_Complex32_t([ \t]*)\*([\w]*),' , 'QUARK_CORE\\1(\\2CHAM_desc_t *\\4, int \\4m, int \\4n,' ), ( 'r', 'QUARK_Insert_Task\(([^;]*)sizeof\(PLASMA_Complex64_t\)\*([\s\S]*?),([\s]*)([\w]*),', - 'QUARK_Insert_Task(\\1sizeof(MORSE_Complex64_t)*\\2,\\3RTBLKADDR(\\4, MORSE_Complex64_t, \\4m, \\4n),' ), + 'QUARK_Insert_Task(\\1sizeof(CHAMELEON_Complex64_t)*\\2,\\3RTBLKADDR(\\4, CHAMELEON_Complex64_t, \\4m, \\4n),' ), ( 'r', 'QUARK_Insert_Task\(([^;]*)sizeof\(PLASMA_Complex32_t\)\*([\s\S]*?),([\s]*)([\w]*),', - 'QUARK_Insert_Task(\\1sizeof(MORSE_Complex32_t)*\\2,\\3RTBLKADDR(\\4, MORSE_Complex32_t, \\4m, \\4n),' ), - ( 'u', 'RTBLKADDR\(NULL, MORSE_Complex64_t, NULLm, NULLn\)' , 'NULL' ), + 'QUARK_Insert_Task(\\1sizeof(CHAMELEON_Complex32_t)*\\2,\\3RTBLKADDR(\\4, CHAMELEON_Complex32_t, \\4m, \\4n),' ), + ( 'u', 'RTBLKADDR\(NULL, CHAMELEON_Complex64_t, NULLm, NULLn\)' , 'NULL' ), - ( 'u', 'QUARK_CORE', 'MORSE_TASK' ), - ( 'u', 'PLASMA', 'MORSE' ), - ( 'u', 'Plasma', 'Morse' ), + ( 'u', 'QUARK_CORE', 'CHAMELEON_TASK' ), + ( 'u', 'PLASMA', 'CHAMELEON' ), + ( 'u', 'Plasma', 'Cham' ), ( 'u', 'plasma', 'morse' ), ( 'u', 'qwrapper_([\w]*).c', 'codelet_\\1.c' ), @@ -350,11 +350,11 @@ subs = { # Suppress additional functions (ex: gemm2, gemm_f2...) ( 'u', '\n([\s\w]*)([\w]*)([\s]*)CORE_zgemm_([\w]+)_quark\(([^)]*)\)([\s]*){([\s\S]*?)\n}' , '' ), - ( 'u', '\n([\s\w]*)([\w]*)([\s]*)MORSE_TASK_zgemm_([\w]+)\(([^)]*)\)([\s]*){([\s\S]*?)\n}' , '' ), + ( 'u', '\n([\s\w]*)([\w]*)([\s]*)CHAMELEON_TASK_zgemm_([\w]+)\(([^)]*)\)([\s]*){([\s\S]*?)\n}' , '' ), ( 'u', '\n([\s\w]*)([\w]*)([\s]*)CORE_zgemm([0-9]+)_quark\(([^)]*)\)([\s]*){([\s\S]*?)\n}' , '' ), - ( 'u', '\n([\s\w]*)([\w]*)([\s]*)MORSE_TASK_zgemm([0-9]+)\(([^)]*)\)([\s]*){([\s\S]*?)\n}' , '' ), + ( 'u', '\n([\s\w]*)([\w]*)([\s]*)CHAMELEON_TASK_zgemm([0-9]+)\(([^)]*)\)([\s]*){([\s\S]*?)\n}' , '' ), ( 'u', '\n([\s\w]*)([\w]*)([\s]*)CORE_ztrmm_([\w]+)_quark\(([^)]*)\)([\s]*){([\s\S]*?)\n}' , '' ), - ( 'u', '\n([\s\w]*)([\w]*)([\s]*)MORSE_TASK_ztrmm_([\w]+)\(([^)]*)\)([\s]*){([\s\S]*?)\n}' , '' ), + ( 'u', '\n([\s\w]*)([\w]*)([\s]*)CHAMELEON_TASK_ztrmm_([\w]+)\(([^)]*)\)([\s]*){([\s\S]*?)\n}' , '' ), ( 'u', '/\*([\s\*]*)\*/([\s]*)/\*([\s\*]*)\*/\n' , '' ), # end suppress @@ -367,40 +367,40 @@ subs = { # replacements applied to codelet_starpu files. 'codelet_starpu' : [ # Transformation for cl_***_cpu_func - ( 'u', '#include "morse_quark.h"', '#include "morse_starpu.h"' ), + ( 'u', '#include "chameleon_quark.h"', '#include "chameleon_starpu.h"' ), ( 'u', 'void([ \t]*)CORE_([\w]*)_quark\(([^)]*)\)', 'static void cl_\\2_cpu_func(void *descr[], void *cl_arg)' ), - ( 'u', '\n([ \t]*)MORSE_sequence_t([ \t]*)\*sequence;([ \t]*)\n', '\n' ), - ( 'u', '\n([ \t]*)MORSE_request_t([ \t]*)\*request;([ \t]*)\n', '\n' ), + ( 'u', '\n([ \t]*)RUNTIME_sequence_t([ \t]*)\*sequence;([ \t]*)\n', '\n' ), + ( 'u', '\n([ \t]*)RUNTIME_request_t([ \t]*)\*request;([ \t]*)\n', '\n' ), ( 'u', '\n([ \t]*)if([\s\S]*?)RUNTIME_sequence_flush([^;]*);([ \t]*)\n', '\n' ), ( 'u', 'int info;', 'int info = 0;' ), ( 'u', 'quark_unpack_args_([\w]*)\(([\s]*)quark([\s]*),', 'starpu_codelet_unpack_args(cl_arg,' ), ( 'u', 'starpu_codelet_unpack_args\(([^;]*),([\s]*)sequence([^)]*)', 'starpu_codelet_unpack_args(\\1\\3' ), ( 'u', 'starpu_codelet_unpack_args\(([^;]*),([\s]*)request([^;]*)', 'starpu_codelet_unpack_args(\\1\\3' ), ( 'r', 'starpu_codelet_unpack_args\(([^;]*),([\s]*)([^&\s]+)([^;]*);', 'starpu_codelet_unpack_args(\\1,\\2&\\3\\4;' ), - ( 'r', 'RTBLKADDR\(([ \t]*)([\w]+)([\s\S]*)MORSE_Complex64_t([ \t]*)\*\\2;([\s\S]*)\n([ \t]*)starpu_codelet_unpack_args([^;]*),([\s]*)&\\2([,\\)]+)', - 'RTBLKADDR(\\1\\2\\3MORSE_Complex64_t\\4*\\2;\\5\n\\6\\2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]);\n\\6starpu_codelet_unpack_args\\7\\9'), + ( 'r', 'RTBLKADDR\(([ \t]*)([\w]+)([\s\S]*)CHAMELEON_Complex64_t([ \t]*)\*\\2;([\s\S]*)\n([ \t]*)starpu_codelet_unpack_args([^;]*),([\s]*)&\\2([,\\)]+)', + 'RTBLKADDR(\\1\\2\\3CHAMELEON_Complex64_t\\4*\\2;\\5\n\\6\\2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]);\n\\6starpu_codelet_unpack_args\\7\\9'), # repeat: We need to repeat manually to increase the index of descr - ( 'u', 'descr\[0\]\);([ \t\n]*)([\w]*) = \(MORSE_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[0\]', - 'descr[0]);\\1\\2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]' ), - ( 'u', 'descr\[1\]\);([ \t\n]*)([\w]*) = \(MORSE_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[0\]', - 'descr[1]);\\1\\2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]' ), - ( 'u', 'descr\[2\]\);([ \t\n]*)([\w]*) = \(MORSE_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[1\]', - 'descr[2]);\\1\\2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]' ), - ( 'u', 'descr\[3\]\);([ \t\n]*)([\w]*) = \(MORSE_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[2\]', - 'descr[3]);\\1\\2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]' ), - ( 'u', 'descr\[4\]\);([ \t\n]*)([\w]*) = \(MORSE_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[3\]', - 'descr[4]);\\1\\2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[5]' ), - ( 'u', 'descr\[5\]\);([ \t\n]*)([\w]*) = \(MORSE_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[4\]', - 'descr[5]);\\1\\2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[6]' ), - ( 'u', 'descr\[6\]\);([ \t\n]*)([\w]*) = \(MORSE_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[5\]', - 'descr[6]);\\1\\2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[7]' ), - ( 'u', 'descr\[7\]\);([ \t\n]*)([\w]*) = \(MORSE_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[6\]', - 'descr[7]);\\1\\2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[8]' ), - ( 'u', 'descr\[8\]\);([ \t\n]*)([\w]*) = \(MORSE_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[7\]', - 'descr[8]);\\1\\2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[9]' ), - ( 'u', 'descr\[9\]\);([ \t\n]*)([\w]*) = \(MORSE_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[8\]', - 'descr[9]);\\1\\2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[9]' ), + ( 'u', 'descr\[0\]\);([ \t\n]*)([\w]*) = \(CHAMELEON_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[0\]', + 'descr[0]);\\1\\2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]' ), + ( 'u', 'descr\[1\]\);([ \t\n]*)([\w]*) = \(CHAMELEON_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[0\]', + 'descr[1]);\\1\\2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]' ), + ( 'u', 'descr\[2\]\);([ \t\n]*)([\w]*) = \(CHAMELEON_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[1\]', + 'descr[2]);\\1\\2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]' ), + ( 'u', 'descr\[3\]\);([ \t\n]*)([\w]*) = \(CHAMELEON_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[2\]', + 'descr[3]);\\1\\2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]' ), + ( 'u', 'descr\[4\]\);([ \t\n]*)([\w]*) = \(CHAMELEON_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[3\]', + 'descr[4]);\\1\\2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[5]' ), + ( 'u', 'descr\[5\]\);([ \t\n]*)([\w]*) = \(CHAMELEON_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[4\]', + 'descr[5]);\\1\\2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[6]' ), + ( 'u', 'descr\[6\]\);([ \t\n]*)([\w]*) = \(CHAMELEON_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[5\]', + 'descr[6]);\\1\\2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[7]' ), + ( 'u', 'descr\[7\]\);([ \t\n]*)([\w]*) = \(CHAMELEON_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[6\]', + 'descr[7]);\\1\\2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[8]' ), + ( 'u', 'descr\[8\]\);([ \t\n]*)([\w]*) = \(CHAMELEON_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[7\]', + 'descr[8]);\\1\\2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[9]' ), + ( 'u', 'descr\[9\]\);([ \t\n]*)([\w]*) = \(CHAMELEON_Complex64_t \*\)STARPU_MATRIX_GET_PTR\(descr\[8\]', + 'descr[9]);\\1\\2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[9]' ), # end repeat ( 'r', 'cl_([\w]*)_cpu_func\(([\s\S]*?)STARPU_MATRIX_GET_PTR\(descr\[0\]\);([\s]*)starpu_codelet_unpack_args([\s\S]*)$', 'TREATED_\\1_cpu_func(\\2STARPU_MATRIX_GET_PTR(descr[0]);\\3starpu_codelet_unpack_args\\4/*\n * Codelet definition\n */\nCODELETS_CPU(\\1, 1, cl_\\1_cpu_func)\n' ), @@ -423,19 +423,19 @@ subs = { ( 'u', 'TREATED', 'cl' ), # end Transformation - # Transformation for MORSE_TASK + # Transformation for CHAMELEON_TASK ( 'u', '\n([ \t]*)DAG_CORE_([\w]*);\n', '\n' ), ( 'u', 'QUARK_Insert_Task', 'starpu_insert_task' ), ( 'u', 'options->quark([\s\S]*?)options->task_flags,', 'codelet,' ), - ( 'u', 'MORSE_TASK_([\w]*)\(([^)]*)\)([\s]*){([\s]*)([\w])', - 'MORSE_TASK_\\1(\\2)\\3{\\4(void)nb;\\4struct starpu_codelet *codelet = &cl_\\1;\\4void (*callback)(void*) = options->profiling ? cl_\\1_callback : NULL;\\4\\5' ), + ( 'u', 'CHAMELEON_TASK_([\w]*)\(([^)]*)\)([\s]*){([\s]*)([\w])', + 'CHAMELEON_TASK_\\1(\\2)\\3{\\4(void)nb;\\4struct starpu_codelet *codelet = &cl_\\1;\\4void (*callback)(void*) = options->profiling ? cl_\\1_callback : NULL;\\4\\5' ), ( 'r', 'starpu_insert_task\(([^;]*)\|([\s]*)LOCALITY([^;]*?)', 'starpu_insert_task(\\1\\3' ), ( 'r', 'starpu_insert_task\(([^;]*)\|([\s]*)QUARK_REGION_D([^;]*?)', 'starpu_insert_task(\\1\\3' ), ( 'r', 'starpu_insert_task\(([^;]*)\|([\s]*)QUARK_REGION_U([^;]*?)', 'starpu_insert_task(\\1\\3' ), ( 'r', 'starpu_insert_task\(([^;]*)\|([\s]*)QUARK_REGION_L([^;]*?)', 'starpu_insert_task(\\1\\3' ), - ( 'r', 'starpu_insert_task\(([^;]*)sizeof\(MORSE_request_t([ \t]*)\*\)([\s\S]*?),([\s\S]*?),([\s\S]*?),([ \t]*)\n([ \t]*)sizeof', + ( 'r', 'starpu_insert_task\(([^;]*)sizeof\(RUNTIME_request_t([ \t]*)\*\)([\s\S]*?),([\s\S]*?),([\s\S]*?),([ \t]*)\n([ \t]*)sizeof', 'starpu_insert_task(\\1sizeof' ), - ( 'r', 'starpu_insert_task\(([^;]*)sizeof\(MORSE_sequence_t([ \t]*)\*\)([\s\S]*?),([\s\S]*?),([\s\S]*?),([ \t]*)\n([ \t]*)sizeof', + ( 'r', 'starpu_insert_task\(([^;]*)sizeof\(RUNTIME_sequence_t([ \t]*)\*\)([\s\S]*?),([\s\S]*?),([\s\S]*?),([ \t]*)\n([ \t]*)sizeof', 'starpu_insert_task(\\1sizeof' ), ( 'r', 'starpu_insert_task\(([^;]*)sizeof\(([^,]*),([\s]*)RTBLKADDR\(([^)]*)\),([\s]*)([\S]*)([\s]*),', 'starpu_insert_task(\\1\\6,\\5RTBLKADDR(\\4),' ), @@ -458,11 +458,11 @@ subs = { ( 'u', 'STARPU_([\w]*),([\s]*)IPIV,([\s]*)sizeof\(int\)([^,]*)', 'STARPU_VALUE,\\2&IPIV,\\3sizeof(int*)' ), # Special remove - ( 'u', 'MORSE_TASK_zlaset2\(([^)]*)\)([\s]*){([\s]*)\(void\)nb;', 'MORSE_TASK_zlaset2(\\1)\\2{\\3' ), - ( 'u', 'MORSE_TASK_zlaset\(([^)]*)\)([\s]*){([\s]*)\(void\)nb;', 'MORSE_TASK_zlaset(\\1)\\2{\\3' ), - ( 'u', 'MORSE_TASK_zplghe\(([^)]*)\)([\s]*){([\s]*)\(void\)nb;', 'MORSE_TASK_zplghe(\\1)\\2{\\3' ), - ( 'u', 'MORSE_TASK_zplrnt\(([^)]*)\)([\s]*){([\s]*)\(void\)nb;', 'MORSE_TASK_zplrnt(\\1)\\2{\\3' ), - ( 'u', 'MORSE_TASK_zplgsy\(([^)]*)\)([\s]*){([\s]*)\(void\)nb;', 'MORSE_TASK_zplgsy(\\1)\\2{\\3' ), + ( 'u', 'CHAMELEON_TASK_zlaset2\(([^)]*)\)([\s]*){([\s]*)\(void\)nb;', 'CHAMELEON_TASK_zlaset2(\\1)\\2{\\3' ), + ( 'u', 'CHAMELEON_TASK_zlaset\(([^)]*)\)([\s]*){([\s]*)\(void\)nb;', 'CHAMELEON_TASK_zlaset(\\1)\\2{\\3' ), + ( 'u', 'CHAMELEON_TASK_zplghe\(([^)]*)\)([\s]*){([\s]*)\(void\)nb;', 'CHAMELEON_TASK_zplghe(\\1)\\2{\\3' ), + ( 'u', 'CHAMELEON_TASK_zplrnt\(([^)]*)\)([\s]*){([\s]*)\(void\)nb;', 'CHAMELEON_TASK_zplrnt(\\1)\\2{\\3' ), + ( 'u', 'CHAMELEON_TASK_zplgsy\(([^)]*)\)([\s]*){([\s]*)\(void\)nb;', 'CHAMELEON_TASK_zplgsy(\\1)\\2{\\3' ), # end remove ( 'u', '/([\s\\*\\/]*?)/', '' ), ], @@ -474,18 +474,18 @@ subs = { ( 'r', 'starpu_insert_task\(([^;]*)\n^([\s]*)STARPU_SCRATCH,([\s]*)NULL,([^,]*),([^;]*)^([\s]*)STARPU_SCRATCH,([\s]*)NULL,([^,]*),', 'starpu_insert_task(\\1\\5\\6STARPU_SCRATCH,\\7NULL,\\8,' ), ( 'u', '^([\s]*)STARPU_SCRATCH,([\s]*)NULL,([^,]*),', - '\\1STARPU_VALUE,\\2&h_work, sizeof(MORSE_starpu_ws_t *),\n\\1STARPU_VALUE,\\2&d_work, sizeof(MORSE_starpu_ws_t *),' ), - ( 'u', '^([ \t]*)starpu_insert_task', '\\1MORSE_starpu_ws_t *h_work = (MORSE_starpu_ws_t*)(options->ws_host);\n\\1MORSE_starpu_ws_t *d_work = (MORSE_starpu_ws_t*)(options->ws_device);\n\n\\1starpu_insert_task' ), + '\\1STARPU_VALUE,\\2&h_work, sizeof(CHAMELEON_starpu_ws_t *),\n\\1STARPU_VALUE,\\2&d_work, sizeof(CHAMELEON_starpu_ws_t *),' ), + ( 'u', '^([ \t]*)starpu_insert_task', '\\1CHAMELEON_starpu_ws_t *h_work = (CHAMELEON_starpu_ws_t*)(options->ws_host);\n\\1CHAMELEON_starpu_ws_t *d_work = (CHAMELEON_starpu_ws_t*)(options->ws_device);\n\n\\1starpu_insert_task' ), # Modify cl_***_cpu_func - ( 'u', 'static void cl_([\w]*)([^{]*?){', 'static void cl_\\1\\2{\n\tMORSE_starpu_ws_t *h_work;\n\tMORSE_starpu_ws_t *d_work;' ), - ( 'r', 'MORSE_Complex64_t([\s]*)\*([\w]*);([\s\S]*?)^([\s]*)starpu_codelet_unpack_args\(([^;]*)\&\\2([,\)])([^;]*);', - 'MORSE_Complex64_tDONE\\1*\\2;\\3\\4starpu_codelet_unpack_args(\\5&\\2\\6\\7;\n\\4\\2 = (MORSE_Complex64_t*)RUNTIME_starpu_ws_getlocal(h_work);' ), - ( 'r', 'MORSE_Complex64_tDONE([\s]*)\*([\w]*);([\s\S]*?)^([\s]*)starpu_codelet_unpack_args\(([^;]*)\&\\2([,\)])', - 'MORSE_Complex64_tDONE\\1*\\2;\\3\\4starpu_codelet_unpack_args(\\5CLSCRATCH\\6' ), + ( 'u', 'static void cl_([\w]*)([^{]*?){', 'static void cl_\\1\\2{\n\tCHAMELEON_starpu_ws_t *h_work;\n\tCHAMELEON_starpu_ws_t *d_work;' ), + ( 'r', 'CHAMELEON_Complex64_t([\s]*)\*([\w]*);([\s\S]*?)^([\s]*)starpu_codelet_unpack_args\(([^;]*)\&\\2([,\)])([^;]*);', + 'CHAMELEON_Complex64_tDONE\\1*\\2;\\3\\4starpu_codelet_unpack_args(\\5&\\2\\6\\7;\n\\4\\2 = (CHAMELEON_Complex64_t*)RUNTIME_starpu_ws_getlocal(h_work);' ), + ( 'r', 'CHAMELEON_Complex64_tDONE([\s]*)\*([\w]*);([\s\S]*?)^([\s]*)starpu_codelet_unpack_args\(([^;]*)\&\\2([,\)])', + 'CHAMELEON_Complex64_tDONE\\1*\\2;\\3\\4starpu_codelet_unpack_args(\\5CLSCRATCH\\6' ), ( 'r', 'starpu_codelet_unpack_args\(([^;]*)CLSCRATCH([,\)])([^;]*)CLSCRATCH([,\)])', 'starpu_codelet_unpack_args(\\1\\3CLSCRATCH\\4' ), ( 'u', 'starpu_codelet_unpack_args\(([^;]*)CLSCRATCH', 'starpu_codelet_unpack_args(\\1&h_work, &d_work' ), - ( 'u', 'MORSE_Complex64_tDONE', 'MORSE_Complex64_t' ), + ( 'u', 'CHAMELEON_Complex64_tDONE', 'CHAMELEON_Complex64_t' ), # Specifc transformation - change order of WORK and TAU ( 'u', 'WORK([^;]*)RUNTIME_starpu_ws_getlocal([^;]*);([\s]*)TAU([^;]*)RUNTIME_starpu_ws_getlocal([^;]*);', 'TAU\\4RUNTIME_starpu_ws_getlocal\\5;\\3WORK = TAU + max( m, n );' ), @@ -496,11 +496,11 @@ subs = { 'codelet_starpu_cuda' : [ # Transformation for cl_***_cuda_func (cublas) ( 'u', 'static void cl_([\w]*)_cpu_func\(([^)]*)\)([\s]*){([\s\S]*?)}', - 'static void cl_\\1_cpu_func(\\2)\\3{\\4}\n\n#ifdef MORSE_USE_CUDA\nstatic void cl_\\1_cuda_func(\\2)\\3{\\4}\n#endif\n' ), + 'static void cl_\\1_cpu_func(\\2)\\3{\\4}\n\n#ifdef CHAMELEON_USE_CUDA\nstatic void cl_\\1_cuda_func(\\2)\\3{\\4}\n#endif\n' ), ( 'u', 'cl_([\w]*)_cuda_func\(([^)]*)\)([\s]*){([\s\S]*?)return([\s]*);([\s\S]*?)}', 'cl_\\1_cuda_func(\\2)\\3{\\4\\6}' ), ( 'u', 'cl_([\w]*)_cuda_func\(([^)]*)\)([\s]*){([\s\S]*?)}', 'cl_\\1_cuda_func(\\2)\\3{\\4\n\tcudaThreadSynchronize();\n\treturn;\n}' ), ( 'r', 'cl_([\w]*)_cuda_func\(([^)]*)\)([\s]*){([\s\S]*?)cblas_z([\s\S]*?)}', 'cl_\\1_cuda_func(\\2)\\3{\\4cublasZ\\5}' ), - ( 'r', 'cl_([\w]*)_cuda_func\(([^)]*)\)([\s]*){([\s\S]*?)MORSE_Complex64_t([\s\S]*?)}', 'cl_\\1_cuda_func(\\2)\\3{\\4cuDoubleComplex\\5}' ), + ( 'r', 'cl_([\w]*)_cuda_func\(([^)]*)\)([\s]*){([\s\S]*?)CHAMELEON_Complex64_t([\s\S]*?)}', 'cl_\\1_cuda_func(\\2)\\3{\\4cuDoubleComplex\\5}' ), ( 'r', 'cl_([\w]*)_cuda_func\(([^)]*)\)([\s]*){([\s\S]*?)CBLAS_SADDR\(([\w]*)\)([\s\S]*?)}', 'cl_\\1_cuda_func(\\2)\\3{\\4\\5\\6}' ), ( 'r', 'cl_([\w]*)_cuda_func\(([^)]*)\)([\s]*){([\s\S]*?)([\s]*)CblasColMajor,([\s\S]*?)}', 'cl_\\1_cuda_func(\\2)\\3{\\4\\6}' ), ( 'r', 'cl_([\w]*)_cuda_func\(([^)]*)\)([\s]*){([\s\S]*?)\(CBLAS_([A-Z]*)\)([\w]*),([\s\S]*?)}', @@ -552,11 +552,11 @@ subs = { ( 'u', '/([^/]*)called by PLASMA([^/]*)/\n', '' ), ( 'u', '/([^/]*)called by QUARK([^/]*)/\n', '' ), ( 'u', '#ifdef COMPLEX([ \t]*)\n#endif([ \t]*)\n', '' ), - ( 'u', 'PLASMA_desc', 'MORSE_desc_t' ), - ( 'u', 'PLASMA_Complex64_t', 'MORSE_Complex64_t' ), - ( 'u', 'PLASMA_Complex32_t', 'MORSE_Complex32_t' ), - ( 'u', 'PLASMA_enum', 'MORSE_enum' ), - ( 'u', 'PLASMA_CORE', 'MORSE_CORE' ), + ( 'u', 'PLASMA_desc', 'CHAM_desc_t' ), + ( 'u', 'PLASMA_Complex64_t', 'CHAMELEON_Complex64_t' ), + ( 'u', 'PLASMA_Complex32_t', 'CHAMELEON_Complex32_t' ), + ( 'u', 'PLASMA_enum', 'CHAMELEON_enum' ), + ( 'u', 'PLASMA_CORE', 'CHAMELEON_CORE' ), ], # # @@ -570,7 +570,7 @@ subs = { ( 'u', '/([^/]*)serial kernels([^/]*)/\n', '' ), ( 'u', '/([^/]*)called by QUARK([^/]*)/\n', '' ), - ( 'u', 'Quark([\s]*)\*quark,([\s]*)Quark_Task_Flags([\s]*)\*task_flags,', 'MORSE_option_t *options,' ), + ( 'u', 'Quark([\s]*)\*quark,([\s]*)Quark_Task_Flags([\s]*)\*task_flags,', 'RUNTIME_option_t *options,' ), ( 'u', 'PLASMA_sequence([^,]*)sequence\)', ')' ), ( 'u', 'PLASMA_request([^,]*)request\)', ')' ), ( 'u', 'PLASMA_sequence([^,]*)sequence,', '' ), @@ -578,15 +578,15 @@ subs = { ( 'u', 'void([ \t]*)QUARK_CORE_([^)]*),([\s]*)\);', 'void\\1QUARK_CORE_\\2);' ), ( 'u', 'int([ \t]*)QUARK_CORE_([^)]*),([\s]*)\);', 'int\\1QUARK_CORE_\\2);' ), ( 'r', 'QUARK_CORE([\w]*)\(([\s\S]*)const ([ \t\w]*)\*([\w]*),' , 'QUARK_CORE\\1(\\2\\3*\\4,' ), - ( 'r', 'QUARK_CORE([\w]*)\(([\s\S]*)PLASMA_Complex64_t([ \t]*)\*([\w]*),' , 'QUARK_CORE\\1(\\2MORSE_desc_t *\\4, int \\4m, int \\4n,' ), - ( 'r', 'QUARK_CORE([\w]*)\(([\s\S]*)PLASMA_Complex32_t([ \t]*)\*([\w]*),' , 'QUARK_CORE\\1(\\2MORSE_desc_t *\\4, int \\4m, int \\4n,' ), + ( 'r', 'QUARK_CORE([\w]*)\(([\s\S]*)PLASMA_Complex64_t([ \t]*)\*([\w]*),' , 'QUARK_CORE\\1(\\2CHAM_desc_t *\\4, int \\4m, int \\4n,' ), + ( 'r', 'QUARK_CORE([\w]*)\(([\s\S]*)PLASMA_Complex32_t([ \t]*)\*([\w]*),' , 'QUARK_CORE\\1(\\2CHAM_desc_t *\\4, int \\4m, int \\4n,' ), - ( 'u', 'PLASMA_sequence', 'MORSE_sequence_t' ), - ( 'u', 'PLASMA_request', 'MORSE_request_t' ), - ( 'u', 'PLASMA_desc', 'MORSE_desc_t' ), + ( 'u', 'PLASMA_sequence', 'RUNTIME_sequence_t' ), + ( 'u', 'PLASMA_request', 'RUNTIME_request_t' ), + ( 'u', 'PLASMA_desc', 'CHAM_desc_t' ), - ( 'u', 'QUARK_CORE', 'MORSE_TASK' ), - ( 'u', 'PLASMA', 'MORSE' ), + ( 'u', 'QUARK_CORE', 'CHAMELEON_TASK' ), + ( 'u', 'PLASMA', 'CHAMELEON' ), ], # # @@ -604,15 +604,15 @@ subs = { ( 'u', '/([^/]*) serial kernels([^/]*)/\n', '' ), ( 'u', '#ifdef COMPLEX([ \t]*)\n#endif([ \t]*)\n', '' ), - ( 'u', 'PLASMA', 'MORSE' ), + ( 'u', 'PLASMA', 'CHAMELEON' ), ], # # 'include_morse' : [ - ( 'u', 'PLASMA_sequence', 'MORSE_sequence_t' ), - ( 'u', 'PLASMA_request', 'MORSE_request_t' ), - ( 'u', 'PLASMA_desc', 'MORSE_desc_t' ), - ( 'u', 'PLASMA', 'MORSE' ), + ( 'u', 'PLASMA_sequence', 'RUNTIME_sequence_t' ), + ( 'u', 'PLASMA_request', 'RUNTIME_request_t' ), + ( 'u', 'PLASMA_desc', 'CHAM_desc_t' ), + ( 'u', 'PLASMA', 'CHAMELEON' ), ( 'u', 'plasma', 'morse' ), ], @@ -620,45 +620,45 @@ subs = { # replacements applied to control files. 'control' : [ ( 'u', 'plasma_alloc_ipiv\(([\w]*), ([\w]*), PLASMA_FUNC_ZGESV, \(void([ ]*)\*\*\)IPIV\)', - 'morse_alloc_ipiv(\\1, \\2, MORSE_FUNC_ZGESV, MorseComplexDouble, descL, (void**)IPIV)' ), - ( 'u', 'plasma_shared_alloc', 'morse_desc_mat_alloc' ), + 'chameleon_alloc_ipiv(\\1, \\2, CHAMELEON_FUNC_ZGESV, ChamComplexDouble, descL, (void**)IPIV)' ), + ( 'u', 'plasma_shared_alloc', 'chameleon_desc_mat_alloc' ), ( 'u', 'Declarations of parallel functions \(static scheduling\)([\s\S]*?)Declarations of internal sequential functions', 'Declarations of internal sequential functions' ), - ( 'u', 'plasma_parallel_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([^;]*);', 'morse_\\3(\\4;' ), - ( 'u', 'morse_pzlapack_to_tile\(([^;]*?);', 'morse_pzlapack_to_tile(A, lm, &descA, seq, req);' ), - ( 'u', 'morse_pztile_to_lapack\(([^;]*?);', 'morse_pztile_to_lapack(&descA, A, lm, seq, req);' ), - ( 'u', 'PLASMA_Dealloc_Handle_Tile', 'MORSE_Dealloc_Workspace' ), - - ( 'u', 'PLASMA_sequence', 'MORSE_sequence_t' ), - ( 'u', 'PLASMA_request', 'MORSE_request_t' ), - ( 'u', 'PLASMA_desc([ \t]*)([\w])', 'MORSE_desc_t\\1*\\2' ), - ( 'u', 'PLASMA_desc', 'MORSE_desc_t' ), - ( 'u', 'plasma_context_t', 'MORSE_context_t' ), - ( 'u', 'PLASMA', 'MORSE' ), - ( 'u', 'Plasma', 'Morse' ), + ( 'u', 'plasma_parallel_call_([\w]*)\(([\s\\\]*)plasma_([\w]*),([^;]*);', 'chameleon_\\3(\\4;' ), + ( 'u', 'chameleon_pzlapack_to_tile\(([^;]*?);', 'chameleon_pzlapack_to_tile(A, lm, &descA, seq, req);' ), + ( 'u', 'chameleon_pztile_to_lapack\(([^;]*?);', 'chameleon_pztile_to_lapack(&descA, A, lm, seq, req);' ), + ( 'u', 'PLASMA_Dealloc_Handle_Tile', 'CHAMELEON_Dealloc_Workspace' ), + + ( 'u', 'PLASMA_sequence', 'RUNTIME_sequence_t' ), + ( 'u', 'PLASMA_request', 'RUNTIME_request_t' ), + ( 'u', 'PLASMA_desc([ \t]*)([\w])', 'CHAM_desc_t\\1*\\2' ), + ( 'u', 'PLASMA_desc', 'CHAM_desc_t' ), + ( 'u', 'plasma_context_t', 'CHAM_context_t' ), + ( 'u', 'PLASMA', 'CHAMELEON' ), + ( 'u', 'Plasma', 'Cham' ), ( 'u', 'plasma', 'morse' ), ( 'u', '_quark', '' ), - # Add morse_zdesc_alloc in compute_z.h - ( 'u', '#define morse_zdesc_alloc', - '#define morse_zdesc_alloc2(descA, mb, nb, lm, ln, i, j, m, n) \\\n\tdescA = morse_desc_init( \\\n\t\tMorseComplexDouble, (mb), (nb), ((mb)*(nb)), \\\n\t\t(m), (n), (i), (j), (m), (n)); \\\n\tmorse_desc_mat_alloc( &(descA) );\n\n#define morse_zdesc_alloc' ), + # Add chameleon_zdesc_alloc in compute_z.h + ( 'u', '#define chameleon_zdesc_alloc', + '#define chameleon_zdesc_alloc2(descA, mb, nb, lm, ln, i, j, m, n) \\\n\tdescA = chameleon_desc_init( \\\n\t\tChamComplexDouble, (mb), (nb), ((mb)*(nb)), \\\n\t\t(m), (n), (i), (j), (m), (n)); \\\n\tchameleon_desc_mat_alloc( &(descA) );\n\n#define chameleon_zdesc_alloc' ), # end add ], # ------------------------------------------------------------ # replacements applied to timing files. 'timing' : [ - ( 'u', 'PLASMA_Dealloc_Handle_Tile', 'MORSE_Dealloc_Workspace' ), - ( 'u', 'PLASMA_sequence', 'MORSE_sequence_t' ), - ( 'u', 'PLASMA_request', 'MORSE_request_t' ), - ( 'u', 'PLASMA_desc', 'MORSE_desc_t' ), - ( 'u', 'real_Double_t', 'morse_time_t' ), - ( 'u', 'PLASMA', 'MORSE' ), - ( 'u', 'Plasma', 'Morse' ), + ( 'u', 'PLASMA_Dealloc_Handle_Tile', 'CHAMELEON_Dealloc_Workspace' ), + ( 'u', 'PLASMA_sequence', 'RUNTIME_sequence_t' ), + ( 'u', 'PLASMA_request', 'RUNTIME_request_t' ), + ( 'u', 'PLASMA_desc', 'CHAM_desc_t' ), + ( 'u', 'real_Double_t', 'chameleon_time_t' ), + ( 'u', 'PLASMA', 'CHAMELEON' ), + ( 'u', 'Plasma', 'Cham' ), ( 'u', 'plasma', 'morse' ), # Add dirty getoncpu( descA ), will need to handle that within the sequence for exemple - ( 'u', '(MORSE_Sequence_Wait\([^;]*\);\n)([\s]*)STOP_TIMING', '\\1\\2MORSE_Desc_getoncpu( descA );\n\\2STOP_TIMING' ), + ( 'u', '(CHAMELEON_Sequence_Wait\([^;]*\);\n)([\s]*)STOP_TIMING', '\\1\\2CHAMELEON_Desc_getoncpu( descA );\n\\2STOP_TIMING' ), ], # ------------------------------------------------------------ @@ -666,20 +666,20 @@ subs = { 'testing' : [ ( 'u', 'core_blas.h', 'coreblas.h' ), ( 'u', 'testing_zmain.h', 'testing_zauxiliary.h' ), - ( 'u', 'real_Double_t', 'morse_time_t' ), + ( 'u', 'real_Double_t', 'chameleon_time_t' ), ( 'u', 'int([\s]*)testing_([^{]*){', 'int\\1testing_\\2{\n\tint hres = 0;' ), ( 'u', 'int([\s]*)testing_([\s\S]*?)return 0;', 'int\\1testing_\\2return hres;' ), ( 'u', 'int([\s]*)testing_([\s\S]*?)FAILED([^;]*?);', 'int\\1testing_\\2FAILED\\3;\thres++;' ), - ( 'u', 'PLASMA_desc', 'MORSE_desc_t' ), - ( 'u', 'PLASMA_Finalize', 'MORSE_Finalize' ), - ( 'u', 'PLASMA_Dealloc_Handle_Tile', 'MORSE_Dealloc_Workspace' ), + ( 'u', 'PLASMA_desc', 'CHAM_desc_t' ), + ( 'u', 'PLASMA_Finalize', 'CHAMELEON_Finalize' ), + ( 'u', 'PLASMA_Dealloc_Handle_Tile', 'CHAMELEON_Dealloc_Workspace' ), - ( 'u', 'PLASMA', 'MORSE' ), - ( 'u', 'Plasma', 'Morse' ), + ( 'u', 'PLASMA', 'CHAMELEON' ), + ( 'u', 'Plasma', 'Cham' ), ( 'u', 'plasma', 'morse' ), # Specific fix for testing_zgesv_incpiv (will be fix in plasma) - ( 'u', 'int testing_zgesv_incpiv\(([\s\S]*)MORSE_Complex64_t \*L;', 'int testing_zgesv_incpiv(\\1MORSE_desc_t *L;' ), + ( 'u', 'int testing_zgesv_incpiv\(([\s\S]*)CHAMELEON_Complex64_t \*L;', 'int testing_zgesv_incpiv(\\1CHAM_desc_t *L;' ), ], # -------------------------------------------------------- @@ -688,7 +688,7 @@ subs = { ( 'u', 'provided by Univ. of Tennessee,', 'provided by Inria Bordeaux - Sud-Ouest, LaBRI,' ), ( 'u', 'Univ. of California Berkeley and Univ. of Colorado Denver', 'University of Bordeaux, Bordeaux INP' ), ( 'u', '@version 2.6.0\n \* @author', - '@version 2.6.0\n * @comment This file has been automatically generated\n * from Plasma 2.6.0 for MORSE 1.0.0\n * @author' ), + '@version 2.6.0\n * @comment This file has been automatically generated\n * from Plasma 2.6.0 for CHAMELEON 1.0.0\n * @author' ), ( 'u', '/([\*]+)/\n/([\*]+)/', '' ), ( 'u', '/([\*]+)/\n/', '\n/' ), ( 'u', '/([\*]+)/([a-zA-Z]+)', '\\2' ), diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 1183cc3b918a2df4eda3578f05e8e0e6e7e18612..f299d377db6278a7fbd56d1cf4044d48641d8b2b 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/runtime/parsec/codelets/codelet_zasum.c b/runtime/parsec/codelets/codelet_zasum.c index ac174abab27f1773f7aa23ccab293af717cea8ac..4addc4753694d5639b2be23fb418f4ed9eddea9b 100644 --- a/runtime/parsec/codelets/codelet_zasum.c +++ b/runtime/parsec/codelets/codelet_zasum.c @@ -17,18 +17,18 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_dzasum_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum storev; - MORSE_enum uplo; + cham_store_t storev; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *work; @@ -41,20 +41,20 @@ CORE_dzasum_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_dzasum(const MORSE_option_t *options, - MORSE_enum storev, MORSE_enum uplo, int M, int N, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_dzasum(const RUNTIME_option_t *options, + cham_store_t storev, cham_uplo_t uplo, int M, int N, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_dzasum_parsec, options->priority, "zasum", - sizeof(MORSE_enum), &storev, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &storev, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, PASSED_BY_REF, RTBLKADDR( B, double, Bm, Bn ), INOUT | AFFINITY, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zaxpy.c b/runtime/parsec/codelets/codelet_zaxpy.c index 042d44336185dee5d511dfb56404a89b8e18e81a..38877aa2f0e83f93df90736bae894a6a152f9e9f 100644 --- a/runtime/parsec/codelets/codelet_zaxpy.c +++ b/runtime/parsec/codelets/codelet_zaxpy.c @@ -17,7 +17,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -25,10 +25,10 @@ CORE_zaxpy_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { int M; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int incA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int incB; parsec_dtd_unpack_args( @@ -40,20 +40,20 @@ CORE_zaxpy_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zaxpy(const MORSE_option_t *options, - int M, MORSE_Complex64_t alpha, - const MORSE_desc_t *A, int Am, int An, int incA, - const MORSE_desc_t *B, int Bm, int Bn, int incB) +void INSERT_TASK_zaxpy(const RUNTIME_option_t *options, + int M, CHAMELEON_Complex64_t alpha, + const CHAM_desc_t *A, int Am, int An, int incA, + const CHAM_desc_t *B, int Bm, int Bn, int incB) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zaxpy_parsec, options->priority, "axpy", sizeof(int), &M, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &incA, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INOUT | AFFINITY, sizeof(int), &incB, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zbuild.c b/runtime/parsec/codelets/codelet_zbuild.c index 3fd9331de8f746376c9b559e5c42c7c84f0f906d..36c8bc908a7d4186923ed2aa034e9c916ba55708 100644 --- a/runtime/parsec/codelets/codelet_zbuild.c +++ b/runtime/parsec/codelets/codelet_zbuild.c @@ -19,14 +19,14 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zbuild_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; void *user_data; void (*user_build_callback)( int row_min, int row_max, int col_min, int col_max, @@ -42,8 +42,8 @@ CORE_zbuild_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zbuild( const MORSE_option_t *options, - const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zbuild( const RUNTIME_option_t *options, + const CHAM_desc_t *A, int Am, int An, int lda, void *user_data, void* user_build_callback ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -59,7 +59,7 @@ void MORSE_TASK_zbuild( const MORSE_option_t *options, sizeof(int), &row_max, VALUE, sizeof(int), &col_min, VALUE, sizeof(int), &col_max, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, sizeof(int), &lda, VALUE, sizeof(void*), &user_data, VALUE, sizeof(void*), &user_build_callback, VALUE, diff --git a/runtime/parsec/codelets/codelet_zgeadd.c b/runtime/parsec/codelets/codelet_zgeadd.c index 7ef540ff99fabe2119589e150116399e42f0c55b..aea836f74e7c1e7b95197ff1a4a5e7b7056bffe6 100644 --- a/runtime/parsec/codelets/codelet_zgeadd.c +++ b/runtime/parsec/codelets/codelet_zgeadd.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Reazul Hoque * @date 2010-11-15 @@ -21,21 +21,21 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zgeadd_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum trans; + cham_trans_t trans; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t beta; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *B; int LDB; parsec_dtd_unpack_args( @@ -50,9 +50,9 @@ CORE_zgeadd_parsec( parsec_execution_stream_t *context, /** ****************************************************************************** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * - * MORSE_TASK_zgeadd adds two general matrices together as in PBLAS pzgeadd. + * INSERT_TASK_zgeadd adds two general matrices together as in PBLAS pzgeadd. * * B <- alpha * op(A) + beta * B, * @@ -63,9 +63,9 @@ CORE_zgeadd_parsec( parsec_execution_stream_t *context, * @param[in] trans * Specifies whether the matrix A is non-transposed, transposed, or * conjugate transposed - * = MorseNoTrans: op(A) = A - * = MorseTrans: op(A) = A' - * = MorseConjTrans: op(A) = conj(A') + * = ChamNoTrans: op(A) = A + * = ChamTrans: op(A) = A' + * = ChamConjTrans: op(A) = conj(A') * * @param[in] M * Number of rows of the matrices op(A) and B. @@ -77,12 +77,12 @@ CORE_zgeadd_parsec( parsec_execution_stream_t *context, * Scalar factor of A. * * @param[in] A - * Matrix of size LDA-by-N, if trans = MorseNoTrans, LDA-by-M + * Matrix of size LDA-by-N, if trans = ChamNoTrans, LDA-by-M * otherwise. * * @param[in] LDA * Leading dimension of the array A. LDA >= max(1,k), with k=M, if - * trans = MorseNoTrans, and k=N otherwise. + * trans = ChamNoTrans, and k=N otherwise. * * @param[in] beta * Scalar factor of B. @@ -97,27 +97,27 @@ CORE_zgeadd_parsec( parsec_execution_stream_t *context, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zgeadd(const MORSE_option_t *options, - MORSE_enum trans, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t beta, const MORSE_desc_t *B, int Bm, int Bn, int ldb) +void INSERT_TASK_zgeadd(const RUNTIME_option_t *options, + cham_trans_t trans, int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *B, int Bm, int Bn, int ldb) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zgeadd_parsec, options->priority, "geadd", - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INOUT | AFFINITY, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INOUT | AFFINITY, sizeof(int), &ldb, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zgelqt.c b/runtime/parsec/codelets/codelet_zgelqt.c index 5bfd12bdffc6251d9deb852d8426c471364b92bc..cd0fe83134bce84168c7bfbdb17abecd5410d6b0 100644 --- a/runtime/parsec/codelets/codelet_zgelqt.c +++ b/runtime/parsec/codelets/codelet_zgelqt.c @@ -17,12 +17,12 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgelqt - computes a LQ factorization of a complex M-by-N tile A: A = L * Q. * @@ -77,7 +77,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ @@ -88,12 +88,12 @@ CORE_zgelqt_parsec( parsec_execution_stream_t *context, int m; int n; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; parsec_dtd_unpack_args( this_task, &m, &n, &ib, &A, &lda, &T, &ldt, &TAU, &WORK ); @@ -104,10 +104,10 @@ CORE_zgelqt_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zgelqt(const MORSE_option_t *options, +void INSERT_TASK_zgelqt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -116,11 +116,11 @@ void MORSE_TASK_zgelqt(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | OUTPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb, NULL, SCRATCH, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zgemm.c b/runtime/parsec/codelets/codelet_zgemm.c index 570f74966dc2271e1f9d03077de9fcaaa56db600..6fbc63999e803cd5ee8a294b55065eb57cb3d98e 100644 --- a/runtime/parsec/codelets/codelet_zgemm.c +++ b/runtime/parsec/codelets/codelet_zgemm.c @@ -17,30 +17,30 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ static inline int CORE_zgemm_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum transA; - MORSE_enum transB; + cham_trans_t transA; + cham_trans_t transB; int m; int n; int k; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int ldc; parsec_dtd_unpack_args( @@ -55,29 +55,29 @@ CORE_zgemm_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zgemm( const MORSE_option_t *options, - MORSE_enum transA, int transB, +void INSERT_TASK_zgemm( const RUNTIME_option_t *options, + cham_trans_t transA, cham_trans_t transB, int m, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc ) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zgemm_parsec, options->priority, "Gemm", - sizeof(MORSE_enum), &transA, VALUE, - sizeof(MORSE_enum), &transB, VALUE, + sizeof(int), &transA, VALUE, + sizeof(int), &transB, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INPUT, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INPUT, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - PASSED_BY_REF, RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ), morse_parsec_get_arena_index( C ) | INOUT | AFFINITY, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + PASSED_BY_REF, RTBLKADDR( C, CHAMELEON_Complex64_t, Cm, Cn ), chameleon_parsec_get_arena_index( C ) | INOUT | AFFINITY, sizeof(int), &ldc, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zgeqrt.c b/runtime/parsec/codelets/codelet_zgeqrt.c index 12992b0376ec67fabc06d3b4a16201bebb0751bb..b471528922227e5ec7d02e4a6861891b04a07cf7 100644 --- a/runtime/parsec/codelets/codelet_zgeqrt.c +++ b/runtime/parsec/codelets/codelet_zgeqrt.c @@ -17,12 +17,12 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgeqrt computes a QR factorization of a complex M-by-N tile A: * A = Q * R. @@ -78,7 +78,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ @@ -89,12 +89,12 @@ CORE_zgeqrt_parsec ( parsec_execution_stream_t *context, int m; int n; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; parsec_dtd_unpack_args( this_task, &m, &n, &ib, &A, &lda, &T, &ldt, &TAU, &WORK ); @@ -105,10 +105,10 @@ CORE_zgeqrt_parsec ( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zgeqrt(const MORSE_option_t *options, +void INSERT_TASK_zgeqrt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -117,11 +117,11 @@ void MORSE_TASK_zgeqrt(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | OUTPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb, NULL, SCRATCH, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zgessm.c b/runtime/parsec/codelets/codelet_zgessm.c index 758681299cb306540b9b9fa26dffffc93337471b..4257eccc1b92bd17bed8b11a20fac7b0ccabcbce 100644 --- a/runtime/parsec/codelets/codelet_zgessm.c +++ b/runtime/parsec/codelets/codelet_zgessm.c @@ -17,12 +17,12 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgessm applies the factors L computed by CORE_zgetrf_incpiv to * a complex M-by-N tile A. @@ -61,7 +61,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * */ @@ -74,11 +74,11 @@ CORE_zgessm_parsec( parsec_execution_stream_t *context, int k; int ib; int *IPIV; - MORSE_Complex64_t *L; + CHAMELEON_Complex64_t *L; int ldl; - MORSE_Complex64_t *D; + CHAMELEON_Complex64_t *D; int ldd; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; parsec_dtd_unpack_args( @@ -90,11 +90,11 @@ CORE_zgessm_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zgessm(const MORSE_option_t *options, +void INSERT_TASK_zgessm(const RUNTIME_option_t *options, int m, int n, int k, int ib, int nb, int *IPIV, - const MORSE_desc_t *L, int Lm, int Ln, int ldl, - const MORSE_desc_t *D, int Dm, int Dn, int ldd, - const MORSE_desc_t *A, int Am, int An, int lda) + const CHAM_desc_t *L, int Lm, int Ln, int ldl, + const CHAM_desc_t *D, int Dm, int Dn, int ldd, + const CHAM_desc_t *A, int Am, int An, int lda) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -105,11 +105,11 @@ void MORSE_TASK_zgessm(const MORSE_option_t *options, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, sizeof(int*), &IPIV, VALUE, - PASSED_BY_REF, RTBLKADDR( L, MORSE_Complex64_t, Lm, Ln ), morse_parsec_get_arena_index( L ) | INPUT, + PASSED_BY_REF, RTBLKADDR( L, CHAMELEON_Complex64_t, Lm, Ln ), chameleon_parsec_get_arena_index( L ) | INPUT, sizeof(int), &ldl, VALUE, - PASSED_BY_REF, RTBLKADDR( D, MORSE_Complex64_t, Dm, Dn ), morse_parsec_get_arena_index( D ) | INPUT, + PASSED_BY_REF, RTBLKADDR( D, CHAMELEON_Complex64_t, Dm, Dn ), chameleon_parsec_get_arena_index( D ) | INPUT, sizeof(int), &ldd, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY, sizeof(int), &lda, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zgessq.c b/runtime/parsec/codelets/codelet_zgessq.c index 77c781847fdde087139fcb06c10190abda81a6ee..13a7727cc3a989c41af5fee1ccce89b9a50f0319 100644 --- a/runtime/parsec/codelets/codelet_zgessq.c +++ b/runtime/parsec/codelets/codelet_zgessq.c @@ -17,7 +17,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -26,7 +26,7 @@ CORE_zgessq_parsec( parsec_execution_stream_t *context, { int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *SCALESUMSQ; @@ -39,10 +39,10 @@ CORE_zgessq_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zgessq( const MORSE_option_t *options, +void INSERT_TASK_zgessq( const RUNTIME_option_t *options, int m, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -50,7 +50,7 @@ void MORSE_TASK_zgessq( const MORSE_option_t *options, PARSEC_dtd_taskpool, CORE_zgessq_parsec, options->priority, "gessq", sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, PASSED_BY_REF, RTBLKADDR( SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn ), INOUT | AFFINITY, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zgetrf.c b/runtime/parsec/codelets/codelet_zgetrf.c index 7705171d7827e3b35c76262b8551d20f30f0c328..a7eaee7f0dd5141573e1df0c857953f72b218e68 100644 --- a/runtime/parsec/codelets/codelet_zgetrf.c +++ b/runtime/parsec/codelets/codelet_zgetrf.c @@ -17,7 +17,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -26,10 +26,10 @@ CORE_zgetrf_parsec( parsec_execution_stream_t *context, { int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int *IPIV; - MORSE_bool *check_info; + cham_bool_t *check_info; int iinfo; int info; @@ -42,11 +42,11 @@ CORE_zgetrf_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zgetrf(const MORSE_option_t *options, +void INSERT_TASK_zgetrf(const RUNTIME_option_t *options, int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *A, int Am, int An, int lda, int *IPIV, - MORSE_bool check_info, int iinfo) + cham_bool_t check_info, int iinfo) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -54,10 +54,10 @@ void MORSE_TASK_zgetrf(const MORSE_option_t *options, PARSEC_dtd_taskpool, CORE_zgetrf_parsec, options->priority, "getrf", sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY, sizeof(int), &lda, VALUE, sizeof(int)*nb, IPIV, SCRATCH, - sizeof(MORSE_bool), &check_info, VALUE, + sizeof(cham_bool_t), &check_info, VALUE, sizeof(int), &iinfo, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zgetrf_incpiv.c b/runtime/parsec/codelets/codelet_zgetrf_incpiv.c index 80ef2bd4a71ce1e7daf1b3fc70cfde3368a9b32c..f8bae1c2b4b7118a6ada0c8accedecd4da4d2027 100644 --- a/runtime/parsec/codelets/codelet_zgetrf_incpiv.c +++ b/runtime/parsec/codelets/codelet_zgetrf_incpiv.c @@ -17,12 +17,12 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgetrf_incpiv computes an LU factorization of a general M-by-N tile A * using partial pivoting with row int erchanges. @@ -66,7 +66,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * \retval >0 if INFO = k, U(k,k) is exactly zero. The factorization * has been completed, but the factor U is exactly @@ -81,10 +81,10 @@ CORE_zgetrf_incpiv_parsec( parsec_execution_stream_t *context, int m; int n; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int *IPIV; - MORSE_bool *check_info; + cham_bool_t *check_info; int iinfo; int info; @@ -98,12 +98,12 @@ CORE_zgetrf_incpiv_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zgetrf_incpiv( const MORSE_option_t *options, +void INSERT_TASK_zgetrf_incpiv( const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *L, int Lm, int Ln, int ldl, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *L, int Lm, int Ln, int ldl, int *IPIV, - MORSE_bool check_info, int iinfo ) + cham_bool_t check_info, int iinfo ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -112,7 +112,7 @@ void MORSE_TASK_zgetrf_incpiv( const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY, sizeof(int), &lda, VALUE, sizeof(int*), &IPIV, VALUE, sizeof(int), &check_info, VALUE, diff --git a/runtime/parsec/codelets/codelet_zgetrf_nopiv.c b/runtime/parsec/codelets/codelet_zgetrf_nopiv.c index f9ff48eb0e700ac311b946b53deac6cd058dc391..6d755bdadd0aafcf6c9e5584488521a5e827062e 100644 --- a/runtime/parsec/codelets/codelet_zgetrf_nopiv.c +++ b/runtime/parsec/codelets/codelet_zgetrf_nopiv.c @@ -17,12 +17,12 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgetrf_nopiv computes an LU factorization of a general diagonal * dominant M-by-N matrix A witout pivoting. @@ -59,7 +59,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * \retval >0 if INFO = k, U(k,k) is exactly zero. The factorization * has been completed, but the factor U is exactly @@ -74,7 +74,7 @@ CORE_zgetrf_nopiv_parsec( parsec_execution_stream_t *context, int m; int n; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int iinfo; int info; @@ -88,9 +88,9 @@ CORE_zgetrf_nopiv_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zgetrf_nopiv(const MORSE_option_t *options, +void INSERT_TASK_zgetrf_nopiv(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -100,7 +100,7 @@ void MORSE_TASK_zgetrf_nopiv(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY, sizeof(int), &lda, VALUE, sizeof(int), &iinfo, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zhe2ge.c b/runtime/parsec/codelets/codelet_zhe2ge.c index 18bb9f36500e5a12e511d679626fffcb83308975..45028733234404ca079994cc62746a28c7adc25f 100644 --- a/runtime/parsec/codelets/codelet_zhe2ge.c +++ b/runtime/parsec/codelets/codelet_zhe2ge.c @@ -16,24 +16,24 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ static inline int CORE_zhe2ge_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; - const MORSE_Complex64_t *A; + const CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; parsec_dtd_unpack_args( @@ -46,22 +46,22 @@ CORE_zhe2ge_parsec( parsec_execution_stream_t *context, } -void MORSE_TASK_zhe2ge(const MORSE_option_t *options, - MORSE_enum uplo, +void INSERT_TASK_zhe2ge(const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int mb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zhe2ge_parsec, options->priority, "he2ge", - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT , + PASSED_BY_REF, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT , sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), OUTPUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), OUTPUT | AFFINITY, sizeof(int), &ldb, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zhemm.c b/runtime/parsec/codelets/codelet_zhemm.c index 2e59eff097ed2d9af8f8c37cca3bb2fac87f9d60..213a01dc70dd81fcec74828f7f857ada8800d586 100644 --- a/runtime/parsec/codelets/codelet_zhemm.c +++ b/runtime/parsec/codelets/codelet_zhemm.c @@ -17,29 +17,29 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ static inline int CORE_zhemm_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum uplo; + cham_side_t side; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int LDC; parsec_dtd_unpack_args( @@ -54,28 +54,28 @@ CORE_zhemm_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zhemm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, +void INSERT_TASK_zhemm(const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zhemm_parsec, options->priority, "hemm", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INPUT, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INPUT, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - PASSED_BY_REF, RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ), morse_parsec_get_arena_index( C ) | INOUT | AFFINITY, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + PASSED_BY_REF, RTBLKADDR( C, CHAMELEON_Complex64_t, Cm, Cn ), chameleon_parsec_get_arena_index( C ) | INOUT | AFFINITY, sizeof(int), &ldc, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zher2k.c b/runtime/parsec/codelets/codelet_zher2k.c index 04b8c964aa472fb2cabf284ebcac4de23f7dd5ef..ec1f21d19043444d4c0239cdb74c27ce9a098af1 100644 --- a/runtime/parsec/codelets/codelet_zher2k.c +++ b/runtime/parsec/codelets/codelet_zher2k.c @@ -17,29 +17,29 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ static inline int CORE_zher2k_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; double beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; parsec_dtd_unpack_args( @@ -54,28 +54,28 @@ CORE_zher2k_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zher2k(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zher2k(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - double beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + double beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zher2k_parsec, options->priority, "her2k", - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INPUT, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INPUT, sizeof(int), &ldb, VALUE, sizeof(double), &beta, VALUE, - PASSED_BY_REF, RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ), morse_parsec_get_arena_index( C ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( C, CHAMELEON_Complex64_t, Cm, Cn ), chameleon_parsec_get_arena_index( C ) | INOUT | AFFINITY, sizeof(int), &ldc, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zherfb.c b/runtime/parsec/codelets/codelet_zherfb.c index 02af0d40491199273c41d7869e6f8e509effd631..4873583648b38f4a7ffff020d9c86835c8f0c84a 100644 --- a/runtime/parsec/codelets/codelet_zherfb.c +++ b/runtime/parsec/codelets/codelet_zherfb.c @@ -18,25 +18,25 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zherfb_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; int k; int ib; int nb; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; parsec_dtd_unpack_args( @@ -50,29 +50,29 @@ CORE_zherfb_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zherfb(const MORSE_option_t *options, - MORSE_enum uplo, +void INSERT_TASK_zherfb(const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int k, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *C, int Cm, int Cn, int ldc) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *C, int Cm, int Cn, int ldc) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zherfb_parsec, options->priority, "herfb", - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, sizeof(int), &nb, VALUE, - PASSED_BY_REF, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT, + PASSED_BY_REF, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), INPUT, + PASSED_BY_REF, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), INPUT, sizeof(int), &ldt, VALUE, - PASSED_BY_REF, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), INOUT | AFFINITY, sizeof(int), &ldc, VALUE, - sizeof(MORSE_Complex64_t)*2*nb*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*2*nb*nb, NULL, SCRATCH, sizeof(int), &nb, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zherk.c b/runtime/parsec/codelets/codelet_zherk.c index 6e355286d894505ca729a336d697197fb876d409..7d5bfd9fdec140f752010c17f22221c5e26f5884 100644 --- a/runtime/parsec/codelets/codelet_zherk.c +++ b/runtime/parsec/codelets/codelet_zherk.c @@ -17,27 +17,27 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ static inline int CORE_zherk_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; double alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; parsec_dtd_unpack_args( @@ -51,25 +51,25 @@ CORE_zherk_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zherk(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zherk(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, int nb, - double alpha, const MORSE_desc_t *A, int Am, int An, int lda, - double beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + double alpha, const CHAM_desc_t *A, int Am, int An, int lda, + double beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zherk_parsec, options->priority, "herk", - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, sizeof(double), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, sizeof(double), &beta, VALUE, - PASSED_BY_REF, RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ), morse_parsec_get_arena_index( C ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( C, CHAMELEON_Complex64_t, Cm, Cn ), chameleon_parsec_get_arena_index( C ) | INOUT | AFFINITY, sizeof(int), &ldc, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zhessq.c b/runtime/parsec/codelets/codelet_zhessq.c index dcd8ba89f2403d3dc5a737d0598e6f3bd2da19c8..902026147682515222aac0278f2c16afa7808baa 100644 --- a/runtime/parsec/codelets/codelet_zhessq.c +++ b/runtime/parsec/codelets/codelet_zhessq.c @@ -17,16 +17,16 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zhessq_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *SCALESUMSQ; @@ -39,10 +39,10 @@ CORE_zhessq_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zhessq( const MORSE_option_t *options, - MORSE_enum uplo, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) +void INSERT_TASK_zhessq( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -50,7 +50,7 @@ void MORSE_TASK_zhessq( const MORSE_option_t *options, PARSEC_dtd_taskpool, CORE_zhessq_parsec, options->priority, "hessq", sizeof(int), &uplo, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, PASSED_BY_REF, RTBLKADDR( SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn ), INOUT | AFFINITY, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zlacpy.c b/runtime/parsec/codelets/codelet_zlacpy.c index af699f181a10b7edd2ca045126043a5a2c52e1cb..3b5d251cbb7157ac8b8110bb41843187b416f8a5 100644 --- a/runtime/parsec/codelets/codelet_zlacpy.c +++ b/runtime/parsec/codelets/codelet_zlacpy.c @@ -17,26 +17,26 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ static inline int CORE_zlacpyx_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; int displA; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; int displB; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; parsec_dtd_unpack_args( @@ -48,35 +48,35 @@ CORE_zlacpyx_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zlacpyx( const MORSE_option_t *options, - MORSE_enum uplo, int m, int n, int nb, - int displA, const MORSE_desc_t *A, int Am, int An, int lda, - int displB, const MORSE_desc_t *B, int Bm, int Bn, int ldb ) +void INSERT_TASK_zlacpyx( const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int nb, + int displA, const CHAM_desc_t *A, int Am, int An, int lda, + int displB, const CHAM_desc_t *B, int Bm, int Bn, int ldb ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zlacpyx_parsec, options->priority, "lacpy", - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &displA, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, sizeof(int), &displB, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | OUTPUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | OUTPUT | AFFINITY, sizeof(int), &ldb, VALUE, PARSEC_DTD_ARG_END ); (void)nb; } -void MORSE_TASK_zlacpy(const MORSE_option_t *options, - MORSE_enum uplo, int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) +void INSERT_TASK_zlacpy(const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { - MORSE_TASK_zlacpyx( options, uplo, m, n, nb, + INSERT_TASK_zlacpyx( options, uplo, m, n, nb, 0, A, Am, An, lda, 0, B, Bm, Bn, ldb ); } diff --git a/runtime/parsec/codelets/codelet_zlag2c.c b/runtime/parsec/codelets/codelet_zlag2c.c index 83d17107a6933f98321df578c7c0a4a77b50897b..d9f17eaa5d7c170410425fbb44ebe67ff2774ff5 100644 --- a/runtime/parsec/codelets/codelet_zlag2c.c +++ b/runtime/parsec/codelets/codelet_zlag2c.c @@ -17,12 +17,12 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ static inline int @@ -31,9 +31,9 @@ CORE_zlag2c_parsec( parsec_execution_stream_t *context, { int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex32_t *B; + CHAMELEON_Complex32_t *B; int ldb; int info; @@ -46,26 +46,26 @@ CORE_zlag2c_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zlag2c(const MORSE_option_t *options, +void INSERT_TASK_zlag2c(const RUNTIME_option_t *options, int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task(PARSEC_dtd_taskpool, CORE_zlag2c_parsec, "lag2c", sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex32_t, Bm, Bn ), OUTPUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex32_t, Bm, Bn ), OUTPUT | AFFINITY, sizeof(int), &ldb, VALUE, PARSEC_DTD_ARG_END ); } /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ static inline int @@ -73,9 +73,9 @@ CORE_clag2z_parsec(parsec_execution_stream_t *context, parsec_task_t *this_task) { int m; int n; - MORSE_Complex32_t *A; + CHAMELEON_Complex32_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; parsec_dtd_unpack_args( @@ -87,10 +87,10 @@ CORE_clag2z_parsec(parsec_execution_stream_t *context, parsec_task_t *this_task) return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_clag2z(const MORSE_option_t *options, +void INSERT_TASK_clag2z(const RUNTIME_option_t *options, int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -98,9 +98,9 @@ void MORSE_TASK_clag2z(const MORSE_option_t *options, PARSEC_dtd_taskpool, CORE_clag2z_parsec, options->priority, "lag2z", sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex32_t, Am, An ), INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex32_t, Am, An ), INPUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | OUTPUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | OUTPUT | AFFINITY, sizeof(int), &ldb, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zlange.c b/runtime/parsec/codelets/codelet_zlange.c index 62c427d6e6de76781720b319db482a0560d39c15..e76fd80db4d9e9a737dae48484134b8873f7677c 100644 --- a/runtime/parsec/codelets/codelet_zlange.c +++ b/runtime/parsec/codelets/codelet_zlange.c @@ -17,17 +17,17 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zlange_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum norm; + cham_normtype_t norm; int M; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; double *work; double *normA; @@ -41,10 +41,10 @@ CORE_zlange_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zlange(const MORSE_option_t *options, - MORSE_enum norm, int M, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_zlange(const RUNTIME_option_t *options, + cham_normtype_t norm, int M, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -52,10 +52,10 @@ void MORSE_TASK_zlange(const MORSE_option_t *options, parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zlange_parsec, options->priority, "lange", - sizeof(MORSE_enum), &norm, VALUE, + sizeof(int), &norm, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &LDA, VALUE, sizeof(double)*szeW, NULL, SCRATCH, PASSED_BY_REF, RTBLKADDR( B, double, Bm, Bn ), OUTPUT | AFFINITY, @@ -82,9 +82,9 @@ CORE_zlange_max_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zlange_max(const MORSE_option_t *options, - const MORSE_desc_t *A, int Am, int An, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_zlange_max(const RUNTIME_option_t *options, + const CHAM_desc_t *A, int Am, int An, + const CHAM_desc_t *B, int Bm, int Bn) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); diff --git a/runtime/parsec/codelets/codelet_zlanhe.c b/runtime/parsec/codelets/codelet_zlanhe.c index a6d0c9d2989197a1999a37029bc7e624439933f3..26e7d8d8d04d24dfe81c1be3b0701e64608eec23 100644 --- a/runtime/parsec/codelets/codelet_zlanhe.c +++ b/runtime/parsec/codelets/codelet_zlanhe.c @@ -17,17 +17,17 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zlanhe_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum norm; - MORSE_enum uplo; + cham_normtype_t norm; + cham_uplo_t uplo; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; double *work; double *normA; @@ -41,10 +41,10 @@ CORE_zlanhe_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zlanhe(const MORSE_option_t *options, - MORSE_enum norm, MORSE_enum uplo, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_zlanhe(const RUNTIME_option_t *options, + cham_normtype_t norm, cham_uplo_t uplo, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -52,10 +52,10 @@ void MORSE_TASK_zlanhe(const MORSE_option_t *options, parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zlanhe_parsec, options->priority, "LANHE", - sizeof(MORSE_enum), &norm, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &norm, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &N, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &LDA, VALUE, sizeof(double)*szeW, NULL, SCRATCH, PASSED_BY_REF, RTBLKADDR( B, double, Bm, Bn ), OUTPUT | AFFINITY, diff --git a/runtime/parsec/codelets/codelet_zlansy.c b/runtime/parsec/codelets/codelet_zlansy.c index 7435d3de935cd91d77a3365d354f38ab4d24b665..07d7fd910e5107a4db5da04edf86658946a69122 100644 --- a/runtime/parsec/codelets/codelet_zlansy.c +++ b/runtime/parsec/codelets/codelet_zlansy.c @@ -17,17 +17,17 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zlansy_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - int norm; - MORSE_enum uplo; + cham_normtype_t norm; + cham_uplo_t uplo; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; double *work; double *normA; @@ -41,10 +41,10 @@ CORE_zlansy_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zlansy(const MORSE_option_t *options, - MORSE_enum norm, MORSE_enum uplo, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_zlansy(const RUNTIME_option_t *options, + cham_normtype_t norm, cham_uplo_t uplo, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -52,10 +52,10 @@ void MORSE_TASK_zlansy(const MORSE_option_t *options, parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zlansy_parsec, options->priority, "lansy", - sizeof(MORSE_enum), &norm, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &norm, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &N, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &LDA, VALUE, sizeof(double)*szeW, NULL, SCRATCH, PASSED_BY_REF, RTBLKADDR( B, double, Bm, Bn ), OUTPUT | AFFINITY, diff --git a/runtime/parsec/codelets/codelet_zlantr.c b/runtime/parsec/codelets/codelet_zlantr.c index 65d74eee1ad7faa7cc1ea198a245130e6059d68b..2ae19669e93cc1ba07b717f47f7e88ef8f8f6c04 100644 --- a/runtime/parsec/codelets/codelet_zlantr.c +++ b/runtime/parsec/codelets/codelet_zlantr.c @@ -17,17 +17,17 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zlantr_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum norm, uplo, diag; + cham_normtype_t norm, uplo, diag; int M; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; double *work; double *normA; @@ -41,11 +41,11 @@ CORE_zlantr_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zlantr(const MORSE_option_t *options, - MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, +void INSERT_TASK_zlantr(const RUNTIME_option_t *options, + cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, int M, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn) + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -53,12 +53,12 @@ void MORSE_TASK_zlantr(const MORSE_option_t *options, parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zlantr_parsec, options->priority, "lantr", - sizeof(MORSE_enum), &norm, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &diag, VALUE, + sizeof(int), &norm, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &diag, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &LDA, VALUE, sizeof(double)*szeW, NULL, SCRATCH, PASSED_BY_REF, RTBLKADDR( B, double, Bm, Bn ), OUTPUT | AFFINITY, diff --git a/runtime/parsec/codelets/codelet_zlascal.c b/runtime/parsec/codelets/codelet_zlascal.c index 7be1493ea099120376183caea2bde82995481af2..f2d5fe9d7274674f05b942183927cfe3eabb71ba 100644 --- a/runtime/parsec/codelets/codelet_zlascal.c +++ b/runtime/parsec/codelets/codelet_zlascal.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -24,23 +24,23 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ static inline int CORE_zlascal_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; parsec_dtd_unpack_args( @@ -52,21 +52,21 @@ CORE_zlascal_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zlascal(const MORSE_option_t *options, - MORSE_enum uplo, +void INSERT_TASK_zlascal(const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int nb, - MORSE_Complex64_t alpha, - const MORSE_desc_t *A, int Am, int An, int lda) + CHAMELEON_Complex64_t alpha, + const CHAM_desc_t *A, int Am, int An, int lda) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zlascal_parsec, options->priority, "lascal", - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT | AFFINITY, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT | AFFINITY, sizeof(int), &lda, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zlaset.c b/runtime/parsec/codelets/codelet_zlaset.c index 7982eb978f87c98aa9246f60ddfd0d2ac5fd1826..440075a1ebed808e4346ed5763c2cf15e5820360 100644 --- a/runtime/parsec/codelets/codelet_zlaset.c +++ b/runtime/parsec/codelets/codelet_zlaset.c @@ -17,12 +17,12 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zlaset - Sets the elements of the matrix A on the diagonal * to beta and on the off-diagonals to alpha @@ -31,9 +31,9 @@ * * @param[in] uplo * Specifies which elements of the matrix are to be set - * = MorseUpper: Upper part of A is set; - * = MorseLower: Lower part of A is set; - * = MorseUpperLower: ALL elements of A are set. + * = ChamUpper: Upper part of A is set; + * = ChamLower: Lower part of A is set; + * = ChamUpperLower: ALL elements of A are set. * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -59,12 +59,12 @@ static inline int CORE_zlaset_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t beta; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *A; int LDA; parsec_dtd_unpack_args( @@ -76,21 +76,21 @@ CORE_zlaset_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zlaset(const MORSE_option_t *options, - MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t beta, - const MORSE_desc_t *A, int Am, int An, int LDA) +void INSERT_TASK_zlaset(const RUNTIME_option_t *options, + cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, + const CHAM_desc_t *A, int Am, int An, int LDA) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zlaset_parsec, options->priority, "laset", - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, sizeof(int), &LDA, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zlaset2.c b/runtime/parsec/codelets/codelet_zlaset2.c index 99130b8ca525e83fc157574b5bb9b98ae0be3587..0086484aa8e20709ec5b33668acc5978a17fde30 100644 --- a/runtime/parsec/codelets/codelet_zlaset2.c +++ b/runtime/parsec/codelets/codelet_zlaset2.c @@ -17,12 +17,12 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zlaset2 - Sets the elements of the matrix A to alpha. * Not LAPACK compliant! Read below. @@ -31,9 +31,9 @@ * * @param[in] uplo * Specifies which elements of the matrix are to be set - * = MorseUpper: STRICT Upper part of A is set to alpha; - * = MorseLower: STRICT Lower part of A is set to alpha; - * = MorseUpperLower: ALL elements of A are set to alpha. + * = ChamUpper: STRICT Upper part of A is set to alpha; + * = ChamLower: STRICT Lower part of A is set to alpha; + * = ChamUpperLower: ALL elements of A are set to alpha. * Not LAPACK Compliant. * * @param[in] M @@ -57,11 +57,11 @@ static inline int CORE_zlaset2_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; parsec_dtd_unpack_args( @@ -73,19 +73,19 @@ CORE_zlaset2_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zlaset2(const MORSE_option_t *options, - MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int LDA) +void INSERT_TASK_zlaset2(const RUNTIME_option_t *options, + cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int LDA) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zlaset2_parsec, options->priority, "laset2", - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, - sizeof(MORSE_enum), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, + sizeof(int), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, sizeof(int), &LDA, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zlatro.c b/runtime/parsec/codelets/codelet_zlatro.c index 5e724a7a49cc4279bb5063bdeaa299319e0f10de..95aa1bce4a1622913ff82285d712d5c26e1123e3 100644 --- a/runtime/parsec/codelets/codelet_zlatro.c +++ b/runtime/parsec/codelets/codelet_zlatro.c @@ -18,20 +18,20 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zlatro_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int M; int N; - const MORSE_Complex64_t *A; + const CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; parsec_dtd_unpack_args( @@ -47,23 +47,23 @@ CORE_zlatro_parsec( parsec_execution_stream_t *context, /** * */ -void MORSE_TASK_zlatro(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zlatro(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int m, int n, int mb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zlatro_parsec, options->priority, "latro", - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + PASSED_BY_REF, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), OUTPUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), OUTPUT | AFFINITY, sizeof(int), &ldb, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zlauum.c b/runtime/parsec/codelets/codelet_zlauum.c index 164d6d9a748a6ae6389db4dafa1f2d5fb93b6cab..b2420ffc52c977ba0b572a0194ef22bea733de70 100644 --- a/runtime/parsec/codelets/codelet_zlauum.c +++ b/runtime/parsec/codelets/codelet_zlauum.c @@ -17,21 +17,21 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ static inline int CORE_zlauum_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; + cham_uplo_t uplo; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; parsec_dtd_unpack_args( @@ -43,17 +43,17 @@ CORE_zlauum_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zlauum(const MORSE_option_t *options, - MORSE_enum uplo, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda) +void INSERT_TASK_zlauum(const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zlauum_parsec, options->priority, "lauum", - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY, sizeof(int), &lda, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zpamm.c b/runtime/parsec/codelets/codelet_zpamm.c index 066b457dc3eb2e73e1a22df10648ae0c4b69885c..d611efe52f53592af945c509d67f61492730c298 100644 --- a/runtime/parsec/codelets/codelet_zpamm.c +++ b/runtime/parsec/codelets/codelet_zpamm.c @@ -17,18 +17,18 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * ZPAMM performs one of the matrix-matrix operations * * LEFT RIGHT - * OP MorseW : W = A1 + op(V) * A2 or W = A1 + A2 * op(V) - * OP MorseA2 : A2 = A2 - op(V) * W or A2 = A2 - W * op(V) + * OP ChameleonW : W = A1 + op(V) * A2 or W = A1 + A2 * op(V) + * OP ChameleonA2 : A2 = A2 - op(V) * W or A2 = A2 - W * op(V) * * where op( V ) is one of * @@ -84,41 +84,41 @@ * * OP specifies which operation to perform: * - * @arg MorseW : W = A1 + op(V) * A2 or W = A1 + A2 * op(V) - * @arg MorseA2 : A2 = A2 - op(V) * W or A2 = A2 - W * op(V) + * @arg ChameleonW : W = A1 + op(V) * A2 or W = A1 + A2 * op(V) + * @arg ChameleonA2 : A2 = A2 - op(V) * W or A2 = A2 - W * op(V) * * @param[in] side * * SIDE specifies whether op( V ) multiplies A2 * or W from the left or right as follows: * - * @arg MorseLeft : multiply op( V ) from the left - * OP MorseW : W = A1 + op(V) * A2 - * OP MorseA2 : A2 = A2 - op(V) * W + * @arg ChamLeft : multiply op( V ) from the left + * OP ChameleonW : W = A1 + op(V) * A2 + * OP ChameleonA2 : A2 = A2 - op(V) * W * - * @arg MorseRight : multiply op( V ) from the right - * OP MorseW : W = A1 + A2 * op(V) - * OP MorseA2 : A2 = A2 - W * op(V) + * @arg ChamRight : multiply op( V ) from the right + * OP ChameleonW : W = A1 + A2 * op(V) + * OP ChameleonA2 : A2 = A2 - W * op(V) * * @param[in] storev * * Indicates how the vectors which define the elementary * reflectors are stored in V: * - * @arg MorseColumnwise - * @arg MorseRowwise + * @arg ChamColumnwise + * @arg ChamRowwise * * @param[in] M * The number of rows of the A1, A2 and W - * If SIDE is MorseLeft, the number of rows of op( V ) + * If SIDE is ChamLeft, the number of rows of op( V ) * * @param[in] N * The number of columns of the A1, A2 and W - * If SIDE is MorseRight, the number of columns of op( V ) + * If SIDE is ChamRight, the number of columns of op( V ) * * @param[in] K - * If SIDE is MorseLeft, the number of columns of op( V ) - * If SIDE is MorseRight, the number of rows of op( V ) + * If SIDE is ChamLeft, the number of columns of op( V ) + * If SIDE is ChamRight, the number of rows of op( V ) * * @param[in] L * The size of the triangular part of V @@ -131,23 +131,23 @@ * * @param[in,out] A2 * On entry, the M-by-N tile A2. - * On exit, if OP is MorseA2 A2 is overwritten + * On exit, if OP is ChameleonA2 A2 is overwritten * * @param[in] LDA2 * The leading dimension of the tile A2. LDA2 >= max(1,M). * * @param[in] V * The matrix V as described above. - * If SIDE is MorseLeft : op( V ) is M-by-K - * If SIDE is MorseRight: op( V ) is K-by-N + * If SIDE is ChamLeft : op( V ) is M-by-K + * If SIDE is ChamRight: op( V ) is K-by-N * * @param[in] LDV * The leading dimension of the array V. * * @param[in,out] W * On entry, the M-by-N matrix W. - * On exit, W is overwritten either if OP is MorseA2 or MorseW. - * If OP is MorseA2, W is an input and is used as a workspace. + * On exit, W is overwritten either if OP is ChameleonA2 or ChameleonW. + * If OP is ChameleonA2, W is an input and is used as a workspace. * * @param[in] LDW * The leading dimension of array WORK. @@ -155,7 +155,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ @@ -168,19 +168,19 @@ CORE_zpamm_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { int op; - MORSE_enum side; - int storev; + cham_side_t side; + cham_store_t storev; int M; int N; int K; int L; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int LDA1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int LDA2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int LDV; - MORSE_Complex64_t *W; + CHAMELEON_Complex64_t *W; int LDW; parsec_dtd_unpack_args( @@ -193,32 +193,32 @@ CORE_zpamm_parsec( parsec_execution_stream_t *context, } void -MORSE_TASK_zpamm(const MORSE_option_t *options, - int op, MORSE_enum side, int storev, +INSERT_TASK_zpamm(const RUNTIME_option_t *options, + int op, cham_side_t side, cham_store_t storev, int m, int n, int k, int l, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *W, int Wm, int Wn, int ldw) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *W, int Wm, int Wn, int ldw) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zpamm_parsec, options->priority, "pamm", sizeof(int), &op, VALUE, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &storev, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &storev, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, sizeof(int), &l, VALUE, - PASSED_BY_REF, RTBLKADDR( A1, MORSE_Complex64_t, A1m, A1n ), morse_parsec_get_arena_index( A1 ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A1, CHAMELEON_Complex64_t, A1m, A1n ), chameleon_parsec_get_arena_index( A1 ) | INPUT, sizeof(int), &lda1, VALUE, - PASSED_BY_REF, RTBLKADDR( A2, MORSE_Complex64_t, A2m, A2n ), morse_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A2, CHAMELEON_Complex64_t, A2m, A2n ), chameleon_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, sizeof(int), &lda2, VALUE, - PASSED_BY_REF, RTBLKADDR( V, MORSE_Complex64_t, Vm, Vn ), morse_parsec_get_arena_index( V ) | INPUT, + PASSED_BY_REF, RTBLKADDR( V, CHAMELEON_Complex64_t, Vm, Vn ), chameleon_parsec_get_arena_index( V ) | INPUT, sizeof(int), &ldv, VALUE, - PASSED_BY_REF, RTBLKADDR( W, MORSE_Complex64_t, Wm, Wn ), morse_parsec_get_arena_index( W ) | INOUT, + PASSED_BY_REF, RTBLKADDR( W, CHAMELEON_Complex64_t, Wm, Wn ), chameleon_parsec_get_arena_index( W ) | INOUT, sizeof(int), &ldw, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zplghe.c b/runtime/parsec/codelets/codelet_zplghe.c index d87469a72b5d98556776e65ae4a71d3d28af06e1..8d33409a40920b3e982b66a098a5f225f5d024b4 100644 --- a/runtime/parsec/codelets/codelet_zplghe.c +++ b/runtime/parsec/codelets/codelet_zplghe.c @@ -17,7 +17,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -27,7 +27,7 @@ CORE_zplghe_parsec( parsec_execution_stream_t *context, double bump; int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int bigM; int m0; @@ -43,8 +43,8 @@ CORE_zplghe_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zplghe( const MORSE_option_t *options, - double bump, int m, int n, const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zplghe( const RUNTIME_option_t *options, + double bump, int m, int n, const CHAM_desc_t *A, int Am, int An, int lda, int bigM, int m0, int n0, unsigned long long int seed ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -54,7 +54,7 @@ void MORSE_TASK_zplghe( const MORSE_option_t *options, sizeof(double), &bump, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, sizeof(int), &lda, VALUE, sizeof(int), &bigM, VALUE, sizeof(int), &m0, VALUE, diff --git a/runtime/parsec/codelets/codelet_zplgsy.c b/runtime/parsec/codelets/codelet_zplgsy.c index 52666285b1c5bf9d2007b99986fafa76062be640..b37464158a30b8c476157e06d47cda6119d433f0 100644 --- a/runtime/parsec/codelets/codelet_zplgsy.c +++ b/runtime/parsec/codelets/codelet_zplgsy.c @@ -17,17 +17,17 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zplgsy_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_Complex64_t bump; + CHAMELEON_Complex64_t bump; int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int bigM; int m0; @@ -43,18 +43,18 @@ CORE_zplgsy_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zplgsy( const MORSE_option_t *options, - MORSE_Complex64_t bump, int m, int n, const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zplgsy( const RUNTIME_option_t *options, + CHAMELEON_Complex64_t bump, int m, int n, const CHAM_desc_t *A, int Am, int An, int lda, int bigM, int m0, int n0, unsigned long long int seed ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zplgsy_parsec, options->priority, "zplgsy", - sizeof(MORSE_Complex64_t), &bump, VALUE, + sizeof(CHAMELEON_Complex64_t), &bump, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, sizeof(int), &lda, VALUE, sizeof(int), &bigM, VALUE, sizeof(int), &m0, VALUE, diff --git a/runtime/parsec/codelets/codelet_zplrnt.c b/runtime/parsec/codelets/codelet_zplrnt.c index 305de260a35486336bae3e3bc5356ca6a9049aaa..c3a4e1d2c983b60bae81705796e3a224d343c39a 100644 --- a/runtime/parsec/codelets/codelet_zplrnt.c +++ b/runtime/parsec/codelets/codelet_zplrnt.c @@ -17,7 +17,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -26,7 +26,7 @@ CORE_zplrnt_parsec( parsec_execution_stream_t *context, { int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int bigM; int m0; @@ -42,8 +42,8 @@ CORE_zplrnt_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zplrnt( const MORSE_option_t *options, - int m, int n, const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zplrnt( const RUNTIME_option_t *options, + int m, int n, const CHAM_desc_t *A, int Am, int An, int lda, int bigM, int m0, int n0, unsigned long long int seed ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -52,7 +52,7 @@ void MORSE_TASK_zplrnt( const MORSE_option_t *options, PARSEC_dtd_taskpool, CORE_zplrnt_parsec, options->priority, "zplrnt", sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, sizeof(int), &lda, VALUE, sizeof(int), &bigM, VALUE, sizeof(int), &m0, VALUE, diff --git a/runtime/parsec/codelets/codelet_zplssq.c b/runtime/parsec/codelets/codelet_zplssq.c index a0b6901cddf7389b76b9249a4bcb9e56deea0d61..8b4d4cd92f935a7ff0b75b5ca6b6aaae294b0107 100644 --- a/runtime/parsec/codelets/codelet_zplssq.c +++ b/runtime/parsec/codelets/codelet_zplssq.c @@ -18,14 +18,14 @@ */ #include <math.h> #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * - * MORSE_TASK_zplssq returns: scl * sqrt(ssq) + * INSERT_TASK_zplssq returns: scl * sqrt(ssq) * * with scl and ssq such that * @@ -73,9 +73,9 @@ CORE_zplssq_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zplssq( const MORSE_option_t *options, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn, - const MORSE_desc_t *SCLSSQ, int SCLSSQm, int SCLSSQn ) +void INSERT_TASK_zplssq( const RUNTIME_option_t *options, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn, + const CHAM_desc_t *SCLSSQ, int SCLSSQm, int SCLSSQn ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -101,8 +101,8 @@ CORE_zplssq2_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zplssq2( const MORSE_option_t *options, - const MORSE_desc_t *RESULT, int RESULTm, int RESULTn ) +void INSERT_TASK_zplssq2( const RUNTIME_option_t *options, + const CHAM_desc_t *RESULT, int RESULTm, int RESULTn ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); diff --git a/runtime/parsec/codelets/codelet_zpotrf.c b/runtime/parsec/codelets/codelet_zpotrf.c index 2460b999d5308fa5910326906b42228c7c0d9351..32928d1b0de9c0626b78af38e3a7e5322ba781f5 100644 --- a/runtime/parsec/codelets/codelet_zpotrf.c +++ b/runtime/parsec/codelets/codelet_zpotrf.c @@ -17,29 +17,29 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ static inline int CORE_zpotrf_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; + cham_uplo_t uplo; int tempkm, ldak, iinfo, info; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; parsec_dtd_unpack_args( this_task, &uplo, &tempkm, &A, &ldak, &iinfo ); CORE_zpotrf( uplo, tempkm, A, ldak, &info ); - /* if ( (sequence->status == MORSE_SUCCESS) && (info != 0) ) { */ - /* RUNTIME_sequence_flush( (MORSE_context_t*)quark, sequence, request, iinfo+info ); */ + /* if ( (sequence->status == CHAMELEON_SUCCESS) && (info != 0) ) { */ + /* RUNTIME_sequence_flush( (CHAM_context_t*)quark, sequence, request, iinfo+info ); */ /* } */ (void)context; (void)info; @@ -47,18 +47,18 @@ CORE_zpotrf_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zpotrf(const MORSE_option_t *options, - MORSE_enum uplo, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zpotrf(const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zpotrf_parsec, options->priority, "potrf", - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY, sizeof(int), &lda, VALUE, sizeof(int), &iinfo, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zssssm.c b/runtime/parsec/codelets/codelet_zssssm.c index 29fff34b9a6e209b66f16ec65e700ea63c9bcc85..0132f8d75529780f70d4edd5c56caf1053cf7a37 100644 --- a/runtime/parsec/codelets/codelet_zssssm.c +++ b/runtime/parsec/codelets/codelet_zssssm.c @@ -17,7 +17,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -30,13 +30,13 @@ CORE_zssssm_parsec( parsec_execution_stream_t *context, int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *L1; + CHAMELEON_Complex64_t *L1; int ldl1; - MORSE_Complex64_t *L2; + CHAMELEON_Complex64_t *L2; int ldl2; int *IPIV; @@ -49,12 +49,12 @@ CORE_zssssm_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zssssm(const MORSE_option_t *options, +void INSERT_TASK_zssssm(const RUNTIME_option_t *options, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *L1, int L1m, int L1n, int ldl1, - const MORSE_desc_t *L2, int L2m, int L2n, int ldl2, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *L1, int L1m, int L1n, int ldl1, + const CHAM_desc_t *L2, int L2m, int L2n, int ldl2, const int *IPIV) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -67,13 +67,13 @@ void MORSE_TASK_zssssm(const MORSE_option_t *options, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A1, MORSE_Complex64_t, A1m, A1n ), morse_parsec_get_arena_index( A1 ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A1, CHAMELEON_Complex64_t, A1m, A1n ), chameleon_parsec_get_arena_index( A1 ) | INOUT, sizeof(int), &lda1, VALUE, - PASSED_BY_REF, RTBLKADDR( A2, MORSE_Complex64_t, A2m, A2n ), morse_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A2, CHAMELEON_Complex64_t, A2m, A2n ), chameleon_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, sizeof(int), &lda2, VALUE, - PASSED_BY_REF, RTBLKADDR( L1, MORSE_Complex64_t, L1m, L1n ), morse_parsec_get_arena_index( L1 ) | INPUT, + PASSED_BY_REF, RTBLKADDR( L1, CHAMELEON_Complex64_t, L1m, L1n ), chameleon_parsec_get_arena_index( L1 ) | INPUT, sizeof(int), &ldl1, VALUE, - PASSED_BY_REF, RTBLKADDR( L2, MORSE_Complex64_t, L2m, L2n ), morse_parsec_get_arena_index( L2 ) | INPUT, + PASSED_BY_REF, RTBLKADDR( L2, CHAMELEON_Complex64_t, L2m, L2n ), chameleon_parsec_get_arena_index( L2 ) | INPUT, sizeof(int), &ldl2, VALUE, sizeof(int*), &IPIV, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zsymm.c b/runtime/parsec/codelets/codelet_zsymm.c index b9c8902768277e01cc1755a26ff1834ecaa3bd1f..b8b22c0be999d01f574e59617e495081fdbd5374 100644 --- a/runtime/parsec/codelets/codelet_zsymm.c +++ b/runtime/parsec/codelets/codelet_zsymm.c @@ -17,24 +17,24 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zsymm_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum uplo; + cham_side_t side; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int LDC; parsec_dtd_unpack_args( @@ -49,28 +49,28 @@ CORE_zsymm_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zsymm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, +void INSERT_TASK_zsymm(const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zsymm_parsec, options->priority, "symm", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INPUT, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INPUT, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - PASSED_BY_REF, RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ), morse_parsec_get_arena_index( C ) | INOUT | AFFINITY, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + PASSED_BY_REF, RTBLKADDR( C, CHAMELEON_Complex64_t, Cm, Cn ), chameleon_parsec_get_arena_index( C ) | INOUT | AFFINITY, sizeof(int), &ldc, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zsyr2k.c b/runtime/parsec/codelets/codelet_zsyr2k.c index a0be6a3d34415a5170f0b081fe5ef5938b178cf7..c946247644081516f65ac695ad2257bd6b24090a 100644 --- a/runtime/parsec/codelets/codelet_zsyr2k.c +++ b/runtime/parsec/codelets/codelet_zsyr2k.c @@ -17,24 +17,24 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zsyr2k_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int ldc; parsec_dtd_unpack_args( @@ -49,28 +49,28 @@ CORE_zsyr2k_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zsyr2k(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zsyr2k(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zsyr2k_parsec, options->priority, "syr2k", - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INPUT, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INPUT, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - PASSED_BY_REF, RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ), morse_parsec_get_arena_index( C ) | INOUT | AFFINITY, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + PASSED_BY_REF, RTBLKADDR( C, CHAMELEON_Complex64_t, Cm, Cn ), chameleon_parsec_get_arena_index( C ) | INOUT | AFFINITY, sizeof(int), &ldc, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zsyrk.c b/runtime/parsec/codelets/codelet_zsyrk.c index e765ea4cef3e08e92b49b7528a24fca5da5d91ab..53edd1dd51c40bdc74e3be3d343acec57b9874cf 100644 --- a/runtime/parsec/codelets/codelet_zsyrk.c +++ b/runtime/parsec/codelets/codelet_zsyrk.c @@ -17,22 +17,22 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zsyrk_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int ldc; parsec_dtd_unpack_args( @@ -46,25 +46,25 @@ CORE_zsyrk_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zsyrk(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zsyrk(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zsyrk_parsec, options->priority, "syrk", - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - PASSED_BY_REF, RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ), morse_parsec_get_arena_index( C ) | INOUT | AFFINITY, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + PASSED_BY_REF, RTBLKADDR( C, CHAMELEON_Complex64_t, Cm, Cn ), chameleon_parsec_get_arena_index( C ) | INOUT | AFFINITY, sizeof(int), &ldc, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zsyssq.c b/runtime/parsec/codelets/codelet_zsyssq.c index 29de13c8d32fad32d0d65d9233b29f2767b2bbf0..0af91ab63effe6e0da76b990238a2284059590ea 100644 --- a/runtime/parsec/codelets/codelet_zsyssq.c +++ b/runtime/parsec/codelets/codelet_zsyssq.c @@ -17,16 +17,16 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zsyssq_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *SCALESUMSQ; @@ -39,18 +39,18 @@ CORE_zsyssq_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zsyssq( const MORSE_option_t *options, - MORSE_enum uplo, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) +void INSERT_TASK_zsyssq( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zsyssq_parsec, options->priority, "syssq", - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, PASSED_BY_REF, RTBLKADDR( SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn ), INOUT | AFFINITY, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_zsytrf_nopiv.c b/runtime/parsec/codelets/codelet_zsytrf_nopiv.c index 314529ebf072015570c80376c502f457d4e44531..556416cad2ef7b0243f32adbed5f868927b3db31 100644 --- a/runtime/parsec/codelets/codelet_zsytrf_nopiv.c +++ b/runtime/parsec/codelets/codelet_zsytrf_nopiv.c @@ -17,16 +17,16 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zsytrf_nopiv_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int iinfo; @@ -39,18 +39,18 @@ CORE_zsytrf_nopiv_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zsytrf_nopiv(const MORSE_option_t *options, - MORSE_enum uplo, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zsytrf_nopiv(const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zsytrf_nopiv_parsec, options->priority, "sytrf_nopiv", - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY, sizeof(int), &lda, VALUE, sizeof(int), &iinfo, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_ztile_zero.c b/runtime/parsec/codelets/codelet_ztile_zero.c index 09a9c18764d0fa6578f143a9015e968ad43cf45f..62c779548b48c1198cff96df14aeaa492f50865a 100644 --- a/runtime/parsec/codelets/codelet_ztile_zero.c +++ b/runtime/parsec/codelets/codelet_ztile_zero.c @@ -17,7 +17,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -28,7 +28,7 @@ CORE_ztile_zero_parsec( parsec_execution_stream_t *context, int X2; int Y1; int Y2; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int x, y; @@ -43,9 +43,9 @@ CORE_ztile_zero_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztile_zero( const MORSE_option_t *options, +void INSERT_TASK_ztile_zero( const RUNTIME_option_t *options, int X1, int X2, int Y1, int Y2, - const MORSE_desc_t *A, int Am, int An, int lda ) + const CHAM_desc_t *A, int Am, int An, int lda ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -55,7 +55,7 @@ void MORSE_TASK_ztile_zero( const MORSE_option_t *options, sizeof(int), &X2, VALUE, sizeof(int), &Y1, VALUE, sizeof(int), &Y2, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | OUTPUT | AFFINITY, sizeof(int), &lda, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_ztplqt.c b/runtime/parsec/codelets/codelet_ztplqt.c index bdef9d844ee272334f1bbd4c99c7af17bdbb95b8..78f93a6eca609bf2e404998e65695c19baf7cc42 100644 --- a/runtime/parsec/codelets/codelet_ztplqt.c +++ b/runtime/parsec/codelets/codelet_ztplqt.c @@ -18,7 +18,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -29,13 +29,13 @@ CORE_ztplqt_parsec( parsec_execution_stream_t *context, int N; int L; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; parsec_dtd_unpack_args( this_task, &M, &N, &L, &ib, &A, &lda, &B, &ldb, &T, &ldt, &WORK ); @@ -47,11 +47,11 @@ CORE_ztplqt_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztplqt( const MORSE_option_t *options, +void INSERT_TASK_ztplqt( const RUNTIME_option_t *options, int M, int N, int L, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - const MORSE_desc_t *T, int Tm, int Tn, int ldt ) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -61,12 +61,12 @@ void MORSE_TASK_ztplqt( const MORSE_option_t *options, sizeof(int), &N, VALUE, sizeof(int), &L, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INOUT | AFFINITY, sizeof(int), &ldb, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | OUTPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*(ib+1)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*(ib+1)*nb, NULL, SCRATCH, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_ztpmlqt.c b/runtime/parsec/codelets/codelet_ztpmlqt.c index 1c3ed165ee863d91b1de410c6c3f7261b6547dca..5d11278a25273f43814bd537930300be21a14649 100644 --- a/runtime/parsec/codelets/codelet_ztpmlqt.c +++ b/runtime/parsec/codelets/codelet_ztpmlqt.c @@ -18,29 +18,29 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_ztpmlqt_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int M; int N; int K; int L; int ib; - const MORSE_Complex64_t *V; + const CHAMELEON_Complex64_t *V; int ldv; - const MORSE_Complex64_t *T; + const CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; parsec_dtd_unpack_args( this_task, &side, &trans, &M, &N, &K, &L, &ib, &V, &ldv, &T, &ldt, &A, &lda, &B, &ldb, &WORK ); @@ -52,33 +52,33 @@ CORE_ztpmlqt_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztpmlqt( const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztpmlqt( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int ib, int nb, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb ) + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztpmlqt_parsec, options->priority, "tpmlqt", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, sizeof(int), &K, VALUE, sizeof(int), &L, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( V, MORSE_Complex64_t, Vm, Vn ), morse_parsec_get_arena_index( V ) | INPUT, + PASSED_BY_REF, RTBLKADDR( V, CHAMELEON_Complex64_t, Vm, Vn ), chameleon_parsec_get_arena_index( V ) | INPUT, sizeof(int), &ldv, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | INPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | INPUT, sizeof(int), &ldt, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INOUT | AFFINITY, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_ztpmqrt.c b/runtime/parsec/codelets/codelet_ztpmqrt.c index 665bf6ff3fe10f50ff9a8394ac20eed5173aee20..3d75cbdc49506b40c919f2907b82e8d15d33e42e 100644 --- a/runtime/parsec/codelets/codelet_ztpmqrt.c +++ b/runtime/parsec/codelets/codelet_ztpmqrt.c @@ -18,29 +18,29 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_ztpmqrt_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int M; int N; int K; int L; int ib; - const MORSE_Complex64_t *V; + const CHAMELEON_Complex64_t *V; int ldv; - const MORSE_Complex64_t *T; + const CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; parsec_dtd_unpack_args( this_task, &side, &trans, &M, &N, &K, &L, &ib, &V, &ldv, &T, &ldt, &A, &lda, &B, &ldb, &WORK ); @@ -52,33 +52,33 @@ CORE_ztpmqrt_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztpmqrt( const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztpmqrt( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int ib, int nb, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb ) + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztpmqrt_parsec, options->priority, "tpmqrt", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, sizeof(int), &K, VALUE, sizeof(int), &L, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( V, MORSE_Complex64_t, Vm, Vn ), morse_parsec_get_arena_index( V ) | INPUT, + PASSED_BY_REF, RTBLKADDR( V, CHAMELEON_Complex64_t, Vm, Vn ), chameleon_parsec_get_arena_index( V ) | INPUT, sizeof(int), &ldv, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | INPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | INPUT, sizeof(int), &ldt, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INOUT | AFFINITY, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_ztpqrt.c b/runtime/parsec/codelets/codelet_ztpqrt.c index 76c742cdb0af2f14ee1b4105594c024e1ee6538d..7795873a017f9f46fec2518dde169c07b5e18fbf 100644 --- a/runtime/parsec/codelets/codelet_ztpqrt.c +++ b/runtime/parsec/codelets/codelet_ztpqrt.c @@ -18,7 +18,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -29,13 +29,13 @@ CORE_ztpqrt_parsec( parsec_execution_stream_t *context, int N; int L; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; parsec_dtd_unpack_args( this_task, &M, &N, &L, &ib, &A, &lda, &B, &ldb, &T, &ldt, &WORK ); @@ -47,11 +47,11 @@ CORE_ztpqrt_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztpqrt( const MORSE_option_t *options, +void INSERT_TASK_ztpqrt( const RUNTIME_option_t *options, int M, int N, int L, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - const MORSE_desc_t *T, int Tm, int Tn, int ldt ) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -61,12 +61,12 @@ void MORSE_TASK_ztpqrt( const MORSE_option_t *options, sizeof(int), &N, VALUE, sizeof(int), &L, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INOUT | AFFINITY, sizeof(int), &ldb, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | OUTPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*(ib+1)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*(ib+1)*nb, NULL, SCRATCH, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_ztradd.c b/runtime/parsec/codelets/codelet_ztradd.c index a3d2e764e7d7181fb6b73f7d469beb36fd393bbe..33a59dd72af88388b28ce943f3ced6dffe83d9c2 100644 --- a/runtime/parsec/codelets/codelet_ztradd.c +++ b/runtime/parsec/codelets/codelet_ztradd.c @@ -13,29 +13,29 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_ztradd_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t beta; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *B; int LDB; parsec_dtd_unpack_args( @@ -50,9 +50,9 @@ CORE_ztradd_parsec( parsec_execution_stream_t *context, /** ****************************************************************************** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * - * MORSE_TASK_ztradd adds two trapezoidal matrices together as in PBLAS pztradd. + * INSERT_TASK_ztradd adds two trapezoidal matrices together as in PBLAS pztradd. * * B <- alpha * op(A) + beta * B, * @@ -62,16 +62,16 @@ CORE_ztradd_parsec( parsec_execution_stream_t *context, * * @param[in] uplo * Specifies the shape of A and B matrices: - * = MorseUpperLower: A and B are general matrices. - * = MorseUpper: op(A) and B are upper trapezoidal matrices. - * = MorseLower: op(A) and B are lower trapezoidal matrices. + * = ChamUpperLower: A and B are general matrices. + * = ChamUpper: op(A) and B are upper trapezoidal matrices. + * = ChamLower: op(A) and B are lower trapezoidal matrices. * * @param[in] trans * Specifies whether the matrix A is non-transposed, transposed, or * conjugate transposed - * = MorseNoTrans: op(A) = A - * = MorseTrans: op(A) = A' - * = MorseConjTrans: op(A) = conj(A') + * = ChamNoTrans: op(A) = A + * = ChamTrans: op(A) = A' + * = ChamConjTrans: op(A) = conj(A') * * @param[in] M * Number of rows of the matrices op(A) and B. @@ -83,12 +83,12 @@ CORE_ztradd_parsec( parsec_execution_stream_t *context, * Scalar factor of A. * * @param[in] A - * Matrix of size LDA-by-N, if trans = MorseNoTrans, LDA-by-M + * Matrix of size LDA-by-N, if trans = ChamNoTrans, LDA-by-M * otherwise. * * @param[in] LDA * Leading dimension of the array A. LDA >= max(1,k), with k=M, if - * trans = MorseNoTrans, and k=N otherwise. + * trans = ChamNoTrans, and k=N otherwise. * * @param[in] beta * Scalar factor of B. @@ -103,28 +103,28 @@ CORE_ztradd_parsec( parsec_execution_stream_t *context, ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_ztradd(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t beta, const MORSE_desc_t *B, int Bm, int Bn, int ldb) +void INSERT_TASK_ztradd(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *B, int Bm, int Bn, int ldb) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztradd_parsec, options->priority, "tradd", - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INOUT | AFFINITY, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INOUT | AFFINITY, sizeof(int), &ldb, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_ztrasm.c b/runtime/parsec/codelets/codelet_ztrasm.c index 9e96531b58858f77fa6dc83a9742fddbbf159744..390b2ca9a8ca608c3a0acca11ec3d2ffba1e08f4 100644 --- a/runtime/parsec/codelets/codelet_ztrasm.c +++ b/runtime/parsec/codelets/codelet_ztrasm.c @@ -17,19 +17,19 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_ztrasm_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum storev; - MORSE_enum uplo; - MORSE_enum diag; + cham_store_t storev; + cham_uplo_t uplo; + cham_diag_t diag; int M; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *work; @@ -42,21 +42,21 @@ CORE_ztrasm_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztrasm(const MORSE_option_t *options, - MORSE_enum storev, MORSE_enum uplo, MORSE_enum diag, int M, int N, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_ztrasm(const RUNTIME_option_t *options, + cham_store_t storev, cham_uplo_t uplo, cham_diag_t diag, int M, int N, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztrasm_parsec, options->priority, "trasm", - sizeof(MORSE_enum), &storev, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &diag, VALUE, + sizeof(int), &storev, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &diag, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, PASSED_BY_REF, RTBLKADDR( B, double, Bm, Bn ), INOUT | AFFINITY, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_ztrmm.c b/runtime/parsec/codelets/codelet_ztrmm.c index 73cfa4bb6a9d322db5c6c2834ea4bbb1af2a9e98..9b8769aa278aa64aaf067fdbfc973d7ef6cb7385 100644 --- a/runtime/parsec/codelets/codelet_ztrmm.c +++ b/runtime/parsec/codelets/codelet_ztrmm.c @@ -17,23 +17,23 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_ztrmm_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum uplo; - MORSE_enum transA; - MORSE_enum diag; + cham_side_t side; + cham_uplo_t uplo; + cham_trans_t transA; + cham_diag_t diag; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; parsec_dtd_unpack_args( @@ -49,26 +49,26 @@ CORE_ztrmm_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztrmm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, +void INSERT_TASK_ztrmm(const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztrmm_parsec, options->priority, "trmm", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &transA, VALUE, - sizeof(MORSE_enum), &diag, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &transA, VALUE, + sizeof(int), &diag, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INOUT | AFFINITY, sizeof(int), &ldb, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_ztrsm.c b/runtime/parsec/codelets/codelet_ztrsm.c index 11820dd5095e2f14e473726c8b34b5f9527f027b..e7b135e81a6d4bacccdb13670550ffa94bec087f 100644 --- a/runtime/parsec/codelets/codelet_ztrsm.c +++ b/runtime/parsec/codelets/codelet_ztrsm.c @@ -17,18 +17,18 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_ztrsm_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side, uplo, trans, diag; + cham_side_t side, uplo, trans, diag; int tempmm, nb, ldak, ldam; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *T; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *T; + CHAMELEON_Complex64_t *C; parsec_dtd_unpack_args( this_task, &side, &uplo, &trans, &diag, &tempmm, &nb, &alpha, &T, &ldak, &C, &ldam ); @@ -41,26 +41,26 @@ CORE_ztrsm_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztrsm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, +void INSERT_TASK_ztrsm(const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztrsm_parsec, options->priority, "Trsm", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &transA, VALUE, - sizeof(MORSE_enum), &diag, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &transA, VALUE, + sizeof(int), &diag, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), morse_parsec_get_arena_index( B ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), chameleon_parsec_get_arena_index( B ) | INOUT | AFFINITY, sizeof(int), &ldb, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_ztrssq.c b/runtime/parsec/codelets/codelet_ztrssq.c index 6ba994943e3223205f00db03ec5fd138809c57f2..ce7346e8c80a613772469e387fcfe76abdf8976a 100644 --- a/runtime/parsec/codelets/codelet_ztrssq.c +++ b/runtime/parsec/codelets/codelet_ztrssq.c @@ -17,18 +17,18 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_ztrssq_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; - MORSE_enum diag; + cham_uplo_t uplo; + cham_diag_t diag; int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *SCALESUMSQ; @@ -41,21 +41,21 @@ CORE_ztrssq_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztrssq( const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum diag, +void INSERT_TASK_ztrssq( const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_diag_t diag, int m, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztrssq_parsec, options->priority, "trssq", - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &diag, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &diag, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, PASSED_BY_REF, RTBLKADDR( SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn ), INOUT | AFFINITY, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_ztrtri.c b/runtime/parsec/codelets/codelet_ztrtri.c index a3cf89a840397383ddf4a795defe875094117d47..e4eb4b3e09d9f1cab5633d3e8d13ccc8dd1c3bc6 100644 --- a/runtime/parsec/codelets/codelet_ztrtri.c +++ b/runtime/parsec/codelets/codelet_ztrtri.c @@ -17,17 +17,17 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_ztrtri_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum uplo; - MORSE_enum diag; + cham_uplo_t uplo; + cham_diag_t diag; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; int iinfo; int info; @@ -41,20 +41,20 @@ CORE_ztrtri_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztrtri( const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum diag, +void INSERT_TASK_ztrtri( const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_diag_t diag, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztrtri_parsec, options->priority, "trtri", - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &diag, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &diag, VALUE, sizeof(int), &n, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY, sizeof(int), &lda, VALUE, sizeof(int), &iinfo, VALUE, PARSEC_DTD_ARG_END ); diff --git a/runtime/parsec/codelets/codelet_ztslqt.c b/runtime/parsec/codelets/codelet_ztslqt.c index b87667d9044354490d4932693eb219debc31bfaa..7f77c06d1939c2639ce33642218e516619ebdffa 100644 --- a/runtime/parsec/codelets/codelet_ztslqt.c +++ b/runtime/parsec/codelets/codelet_ztslqt.c @@ -17,7 +17,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -27,14 +27,14 @@ CORE_ztslqt_parsec( parsec_execution_stream_t *context, int m; int n; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; parsec_dtd_unpack_args( this_task, &m, &n, &ib, &A1, &lda1, &A2, &lda2, &T, &ldt, &TAU, &WORK ); @@ -45,11 +45,11 @@ CORE_ztslqt_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztslqt(const MORSE_option_t *options, +void INSERT_TASK_ztslqt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -58,13 +58,13 @@ void MORSE_TASK_ztslqt(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A1, MORSE_Complex64_t, A1m, A1n ), morse_parsec_get_arena_index( A1 ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A1, CHAMELEON_Complex64_t, A1m, A1n ), chameleon_parsec_get_arena_index( A1 ) | INOUT, sizeof(int), &lda1, VALUE, - PASSED_BY_REF, RTBLKADDR( A2, MORSE_Complex64_t, A2m, A2n ), morse_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A2, CHAMELEON_Complex64_t, A2m, A2n ), chameleon_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, sizeof(int), &lda2, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | OUTPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb, NULL, SCRATCH, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_ztsmlq.c b/runtime/parsec/codelets/codelet_ztsmlq.c index 567e82c77e22e5eb0e412673c4a06a59668334dd..da84611eaaaff29aa27281faa5292a060e64ee1f 100644 --- a/runtime/parsec/codelets/codelet_ztsmlq.c +++ b/runtime/parsec/codelets/codelet_ztsmlq.c @@ -17,30 +17,30 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_ztsmlq_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; parsec_dtd_unpack_args( @@ -53,37 +53,37 @@ CORE_ztsmlq_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztsmlq(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztsmlq(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztsmlq_parsec, options->priority, "tsmlq", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m1, VALUE, sizeof(int), &n1, VALUE, sizeof(int), &m2, VALUE, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A1, MORSE_Complex64_t, A1m, A1n ), morse_parsec_get_arena_index( A1 ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A1, CHAMELEON_Complex64_t, A1m, A1n ), chameleon_parsec_get_arena_index( A1 ) | INOUT, sizeof(int), &lda1, VALUE, - PASSED_BY_REF, RTBLKADDR( A2, MORSE_Complex64_t, A2m, A2n ), morse_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A2, CHAMELEON_Complex64_t, A2m, A2n ), chameleon_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, sizeof(int), &lda2, VALUE, - PASSED_BY_REF, RTBLKADDR( V, MORSE_Complex64_t, Vm, Vn ), morse_parsec_get_arena_index( V ) | INPUT, + PASSED_BY_REF, RTBLKADDR( V, CHAMELEON_Complex64_t, Vm, Vn ), chameleon_parsec_get_arena_index( V ) | INPUT, sizeof(int), &ldv, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | INPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &ldwork, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_ztsmlq_hetra1.c b/runtime/parsec/codelets/codelet_ztsmlq_hetra1.c index 30377ae166004648dd3103d9f0acd99c5fd558b8..8f9eda5beb01a089216237c860491b05f167a330 100644 --- a/runtime/parsec/codelets/codelet_ztsmlq_hetra1.c +++ b/runtime/parsec/codelets/codelet_ztsmlq_hetra1.c @@ -21,30 +21,30 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_ztsmlq_hetra1_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; parsec_dtd_unpack_args( @@ -59,36 +59,36 @@ CORE_ztsmlq_hetra1_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztsmlq_hetra1(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztsmlq_hetra1(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztsmlq_hetra1_parsec, options->priority, "tsmlq_hetra1", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m1, VALUE, sizeof(int), &n1, VALUE, sizeof(int), &m2, VALUE, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT, + PASSED_BY_REF, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT, sizeof(int), &lda1, VALUE, - PASSED_BY_REF, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT | AFFINITY, sizeof(int), &lda2, VALUE, - PASSED_BY_REF, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), INPUT, + PASSED_BY_REF, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), INPUT, sizeof(int), &ldv, VALUE, - PASSED_BY_REF, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), INPUT, + PASSED_BY_REF, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &ldwork, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_ztsmqr.c b/runtime/parsec/codelets/codelet_ztsmqr.c index fc010105f963b1a05b7cfa16635bfbaf5c7f645a..e586540c165c18dbb3cea282139ea4fe3dba34ed 100644 --- a/runtime/parsec/codelets/codelet_ztsmqr.c +++ b/runtime/parsec/codelets/codelet_ztsmqr.c @@ -17,30 +17,30 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_ztsmqr_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; parsec_dtd_unpack_args( @@ -53,37 +53,37 @@ CORE_ztsmqr_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztsmqr(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztsmqr(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztsmqr_parsec, options->priority, "tsmqr", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m1, VALUE, sizeof(int), &n1, VALUE, sizeof(int), &m2, VALUE, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A1, MORSE_Complex64_t, A1m, A1n ), morse_parsec_get_arena_index( A1 ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A1, CHAMELEON_Complex64_t, A1m, A1n ), chameleon_parsec_get_arena_index( A1 ) | INOUT, sizeof(int), &lda1, VALUE, - PASSED_BY_REF, RTBLKADDR( A2, MORSE_Complex64_t, A2m, A2n ), morse_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A2, CHAMELEON_Complex64_t, A2m, A2n ), chameleon_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, sizeof(int), &lda2, VALUE, - PASSED_BY_REF, RTBLKADDR( V, MORSE_Complex64_t, Vm, Vn ), morse_parsec_get_arena_index( V ) | INPUT, + PASSED_BY_REF, RTBLKADDR( V, CHAMELEON_Complex64_t, Vm, Vn ), chameleon_parsec_get_arena_index( V ) | INPUT, sizeof(int), &ldv, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | INPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &ldwork, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_ztsmqr_hetra1.c b/runtime/parsec/codelets/codelet_ztsmqr_hetra1.c index 0e7c0e271eb4f4b0270374b892aa5fac78ea8eeb..265a53d74576fb6b11e71e043516529077f79be3 100644 --- a/runtime/parsec/codelets/codelet_ztsmqr_hetra1.c +++ b/runtime/parsec/codelets/codelet_ztsmqr_hetra1.c @@ -21,30 +21,30 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_ztsmqr_hetra1_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; parsec_dtd_unpack_args( @@ -59,36 +59,36 @@ CORE_ztsmqr_hetra1_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztsmqr_hetra1(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztsmqr_hetra1(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztsmqr_hetra1_parsec, options->priority, "tsmqr_hetra1", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m1, VALUE, sizeof(int), &n1, VALUE, sizeof(int), &m2, VALUE, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT, + PASSED_BY_REF, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT, sizeof(int), &lda1, VALUE, - PASSED_BY_REF, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT | AFFINITY, sizeof(int), &lda2, VALUE, - PASSED_BY_REF, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), INPUT, + PASSED_BY_REF, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), INPUT, sizeof(int), &ldv, VALUE, - PASSED_BY_REF, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), INPUT, + PASSED_BY_REF, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &ldwork, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_ztsqrt.c b/runtime/parsec/codelets/codelet_ztsqrt.c index dd2d13362f5ffc8ae9e7b36048dafffb0a056772..a2b31fcea6c8036165361786ff1a4263a9b5ba7f 100644 --- a/runtime/parsec/codelets/codelet_ztsqrt.c +++ b/runtime/parsec/codelets/codelet_ztsqrt.c @@ -17,7 +17,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -27,14 +27,14 @@ CORE_ztsqrt_parsec( parsec_execution_stream_t *context, int m; int n; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; parsec_dtd_unpack_args( this_task, &m, &n, &ib, &A1, &lda1, &A2, &lda2, &T, &ldt, &TAU, &WORK ); @@ -45,26 +45,26 @@ CORE_ztsqrt_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztsqrt(const MORSE_option_t *options, +void INSERT_TASK_ztsqrt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_ztsqrt_parsec, options->priority, "tsqrt", - sizeof(MORSE_enum), &m, VALUE, + sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A1, MORSE_Complex64_t, A1m, A1n ), morse_parsec_get_arena_index( A1 ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A1, CHAMELEON_Complex64_t, A1m, A1n ), chameleon_parsec_get_arena_index( A1 ) | INOUT, sizeof(int), &lda1, VALUE, - PASSED_BY_REF, RTBLKADDR( A2, MORSE_Complex64_t, A2m, A2n ), morse_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A2, CHAMELEON_Complex64_t, A2m, A2n ), chameleon_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, sizeof(int), &lda2, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | OUTPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb, NULL, SCRATCH, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_ztstrf.c b/runtime/parsec/codelets/codelet_ztstrf.c index 75fbd440552ac0d2118c71858ea7ea1b40fc2a76..d5ab7a779ca2e192fc8ce42618049fd0d14f9052 100644 --- a/runtime/parsec/codelets/codelet_ztstrf.c +++ b/runtime/parsec/codelets/codelet_ztstrf.c @@ -17,7 +17,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -28,16 +28,16 @@ CORE_ztstrf_parsec( parsec_execution_stream_t *context, int n; int ib; int nb; - MORSE_Complex64_t *U; + CHAMELEON_Complex64_t *U; int ldu; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *L; + CHAMELEON_Complex64_t *L; int ldl; int *IPIV; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; - MORSE_bool *check_info; + cham_bool_t *check_info; int iinfo; int info; @@ -51,13 +51,13 @@ CORE_ztstrf_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_ztstrf(const MORSE_option_t *options, +void INSERT_TASK_ztstrf(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *U, int Um, int Un, int ldu, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *L, int Lm, int Ln, int ldl, + const CHAM_desc_t *U, int Um, int Un, int ldu, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *L, int Lm, int Ln, int ldl, int *IPIV, - MORSE_bool check_info, int iinfo) + cham_bool_t check_info, int iinfo) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -67,14 +67,14 @@ void MORSE_TASK_ztstrf(const MORSE_option_t *options, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, sizeof(int), &nb, VALUE, - PASSED_BY_REF, RTBLKADDR( U, MORSE_Complex64_t, Um, Un ), morse_parsec_get_arena_index( U ) | INOUT, + PASSED_BY_REF, RTBLKADDR( U, CHAMELEON_Complex64_t, Um, Un ), chameleon_parsec_get_arena_index( U ) | INOUT, sizeof(int), &ldu, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INOUT | AFFINITY, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( L, MORSE_Complex64_t, Lm, Ln ), morse_parsec_get_arena_index( L ) | OUTPUT, + PASSED_BY_REF, RTBLKADDR( L, CHAMELEON_Complex64_t, Lm, Ln ), chameleon_parsec_get_arena_index( L ) | OUTPUT, sizeof(int), &ldl, VALUE, sizeof(int*), &IPIV, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &nb, VALUE, sizeof(int), &check_info, VALUE, sizeof(int), &iinfo, VALUE, diff --git a/runtime/parsec/codelets/codelet_zttlqt.c b/runtime/parsec/codelets/codelet_zttlqt.c index 3197f441b77a7a0451e8643b40009d94d905c891..a927d981b5f5d14c9055e1dddfad8faeaaddbc46 100644 --- a/runtime/parsec/codelets/codelet_zttlqt.c +++ b/runtime/parsec/codelets/codelet_zttlqt.c @@ -17,7 +17,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -27,14 +27,14 @@ CORE_zttlqt_parsec( parsec_execution_stream_t *context, int m; int n; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; parsec_dtd_unpack_args( this_task, &m, &n, &ib, &A1, &lda1, &A2, &lda2, &T, &ldt, &TAU, &WORK ); @@ -45,11 +45,11 @@ CORE_zttlqt_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zttlqt(const MORSE_option_t *options, +void INSERT_TASK_zttlqt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); @@ -59,13 +59,13 @@ void MORSE_TASK_zttlqt(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A1, MORSE_Complex64_t, A1m, A1n ), morse_parsec_get_arena_index( A1 ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A1, CHAMELEON_Complex64_t, A1m, A1n ), chameleon_parsec_get_arena_index( A1 ) | INOUT, sizeof(int), &lda1, VALUE, - PASSED_BY_REF, RTBLKADDR( A2, MORSE_Complex64_t, A2m, A2n ), morse_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A2, CHAMELEON_Complex64_t, A2m, A2n ), chameleon_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, sizeof(int), &lda2, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | OUTPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb, NULL, SCRATCH, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zttmlq.c b/runtime/parsec/codelets/codelet_zttmlq.c index 78fe71ad2b3a60b4a76e282e623e6d82e3c96b56..f7d5a024fe3e8047b23ceaa32e1837eb6690cc25 100644 --- a/runtime/parsec/codelets/codelet_zttmlq.c +++ b/runtime/parsec/codelets/codelet_zttmlq.c @@ -17,30 +17,30 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zttmlq_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; parsec_dtd_unpack_args( @@ -53,37 +53,37 @@ CORE_zttmlq_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zttmlq(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_zttmlq(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zttmlq_parsec, options->priority, "ttmlq", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m1, VALUE, sizeof(int), &n1, VALUE, sizeof(int), &m2, VALUE, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A1, MORSE_Complex64_t, A1m, A1n ), morse_parsec_get_arena_index( A1 ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A1, CHAMELEON_Complex64_t, A1m, A1n ), chameleon_parsec_get_arena_index( A1 ) | INOUT, sizeof(int), &lda1, VALUE, - PASSED_BY_REF, RTBLKADDR( A2, MORSE_Complex64_t, A2m, A2n ), morse_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A2, CHAMELEON_Complex64_t, A2m, A2n ), chameleon_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, sizeof(int), &lda2, VALUE, - PASSED_BY_REF, RTBLKADDR( V, MORSE_Complex64_t, Vm, Vn ), morse_parsec_get_arena_index( V ) | INPUT, + PASSED_BY_REF, RTBLKADDR( V, CHAMELEON_Complex64_t, Vm, Vn ), chameleon_parsec_get_arena_index( V ) | INPUT, sizeof(int), &ldv, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | INPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &ldwork, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zttmqr.c b/runtime/parsec/codelets/codelet_zttmqr.c index 78746614135c49371abdfe8a2f212e36b00f9331..a0f9de9d708f7a03181b218dbf2678a4737651e3 100644 --- a/runtime/parsec/codelets/codelet_zttmqr.c +++ b/runtime/parsec/codelets/codelet_zttmqr.c @@ -17,30 +17,30 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zttmqr_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; parsec_dtd_unpack_args( @@ -54,37 +54,37 @@ CORE_zttmqr_parsec( parsec_execution_stream_t *context, } -void MORSE_TASK_zttmqr(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_zttmqr(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zttmqr_parsec, options->priority, "ttmqr", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m1, VALUE, sizeof(int), &n1, VALUE, sizeof(int), &m2, VALUE, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A1, MORSE_Complex64_t, A1m, A1n ), morse_parsec_get_arena_index( A1 ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A1, CHAMELEON_Complex64_t, A1m, A1n ), chameleon_parsec_get_arena_index( A1 ) | INOUT, sizeof(int), &lda1, VALUE, - PASSED_BY_REF, RTBLKADDR( A2, MORSE_Complex64_t, A2m, A2n ), morse_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A2, CHAMELEON_Complex64_t, A2m, A2n ), chameleon_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, sizeof(int), &lda2, VALUE, - PASSED_BY_REF, RTBLKADDR( V, MORSE_Complex64_t, Vm, Vn ), morse_parsec_get_arena_index( V ) | INPUT, + PASSED_BY_REF, RTBLKADDR( V, CHAMELEON_Complex64_t, Vm, Vn ), chameleon_parsec_get_arena_index( V ) | INPUT, sizeof(int), &ldv, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | INPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &ldwork, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zttqrt.c b/runtime/parsec/codelets/codelet_zttqrt.c index 8ed09e01d73b8e4216bd6b2c387cea040f801abb..05ae51e3a9679d0fd87e9c6ac33fd9af49545580 100644 --- a/runtime/parsec/codelets/codelet_zttqrt.c +++ b/runtime/parsec/codelets/codelet_zttqrt.c @@ -17,7 +17,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int @@ -27,14 +27,14 @@ CORE_zttqrt_parsec( parsec_execution_stream_t *context, int m; int n; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; parsec_dtd_unpack_args( this_task, &m, &n, &ib, &A1, &lda1, &A2, &lda2, &T, &ldt, &TAU, &WORK ); @@ -45,26 +45,26 @@ CORE_zttqrt_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zttqrt(const MORSE_option_t *options, +void INSERT_TASK_zttqrt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zttqrt_parsec, options->priority, "ttqrt", - sizeof(MORSE_enum), &m, VALUE, + sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A1, MORSE_Complex64_t, A1m, A1n ), morse_parsec_get_arena_index( A1 ) | INOUT, + PASSED_BY_REF, RTBLKADDR( A1, CHAMELEON_Complex64_t, A1m, A1n ), chameleon_parsec_get_arena_index( A1 ) | INOUT, sizeof(int), &lda1, VALUE, - PASSED_BY_REF, RTBLKADDR( A2, MORSE_Complex64_t, A2m, A2n ), morse_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( A2, CHAMELEON_Complex64_t, A2m, A2n ), chameleon_parsec_get_arena_index( A2 ) | INOUT | AFFINITY, sizeof(int), &lda2, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | OUTPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb, NULL, SCRATCH, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zunmlq.c b/runtime/parsec/codelets/codelet_zunmlq.c index d368d10e4e237202210a59380e966943d814c1df..5a0d1c846fd5bd148692ccba81518d61ad6e1fee 100644 --- a/runtime/parsec/codelets/codelet_zunmlq.c +++ b/runtime/parsec/codelets/codelet_zunmlq.c @@ -17,26 +17,26 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zunmlq_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m; int n; int k; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; parsec_dtd_unpack_args( @@ -49,30 +49,30 @@ CORE_zunmlq_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zunmlq(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_zunmlq(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m, int n, int k, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *C, int Cm, int Cn, int ldc) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *C, int Cm, int Cn, int ldc) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zunmlq_parsec, options->priority, "unmlq", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | INPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | INPUT, sizeof(int), &ldt, VALUE, - PASSED_BY_REF, RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ), morse_parsec_get_arena_index( C ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( C, CHAMELEON_Complex64_t, Cm, Cn ), chameleon_parsec_get_arena_index( C ) | INOUT | AFFINITY, sizeof(int), &ldc, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &nb, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/codelets/codelet_zunmqr.c b/runtime/parsec/codelets/codelet_zunmqr.c index a593b55cf80e86ed7abe482467f1bca4a2591293..855b7e3ddc46b6f492bceaf490e538792e655301 100644 --- a/runtime/parsec/codelets/codelet_zunmqr.c +++ b/runtime/parsec/codelets/codelet_zunmqr.c @@ -17,26 +17,26 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline int CORE_zunmqr_parsec( parsec_execution_stream_t *context, parsec_task_t *this_task ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m; int n; int k; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; parsec_dtd_unpack_args( @@ -49,30 +49,30 @@ CORE_zunmqr_parsec( parsec_execution_stream_t *context, return PARSEC_HOOK_RETURN_DONE; } -void MORSE_TASK_zunmqr(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_zunmqr(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m, int n, int k, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *C, int Cm, int Cn, int ldc) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *C, int Cm, int Cn, int ldc) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); parsec_dtd_taskpool_insert_task( PARSEC_dtd_taskpool, CORE_zunmqr_parsec, options->priority, "unmqr", - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - PASSED_BY_REF, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), morse_parsec_get_arena_index( A ) | INPUT, + PASSED_BY_REF, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), chameleon_parsec_get_arena_index( A ) | INPUT, sizeof(int), &lda, VALUE, - PASSED_BY_REF, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), morse_parsec_get_arena_index( T ) | INPUT, + PASSED_BY_REF, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), chameleon_parsec_get_arena_index( T ) | INPUT, sizeof(int), &ldt, VALUE, - PASSED_BY_REF, RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ), morse_parsec_get_arena_index( C ) | INOUT | AFFINITY, + PASSED_BY_REF, RTBLKADDR( C, CHAMELEON_Complex64_t, Cm, Cn ), chameleon_parsec_get_arena_index( C ) | INOUT | AFFINITY, sizeof(int), &ldc, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &nb, VALUE, PARSEC_DTD_ARG_END ); } diff --git a/runtime/parsec/control/runtime_async.c b/runtime/parsec/control/runtime_async.c index 71d6832d24a7dac7a3639350f668b9e95eecc71d..d0cf0c5080c3c8ebfc0015e8b7b6e22025f6c266 100644 --- a/runtime/parsec/control/runtime_async.c +++ b/runtime/parsec/control/runtime_async.c @@ -23,10 +23,10 @@ /** * Create a sequence */ -int RUNTIME_sequence_create( MORSE_context_t *morse, - MORSE_sequence_t *sequence ) +int RUNTIME_sequence_create( CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence ) { - parsec_context_t *parsec = (parsec_context_t *)(morse->schedopt); + parsec_context_t *parsec = (parsec_context_t *)(chamctxt->schedopt); parsec_taskpool_t *parsec_dtd_tp = parsec_dtd_taskpool_new(); parsec_enqueue( parsec, (parsec_taskpool_t *)parsec_dtd_tp ); @@ -34,16 +34,16 @@ int RUNTIME_sequence_create( MORSE_context_t *morse, parsec_context_start(parsec); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Destroy a sequence */ -int RUNTIME_sequence_destroy( MORSE_context_t *morse, - MORSE_sequence_t *sequence ) +int RUNTIME_sequence_destroy( CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence ) { - parsec_context_t *parsec = (parsec_context_t *)(morse->schedopt); + parsec_context_t *parsec = (parsec_context_t *)(chamctxt->schedopt); parsec_taskpool_t *parsec_dtd_tp = (parsec_taskpool_t *)(sequence->schedopt); assert( parsec_dtd_tp ); @@ -51,35 +51,35 @@ int RUNTIME_sequence_destroy( MORSE_context_t *morse, parsec_taskpool_free( parsec_dtd_tp ); sequence->schedopt = NULL; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Wait for the completion of a sequence */ -int RUNTIME_sequence_wait( MORSE_context_t *morse, - MORSE_sequence_t *sequence ) +int RUNTIME_sequence_wait( CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence ) { - parsec_context_t *parsec = (parsec_context_t *)morse->schedopt; + parsec_context_t *parsec = (parsec_context_t *)chamctxt->schedopt; parsec_taskpool_t *parsec_dtd_tp = (parsec_taskpool_t *) sequence->schedopt; assert( parsec_dtd_tp ); parsec_dtd_taskpool_wait( parsec, parsec_dtd_tp ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Terminate a sequence */ -void RUNTIME_sequence_flush( MORSE_context_t *morse, - MORSE_sequence_t *sequence, - MORSE_request_t *request, +void RUNTIME_sequence_flush( CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence, + RUNTIME_request_t *request, int status ) { sequence->request = request; sequence->status = status; request->status = status; - (void)morse; + (void)chamctxt; return; } diff --git a/runtime/parsec/control/runtime_context.c b/runtime/parsec/control/runtime_context.c index 58f41212ac776c5dffd276c9e4fb04ff93c8c422..e29a149f55c6b4da8b6b319ec166e0be34132a12 100644 --- a/runtime/parsec/control/runtime_context.c +++ b/runtime/parsec/control/runtime_context.c @@ -23,30 +23,30 @@ /** * Create new context */ -void RUNTIME_context_create( MORSE_context_t *morse ) +void RUNTIME_context_create( CHAM_context_t *chamctxt ) { /* In case of PaRSEC, this is done in init */ - morse->scheduler = RUNTIME_SCHED_PARSEC; + chamctxt->scheduler = RUNTIME_SCHED_PARSEC; return; } /** * Clean the context */ -void RUNTIME_context_destroy( MORSE_context_t *morse ) +void RUNTIME_context_destroy( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return; } /** * */ -void RUNTIME_enable(MORSE_enum lever) +void RUNTIME_enable(int lever) { switch (lever) { - case MORSE_PROFILING_MODE: + case CHAMELEON_PROFILING_MODE: break; default: return; @@ -57,11 +57,11 @@ void RUNTIME_enable(MORSE_enum lever) /** * */ -void RUNTIME_disable(MORSE_enum lever) +void RUNTIME_disable(int lever) { switch (lever) { - case MORSE_PROFILING_MODE: + case CHAMELEON_PROFILING_MODE: break; default: return; diff --git a/runtime/parsec/control/runtime_control.c b/runtime/parsec/control/runtime_control.c index 128c1bcd99627eeed38217ad9dbcbd38d75c1dab..1e4567f3ac1d4439d0e2b31cfc17ad81158232ab 100644 --- a/runtime/parsec/control/runtime_control.c +++ b/runtime/parsec/control/runtime_control.c @@ -26,9 +26,9 @@ #endif /** - * Initialize MORSE + * Initialize CHAMELEON */ -int RUNTIME_init( MORSE_context_t *morse, +int RUNTIME_init( CHAM_context_t *chamctxt, int ncpus, int ncudas, int nthreads_per_worker ) @@ -41,12 +41,12 @@ int RUNTIME_init( MORSE_context_t *morse, if( 0 < ncpus ) { default_ncores = ncpus; } - morse->parallel_enabled = MORSE_TRUE; - morse->schedopt = (void *)parsec_init(default_ncores, argc, NULL); + chamctxt->parallel_enabled = CHAMELEON_TRUE; + chamctxt->schedopt = (void *)parsec_init(default_ncores, argc, NULL); - if(NULL != morse->schedopt) { - morse->nworkers = ncpus; - morse->nthreads_per_worker = nthreads_per_worker; + if(NULL != chamctxt->schedopt) { + chamctxt->nworkers = ncpus; + chamctxt->nthreads_per_worker = nthreads_per_worker; hres = 0; } @@ -57,11 +57,11 @@ int RUNTIME_init( MORSE_context_t *morse, } /** - * Finalize MORSE + * Finalize CHAMELEON */ -void RUNTIME_finalize( MORSE_context_t *morse ) +void RUNTIME_finalize( CHAM_context_t *chamctxt ) { - parsec_context_t *parsec = (parsec_context_t*)morse->schedopt; + parsec_context_t *parsec = (parsec_context_t*)chamctxt->schedopt; parsec_fini(&parsec); return; } @@ -69,9 +69,9 @@ void RUNTIME_finalize( MORSE_context_t *morse ) /** * To suspend the processing of new tasks by workers */ -void RUNTIME_pause( MORSE_context_t *morse ) +void RUNTIME_pause( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return; } @@ -79,18 +79,18 @@ void RUNTIME_pause( MORSE_context_t *morse ) * This is the symmetrical call to RUNTIME_pause, * used to resume the workers polling for new tasks. */ -void RUNTIME_resume( MORSE_context_t *morse ) +void RUNTIME_resume( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return; } /** - * Barrier MORSE. + * Barrier CHAMELEON. */ -void RUNTIME_barrier( MORSE_context_t *morse ) +void RUNTIME_barrier( CHAM_context_t *chamctxt ) { - parsec_context_t *parsec = (parsec_context_t*)(morse->schedopt); + parsec_context_t *parsec = (parsec_context_t*)(chamctxt->schedopt); // This will be a problem with the fake tasks inserted to detect end of DTD algorithms parsec_context_wait( parsec ); return; @@ -99,56 +99,56 @@ void RUNTIME_barrier( MORSE_context_t *morse ) /** * Display a progress information when executing the tasks */ -void RUNTIME_progress( MORSE_context_t *morse ) +void RUNTIME_progress( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return; } /** * Thread rank. */ -int RUNTIME_thread_rank( MORSE_context_t *morse ) +int RUNTIME_thread_rank( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return 0; } /** * Thread rank. */ -int RUNTIME_thread_size( MORSE_context_t *morse ) +int RUNTIME_thread_size( CHAM_context_t *chamctxt ) { // TODO: fixme //return vpmap_get_nb_total_threads(); - (void)morse; + (void)chamctxt; return 1; } /** * This returns the rank of this process */ -int RUNTIME_comm_rank( MORSE_context_t *morse ) +int RUNTIME_comm_rank( CHAM_context_t *chamctxt ) { int rank = 0; #if defined(CHAMELEON_USE_MPI) MPI_Comm_rank(MPI_COMM_WORLD, &rank); #endif - (void)morse; + (void)chamctxt; return rank; } /** * This returns the size of the distributed computation */ -int RUNTIME_comm_size( MORSE_context_t *morse ) +int RUNTIME_comm_size( CHAM_context_t *chamctxt ) { int size = 0; #if defined(CHAMELEON_USE_MPI) MPI_Comm_size(MPI_COMM_WORLD, &size); #endif - (void)morse; + (void)chamctxt; return size; } diff --git a/runtime/parsec/control/runtime_descriptor.c b/runtime/parsec/control/runtime_descriptor.c index 726658e39522856381bae76882ec674f85bb74c7..02c4119be1693cd388e73b25ecae218f7da72a9f 100644 --- a/runtime/parsec/control/runtime_descriptor.c +++ b/runtime/parsec/control/runtime_descriptor.c @@ -26,17 +26,17 @@ #if defined(CHAMELEON_USE_MPI) /* Variable parsec_dtd_no_of_arenas is private and cannot be changed */ -#define MORSE_PARSEC_DTD_NO_OF_ARENA 16 /**< Number of arenas available per DTD */ +#define CHAMELEON_PARSEC_DTD_NO_OF_ARENA 16 /**< Number of arenas available per DTD */ -typedef struct morse_parsec_arena_s { +typedef struct chameleon_parsec_arena_s { /* int mb; */ /* int nb; */ - /* MORSE_enum dtype; */ + /* cham_flttype_t dtype; */ size_t size; -} morse_parsec_arena_t; +} chameleon_parsec_arena_t; -static int morse_parsec_nb_arenas = 0; -static morse_parsec_arena_t morse_parsec_registered_arenas[MORSE_PARSEC_DTD_NO_OF_ARENA] = { { 0 } }; +static int chameleon_parsec_nb_arenas = 0; +static chameleon_parsec_arena_t chameleon_parsec_registered_arenas[CHAMELEON_PARSEC_DTD_NO_OF_ARENA] = { { 0 } }; #endif @@ -60,11 +60,11 @@ void RUNTIME_free( void *ptr, size_t size ) } static inline void -morse_parsec_key_to_coordinates(parsec_data_collection_t *data_collection, parsec_data_key_t key, +chameleon_parsec_key_to_coordinates(parsec_data_collection_t *data_collection, parsec_data_key_t key, int *m, int *n) { - morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)data_collection; - MORSE_desc_t *mdesc = pdesc->desc; + chameleon_parsec_desc_t *pdesc = (chameleon_parsec_desc_t*)data_collection; + CHAM_desc_t *mdesc = pdesc->desc; int _m, _n; _m = key % mdesc->lmt; @@ -74,10 +74,10 @@ morse_parsec_key_to_coordinates(parsec_data_collection_t *data_collection, parse } static inline parsec_data_key_t -morse_parsec_data_key(parsec_data_collection_t *data_collection, ...) +chameleon_parsec_data_key(parsec_data_collection_t *data_collection, ...) { - morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)data_collection; - MORSE_desc_t *mdesc = pdesc->desc; + chameleon_parsec_desc_t *pdesc = (chameleon_parsec_desc_t*)data_collection; + CHAM_desc_t *mdesc = pdesc->desc; va_list ap; int m, n; @@ -95,10 +95,10 @@ morse_parsec_data_key(parsec_data_collection_t *data_collection, ...) } static inline uint32_t -morse_parsec_rank_of(parsec_data_collection_t *data_collection, ...) +chameleon_parsec_rank_of(parsec_data_collection_t *data_collection, ...) { - morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)data_collection; - MORSE_desc_t *mdesc = pdesc->desc; + chameleon_parsec_desc_t *pdesc = (chameleon_parsec_desc_t*)data_collection; + CHAM_desc_t *mdesc = pdesc->desc; va_list ap; int m, n; @@ -116,33 +116,33 @@ morse_parsec_rank_of(parsec_data_collection_t *data_collection, ...) } static inline uint32_t -morse_parsec_rank_of_key(parsec_data_collection_t *data_collection, parsec_data_key_t key) +chameleon_parsec_rank_of_key(parsec_data_collection_t *data_collection, parsec_data_key_t key) { int m, n; - morse_parsec_key_to_coordinates(data_collection, key, &m, &n); - return morse_parsec_rank_of(data_collection, m, n); + chameleon_parsec_key_to_coordinates(data_collection, key, &m, &n); + return chameleon_parsec_rank_of(data_collection, m, n); } static inline int32_t -morse_parsec_vpid_of(parsec_data_collection_t *data_collection, ... ) +chameleon_parsec_vpid_of(parsec_data_collection_t *data_collection, ... ) { (void)data_collection; return 0; } static inline int32_t -morse_parsec_vpid_of_key(parsec_data_collection_t *data_collection, parsec_data_key_t key) +chameleon_parsec_vpid_of_key(parsec_data_collection_t *data_collection, parsec_data_key_t key) { int m, n; - morse_parsec_key_to_coordinates(data_collection, key, &m, &n); - return morse_parsec_vpid_of(data_collection, m, n); + chameleon_parsec_key_to_coordinates(data_collection, key, &m, &n); + return chameleon_parsec_vpid_of(data_collection, m, n); } static inline parsec_data_t* -morse_parsec_data_of(parsec_data_collection_t *data_collection, ...) +chameleon_parsec_data_of(parsec_data_collection_t *data_collection, ...) { - morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)data_collection; - MORSE_desc_t *mdesc = pdesc->desc; + chameleon_parsec_desc_t *pdesc = (chameleon_parsec_desc_t*)data_collection; + CHAM_desc_t *mdesc = pdesc->desc; va_list ap; int m, n; @@ -161,18 +161,18 @@ morse_parsec_data_of(parsec_data_collection_t *data_collection, ...) //assert( data_collection->nodes == 1 ); #endif return parsec_data_create( pdesc->data_map + n * mdesc->lmt + m, data_collection, - morse_parsec_data_key( data_collection, m, n ), + chameleon_parsec_data_key( data_collection, m, n ), mdesc->get_blkaddr( mdesc, m, n ), - mdesc->bsiz * MORSE_Element_Size(mdesc->dtyp) ); + mdesc->bsiz * CHAMELEON_Element_Size(mdesc->dtyp) ); } static inline parsec_data_t* -morse_parsec_data_of_key(parsec_data_collection_t *data_collection, parsec_data_key_t key) +chameleon_parsec_data_of_key(parsec_data_collection_t *data_collection, parsec_data_key_t key) { - morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)data_collection; - MORSE_desc_t *mdesc = pdesc->desc; + chameleon_parsec_desc_t *pdesc = (chameleon_parsec_desc_t*)data_collection; + CHAM_desc_t *mdesc = pdesc->desc; int m, n; - morse_parsec_key_to_coordinates(data_collection, key, &m, &n); + chameleon_parsec_key_to_coordinates(data_collection, key, &m, &n); #if defined(CHAMELEON_USE_MPI) /* TODO: change displacement in data_map when in distributed */ @@ -180,17 +180,17 @@ morse_parsec_data_of_key(parsec_data_collection_t *data_collection, parsec_data_ #endif return parsec_data_create( pdesc->data_map + key, data_collection, key, mdesc->get_blkaddr( mdesc, m, n ), - mdesc->bsiz * MORSE_Element_Size(mdesc->dtyp) ); + mdesc->bsiz * CHAMELEON_Element_Size(mdesc->dtyp) ); } #ifdef parsec_PROF_TRACE static inline int -morse_parsec_key_to_string(parsec_data_collection_t *data_collection, parsec_data_key_t key, char * buffer, uint32_t buffer_size) +chameleon_parsec_key_to_string(parsec_data_collection_t *data_collection, parsec_data_key_t key, char * buffer, uint32_t buffer_size) { - morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)data_collection; - MORSE_desc_t *mdesc = pdesc->desc; + chameleon_parsec_desc_t *pdesc = (chameleon_parsec_desc_t*)data_collection; + CHAM_desc_t *mdesc = pdesc->desc; int m, n, res; - morse_parsec_key_to_coordinates(data_collection, key, &m, &n); + chameleon_parsec_key_to_coordinates(data_collection, key, &m, &n); res = snprintf(buffer, buffer_size, "(%d, %d)", m, n); if (res < 0) { @@ -204,13 +204,13 @@ morse_parsec_key_to_string(parsec_data_collection_t *data_collection, parsec_dat /** * Create data descriptor */ -void RUNTIME_desc_create( MORSE_desc_t *mdesc ) +void RUNTIME_desc_create( CHAM_desc_t *mdesc ) { parsec_data_collection_t *data_collection; - morse_parsec_desc_t *pdesc; + chameleon_parsec_desc_t *pdesc; int comm_size; - pdesc = malloc( sizeof(morse_parsec_desc_t) ); + pdesc = malloc( sizeof(chameleon_parsec_desc_t) ); data_collection = (parsec_data_collection_t*)pdesc; /* Super setup */ @@ -218,17 +218,17 @@ void RUNTIME_desc_create( MORSE_desc_t *mdesc ) data_collection->nodes = comm_size; data_collection->myrank = mdesc->myrank; - data_collection->data_key = morse_parsec_data_key; - data_collection->rank_of = morse_parsec_rank_of; - data_collection->rank_of_key = morse_parsec_rank_of_key; - data_collection->data_of = morse_parsec_data_of; - data_collection->data_of_key = morse_parsec_data_of_key; - data_collection->vpid_of = morse_parsec_vpid_of; - data_collection->vpid_of_key = morse_parsec_vpid_of_key; + data_collection->data_key = chameleon_parsec_data_key; + data_collection->rank_of = chameleon_parsec_rank_of; + data_collection->rank_of_key = chameleon_parsec_rank_of_key; + data_collection->data_of = chameleon_parsec_data_of; + data_collection->data_of_key = chameleon_parsec_data_of_key; + data_collection->vpid_of = chameleon_parsec_vpid_of; + data_collection->vpid_of_key = chameleon_parsec_vpid_of_key; #if defined(parsec_PROF_TRACE) { int rc; - data_collection->key_to_string = morse_parsec_key_to_string; + data_collection->key_to_string = chameleon_parsec_key_to_string; data_collection->key = NULL; rc = asprintf(&(data_collection->key_dim), "(%d, %d)", mdesc->lmt, mdesc->lnt); (void)rc; @@ -251,18 +251,18 @@ void RUNTIME_desc_create( MORSE_desc_t *mdesc ) #if defined(CHAMELEON_USE_MPI) /* Look if an arena already exists for this descriptor */ { - morse_parsec_arena_t *arena = morse_parsec_registered_arenas; - size_t size = mdesc->mb * mdesc->nb * MORSE_Element_Size(mdesc->dtyp); + chameleon_parsec_arena_t *arena = chameleon_parsec_registered_arenas; + size_t size = mdesc->mb * mdesc->nb * CHAMELEON_Element_Size(mdesc->dtyp); int i; - for(i=0; i<morse_parsec_nb_arenas; i++, arena++) { + for(i=0; i<chameleon_parsec_nb_arenas; i++, arena++) { if ( size == arena->size) { pdesc->arena_index = i; break; } } - if (i == morse_parsec_nb_arenas) { + if (i == chameleon_parsec_nb_arenas) { parsec_datatype_t datatype; /* Create a taskpool to make sur the system is initialized */ @@ -272,15 +272,15 @@ void RUNTIME_desc_create( MORSE_desc_t *mdesc ) } /* Internal limitation of PaRSEC */ - assert(morse_parsec_nb_arenas < MORSE_PARSEC_DTD_NO_OF_ARENA); + assert(chameleon_parsec_nb_arenas < CHAMELEON_PARSEC_DTD_NO_OF_ARENA); switch(mdesc->dtyp) { - case MorseInteger: datatype = parsec_datatype_int32_t; break; - case MorseRealFloat: datatype = parsec_datatype_float_t; break; - case MorseRealDouble: datatype = parsec_datatype_double_t; break; - case MorseComplexFloat: datatype = parsec_datatype_complex_t; break; - case MorseComplexDouble: datatype = parsec_datatype_double_complex_t; break; - default: morse_fatal_error("MORSE_Element_Size", "undefined type"); break; + case ChamInteger: datatype = parsec_datatype_int32_t; break; + case ChamRealFloat: datatype = parsec_datatype_float_t; break; + case ChamRealDouble: datatype = parsec_datatype_double_t; break; + case ChamComplexFloat: datatype = parsec_datatype_complex_t; break; + case ChamComplexDouble: datatype = parsec_datatype_double_complex_t; break; + default: chameleon_fatal_error("CHAMELEON_Element_Size", "undefined type"); break; } /* Register the new arena */ @@ -288,7 +288,7 @@ void RUNTIME_desc_create( MORSE_desc_t *mdesc ) mdesc->mb, mdesc->nb, mdesc->mb, PARSEC_ARENA_ALIGNMENT_SSE, -1 ); arena->size = size; pdesc->arena_index = i; - morse_parsec_nb_arenas++; + chameleon_parsec_nb_arenas++; } } #endif @@ -301,9 +301,9 @@ void RUNTIME_desc_create( MORSE_desc_t *mdesc ) /** * Destroy data descriptor */ -void RUNTIME_desc_destroy( MORSE_desc_t *mdesc ) +void RUNTIME_desc_destroy( CHAM_desc_t *mdesc ) { - morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)(mdesc->schedopt); + chameleon_parsec_desc_t *pdesc = (chameleon_parsec_desc_t*)(mdesc->schedopt); if ( pdesc == NULL ) { return; } @@ -334,19 +334,19 @@ void RUNTIME_desc_destroy( MORSE_desc_t *mdesc ) /** * Acquire data */ -int RUNTIME_desc_acquire( const MORSE_desc_t *desc ) +int RUNTIME_desc_acquire( const CHAM_desc_t *desc ) { (void)desc; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Release data */ -int RUNTIME_desc_release( const MORSE_desc_t *desc ) +int RUNTIME_desc_release( const CHAM_desc_t *desc ) { (void)desc; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** @@ -356,16 +356,16 @@ void RUNTIME_flush() { } -void RUNTIME_desc_flush( const MORSE_desc_t *desc, - const MORSE_sequence_t *sequence ) +void RUNTIME_desc_flush( const CHAM_desc_t *desc, + const RUNTIME_sequence_t *sequence ) { parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(sequence->schedopt); parsec_dtd_data_flush_all( PARSEC_dtd_taskpool, (parsec_data_collection_t*)(desc->schedopt) ); } -void RUNTIME_data_flush( const MORSE_sequence_t *sequence, - const MORSE_desc_t *A, int Am, int An ) +void RUNTIME_data_flush( const RUNTIME_sequence_t *sequence, + const CHAM_desc_t *A, int Am, int An ) { /* * For now, we do nothing in this function as in PaRSEC, once the data is @@ -373,15 +373,15 @@ void RUNTIME_data_flush( const MORSE_sequence_t *sequence, * fixed, we will uncomment this function */ /* parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(sequence->schedopt); */ - /* parsec_dtd_data_flush( PARSEC_dtd_taskpool, RTBLKADDR( A, MORSE_Complex64_t, Am, An ) ); */ + /* parsec_dtd_data_flush( PARSEC_dtd_taskpool, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ) ); */ (void)sequence; (void)A; (void)Am; (void)An; return; } #if defined(CHAMELEON_USE_MIGRATE) -void RUNTIME_data_migrate( const MORSE_sequence_t *sequence, - const MORSE_desc_t *A, int Am, int An, int new_rank ) +void RUNTIME_data_migrate( const RUNTIME_sequence_t *sequence, + const CHAM_desc_t *A, int Am, int An, int new_rank ) { (void)sequence; (void)A; (void)Am; (void)An; (void)new_rank; } @@ -390,7 +390,7 @@ void RUNTIME_data_migrate( const MORSE_sequence_t *sequence, /** * Get data addr */ -void *RUNTIME_desc_getaddr( const MORSE_desc_t *desc, int m, int n ) +void *RUNTIME_desc_getaddr( const CHAM_desc_t *desc, int m, int n ) { assert(0); /* This should not be called because we also need the handle to match the address we need. */ return desc->get_blkaddr( desc, m, n ); diff --git a/runtime/parsec/control/runtime_options.c b/runtime/parsec/control/runtime_options.c index 4c92b3447cd83a681e584599540c3c84c69472bf..73ed66e8d6c7ae8c6ae48b5144ebc6490f4de716 100644 --- a/runtime/parsec/control/runtime_options.c +++ b/runtime/parsec/control/runtime_options.c @@ -21,15 +21,14 @@ #include <stdlib.h> #include "chameleon_parsec.h" -void RUNTIME_options_init( MORSE_option_t *options, MORSE_context_t *morse, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +void RUNTIME_options_init( RUNTIME_option_t *options, CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { options->sequence = sequence; options->request = request; - options->profiling = MORSE_PROFILING == MORSE_TRUE; - options->parallel = MORSE_PARALLEL == MORSE_TRUE; - options->priority = MORSE_PRIORITY_MIN; - options->nb = MORSE_NB; + options->profiling = CHAMELEON_PROFILING == CHAMELEON_TRUE; + options->parallel = CHAMELEON_PARALLEL == CHAMELEON_TRUE; + options->priority = RUNTIME_PRIORITY_MIN; options->ws_wsize = 0; options->ws_hsize = 0; options->ws_worker = NULL; @@ -37,23 +36,23 @@ void RUNTIME_options_init( MORSE_option_t *options, MORSE_context_t *morse, return; } -void RUNTIME_options_finalize( MORSE_option_t *options, MORSE_context_t *morse ) +void RUNTIME_options_finalize( RUNTIME_option_t *options, CHAM_context_t *chamctxt ) { (void)options; - (void)morse; + (void)chamctxt; return; } -int RUNTIME_options_ws_alloc( MORSE_option_t *options, size_t worker_size, size_t host_size ) +int RUNTIME_options_ws_alloc( RUNTIME_option_t *options, size_t worker_size, size_t host_size ) { options->ws_wsize = worker_size; options->ws_hsize = host_size; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } -int RUNTIME_options_ws_free( MORSE_option_t *options ) +int RUNTIME_options_ws_free( RUNTIME_option_t *options ) { options->ws_wsize = 0; options->ws_hsize = 0; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/runtime/parsec/control/runtime_profiling.c b/runtime/parsec/control/runtime_profiling.c index a64b312b811dd714c7ef3c3590ca013a2aa2bc3f..43ca3381efa2c967b33b8586a708a4a6a7a5fd9b 100644 --- a/runtime/parsec/control/runtime_profiling.c +++ b/runtime/parsec/control/runtime_profiling.c @@ -18,7 +18,7 @@ * */ #include "chameleon_parsec.h" -#include "chameleon/chameleon_timer.h" +#include "chameleon/timer.h" double RUNTIME_get_time(){ return CHAMELEON_timer(); @@ -26,45 +26,45 @@ double RUNTIME_get_time(){ void RUNTIME_start_profiling() { - morse_warning("RUNTIME_start_profiling()", "FxT profiling is not available with PaRSEC\n"); + chameleon_warning("RUNTIME_start_profiling()", "FxT profiling is not available with PaRSEC\n"); } void RUNTIME_stop_profiling() { - morse_warning("RUNTIME_stop_profiling()", "FxT profiling is not available with PaRSEC\n"); + chameleon_warning("RUNTIME_stop_profiling()", "FxT profiling is not available with PaRSEC\n"); } void RUNTIME_start_stats() { - morse_warning("RUNTIME_start_stats()", "pruning stats are not available with PaRSEC\n"); + chameleon_warning("RUNTIME_start_stats()", "pruning stats are not available with PaRSEC\n"); } void RUNTIME_stop_stats() { - morse_warning("RUNTIME_stop_stats()", "pruning stats are not available with PaRSEC\n"); + chameleon_warning("RUNTIME_stop_stats()", "pruning stats are not available with PaRSEC\n"); } void RUNTIME_schedprofile_display(void) { - morse_warning("RUNTIME_schedprofile_display(parsec)", "Scheduler profiling is not available with PaRSEC\n"); + chameleon_warning("RUNTIME_schedprofile_display(parsec)", "Scheduler profiling is not available with PaRSEC\n"); } void RUNTIME_kernelprofile_display(void) { - morse_warning("RUNTIME_kernelprofile_display(parsec)", "Kernel profiling is not available with PaRSEC\n"); + chameleon_warning("RUNTIME_kernelprofile_display(parsec)", "Kernel profiling is not available with PaRSEC\n"); } /** * Set iteration numbers for traces */ -void RUNTIME_iteration_push( MORSE_context_t *morse, unsigned long iteration ) +void RUNTIME_iteration_push( CHAM_context_t *chamctxt, unsigned long iteration ) { - (void)morse; (void)iteration; + (void)chamctxt; (void)iteration; return; } -void RUNTIME_iteration_pop( MORSE_context_t *morse ) +void RUNTIME_iteration_pop( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return; } diff --git a/runtime/parsec/control/runtime_zlocality.c b/runtime/parsec/control/runtime_zlocality.c index 58d6aeaa741d12d270c16301685756f287e0ed14..674803efca0845012e11d6fd0de144458cbcfcfb 100644 --- a/runtime/parsec/control/runtime_zlocality.c +++ b/runtime/parsec/control/runtime_zlocality.c @@ -9,7 +9,7 @@ * *** * - * @brief Chameleon PaRSEC MORSE_Complex64_t kernel locality management + * @brief Chameleon PaRSEC CHAMELEON_Complex64_t kernel locality management * * @version 1.0.0 * @author Reazul Hoque @@ -22,23 +22,23 @@ void RUNTIME_zlocality_allrestrict( uint32_t where ) { (void)where; - morse_warning("RUNTIME_zlocality_allrestrict(PaRSEC)", "Kernel locality cannot be specified with PaRSEC"); + chameleon_warning("RUNTIME_zlocality_allrestrict(PaRSEC)", "Kernel locality cannot be specified with PaRSEC"); } -void RUNTIME_zlocality_onerestrict( MORSE_kernel_t kernel, uint32_t where ) +void RUNTIME_zlocality_onerestrict( cham_tasktype_t kernel, uint32_t where ) { (void)kernel; (void)where; - morse_warning("RUNTIME_zlocality_onerestrict(PaRSEC)", "Kernel locality cannot be specified with PaRSEC"); + chameleon_warning("RUNTIME_zlocality_onerestrict(PaRSEC)", "Kernel locality cannot be specified with PaRSEC"); } void RUNTIME_zlocality_allrestore( ) { - morse_warning("RUNTIME_zlocality_allrestore(PaRSEC)", "Kernel locality cannot be specified with PaRSEC"); + chameleon_warning("RUNTIME_zlocality_allrestore(PaRSEC)", "Kernel locality cannot be specified with PaRSEC"); } -void RUNTIME_zlocality_onerestore( MORSE_kernel_t kernel ) +void RUNTIME_zlocality_onerestore( cham_tasktype_t kernel ) { (void)kernel; - morse_warning("RUNTIME_zlocality_onerestore(PaRSEC)", "Kernel locality cannot be specified with PaRSEC"); + chameleon_warning("RUNTIME_zlocality_onerestore(PaRSEC)", "Kernel locality cannot be specified with PaRSEC"); } diff --git a/runtime/parsec/control/runtime_zprofiling.c b/runtime/parsec/control/runtime_zprofiling.c index 4e1f7a0a4a05cb731d1e7199f4c2d9b433e5d03c..9288392155f32f99357c4ff5cff34adf615726e1 100644 --- a/runtime/parsec/control/runtime_zprofiling.c +++ b/runtime/parsec/control/runtime_zprofiling.c @@ -9,7 +9,7 @@ * *** * - * @brief Chameleon PaRSEC MORSE_Complex64_t kernel progiling + * @brief Chameleon PaRSEC CHAMELEON_Complex64_t kernel progiling * * @version 1.0.0 * @author Reazul Hoque @@ -21,12 +21,12 @@ void RUNTIME_zdisplay_allprofile() { - morse_warning("RUNTIME_zdisplay_allprofile(PaRSEC)", "Profiling is not available with PaRSEC"); + chameleon_warning("RUNTIME_zdisplay_allprofile(PaRSEC)", "Profiling is not available with PaRSEC"); } -void RUNTIME_zdisplay_oneprofile( MORSE_kernel_t kernel ) +void RUNTIME_zdisplay_oneprofile( cham_tasktype_t kernel ) { (void)kernel; - morse_warning("RUNTIME_zdisplay_oneprofile(PaRSEC)", "Profiling is not available with PaRSEC\n"); + chameleon_warning("RUNTIME_zdisplay_oneprofile(PaRSEC)", "Profiling is not available with PaRSEC\n"); } diff --git a/runtime/parsec/include/chameleon_parsec.h b/runtime/parsec/include/chameleon_parsec.h index 6238dd0c2d8307fbe9364fe3ffe4bd8bf5d8807b..d18db7b1e0971a81d2fe30569ebfbce7b2fccc3d 100644 --- a/runtime/parsec/include/chameleon_parsec.h +++ b/runtime/parsec/include/chameleon_parsec.h @@ -17,8 +17,8 @@ * @date 2018-02-06 * */ -#ifndef _MORSE_PARSEC_H_ -#define _MORSE_PARSEC_H_ +#ifndef _CHAMELEON_PARSEC_H_ +#define _CHAMELEON_PARSEC_H_ #include <parsec.h> #include <parsec/insert_function.h> @@ -29,18 +29,18 @@ #include "control/common.h" -struct morse_parsec_desc_s { +struct chameleon_parsec_desc_s { parsec_data_collection_t super; int arena_index; - MORSE_desc_t *desc; + CHAM_desc_t *desc; parsec_data_t **data_map; }; -typedef struct morse_parsec_desc_s morse_parsec_desc_t; +typedef struct chameleon_parsec_desc_s chameleon_parsec_desc_t; static inline int -morse_parsec_get_arena_index(const MORSE_desc_t *desc) { - return ((morse_parsec_desc_t *)desc->schedopt)->arena_index; +chameleon_parsec_get_arena_index(const CHAM_desc_t *desc) { + return ((chameleon_parsec_desc_t *)desc->schedopt)->arena_index; } /* @@ -61,4 +61,4 @@ morse_parsec_get_arena_index(const MORSE_desc_t *desc) { #define RUNTIME_END_ACCESS_DECLARATION -#endif /* _MORSE_PARSEC_H_ */ +#endif /* _CHAMELEON_PARSEC_H_ */ diff --git a/runtime/quark/codelets/codelet_zasum.c b/runtime/quark/codelets/codelet_zasum.c index b180b5ec0cadcb8633adc827b4cdc2853844a013..68601ae4a31c0adf58f94f6f48d7a7589f2a9812 100644 --- a/runtime/quark/codelets/codelet_zasum.c +++ b/runtime/quark/codelets/codelet_zasum.c @@ -13,23 +13,23 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_dzasum_quark(Quark *quark) { - MORSE_enum storev; - MORSE_enum uplo; + cham_store_t storev; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *work; @@ -37,19 +37,19 @@ void CORE_dzasum_quark(Quark *quark) CORE_dzasum(storev, uplo, M, N, A, lda, work); } -void MORSE_TASK_dzasum(const MORSE_option_t *options, - MORSE_enum storev, MORSE_enum uplo, int M, int N, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_dzasum(const RUNTIME_option_t *options, + cham_store_t storev, cham_uplo_t uplo, int M, int N, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_ASUM; QUARK_Insert_Task(opt->quark, CORE_dzasum_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &storev, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &storev, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, - sizeof(MORSE_Complex64_t)*lda*N, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*lda*N, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, sizeof(double), RTBLKADDR(B, double, Bm, Bn), INOUT, 0); diff --git a/runtime/quark/codelets/codelet_zaxpy.c b/runtime/quark/codelets/codelet_zaxpy.c index 17b35efff21bd17b39612b964024246dd81d1953..7969c8fc594248ad114126193943ddea2ea65ba1 100644 --- a/runtime/quark/codelets/codelet_zaxpy.c +++ b/runtime/quark/codelets/codelet_zaxpy.c @@ -13,42 +13,42 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zaxpy_quark(Quark *quark) { int M; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int incA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int incB; quark_unpack_args_6(quark, M, alpha, A, incA, B, incB); CORE_zaxpy(M, alpha, A, incA, B, incB); } -void MORSE_TASK_zaxpy(const MORSE_option_t *options, - int M, MORSE_Complex64_t *alpha, - const MORSE_desc_t *A, int Am, int An, int incA, - const MORSE_desc_t *B, int Bm, int Bn, int incB) +void INSERT_TASK_zaxpy(const RUNTIME_option_t *options, + int M, CHAMELEON_Complex64_t *alpha, + const CHAM_desc_t *A, int Am, int An, int incA, + const CHAM_desc_t *B, int Bm, int Bn, int incB) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_AXPY; QUARK_Insert_Task(opt->quark, CORE_zaxpy_quark, (Quark_Task_Flags*)opt, sizeof(int), &M, VALUE, - sizeof(MORSE_Complex64_t), alpha, VALUE, - sizeof(MORSE_Complex64_t)*M, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t), alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*M, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &incA, VALUE, - sizeof(MORSE_Complex64_t)*M, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INOUT, + sizeof(CHAMELEON_Complex64_t)*M, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), INOUT, sizeof(int), &incB, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zbuild.c b/runtime/quark/codelets/codelet_zbuild.c index 6cc5fc3776d4d88ef3061df9cf1531b6e86c80eb..6232a86279af1a12503d970865c42296c76019bc 100644 --- a/runtime/quark/codelets/codelet_zbuild.c +++ b/runtime/quark/codelets/codelet_zbuild.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Piotr Luszczek * @author Pierre Lemarinier * @author Mathieu Faverge @@ -25,12 +25,12 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zbuild_quark(Quark *quark) { - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; void *user_data; void (*user_build_callback)(int row_min, int row_max, int col_min, int col_max, void *buffer, int ld, void *user_data) ; @@ -41,8 +41,8 @@ void CORE_zbuild_quark(Quark *quark) user_build_callback(row_min, row_max, col_min, col_max, A, lda, user_data); } -void MORSE_TASK_zbuild( const MORSE_option_t *options, - const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zbuild( const RUNTIME_option_t *options, + const CHAM_desc_t *A, int Am, int An, int lda, void *user_data, void* user_build_callback ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); @@ -58,7 +58,7 @@ void MORSE_TASK_zbuild( const MORSE_option_t *options, sizeof(int), &row_max, VALUE, sizeof(int), &col_min, VALUE, sizeof(int), &col_max, VALUE, - sizeof(MORSE_Complex64_t)*lda*A->nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*lda*A->nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), OUTPUT, sizeof(int), &lda, VALUE, sizeof(void*), &user_data, VALUE, sizeof(void*), &user_build_callback, VALUE, diff --git a/runtime/quark/codelets/codelet_zgeadd.c b/runtime/quark/codelets/codelet_zgeadd.c index 4054ace96cada78481385b61903bbeff1c5eaa83..bc2f336c02e9dc129126a504bd839e2363e3b9c2 100644 --- a/runtime/quark/codelets/codelet_zgeadd.c +++ b/runtime/quark/codelets/codelet_zgeadd.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -22,19 +22,19 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zgeadd_quark(Quark *quark) { - MORSE_enum trans; + cham_trans_t trans; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t beta; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *B; int LDB; quark_unpack_args_9(quark, trans, M, N, alpha, A, LDA, beta, B, LDB); @@ -45,9 +45,9 @@ void CORE_zgeadd_quark(Quark *quark) /** ****************************************************************************** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * - * MORSE_TASK_zgeadd adds two general matrices together as in PBLAS pzgeadd. + * INSERT_TASK_zgeadd adds two general matrices together as in PBLAS pzgeadd. * * B <- alpha * op(A) + beta * B, * @@ -58,9 +58,9 @@ void CORE_zgeadd_quark(Quark *quark) * @param[in] trans * Specifies whether the matrix A is non-transposed, transposed, or * conjugate transposed - * = MorseNoTrans: op(A) = A - * = MorseTrans: op(A) = A' - * = MorseConjTrans: op(A) = conj(A') + * = ChamNoTrans: op(A) = A + * = ChamTrans: op(A) = A' + * = ChamConjTrans: op(A) = conj(A') * * @param[in] M * Number of rows of the matrices op(A) and B. @@ -72,12 +72,12 @@ void CORE_zgeadd_quark(Quark *quark) * Scalar factor of A. * * @param[in] A - * Matrix of size LDA-by-N, if trans = MorseNoTrans, LDA-by-M + * Matrix of size LDA-by-N, if trans = ChamNoTrans, LDA-by-M * otherwise. * * @param[in] LDA * Leading dimension of the array A. LDA >= max(1,k), with k=M, if - * trans = MorseNoTrans, and k=N otherwise. + * trans = ChamNoTrans, and k=N otherwise. * * @param[in] beta * Scalar factor of B. @@ -92,26 +92,26 @@ void CORE_zgeadd_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zgeadd(const MORSE_option_t *options, - MORSE_enum trans, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t beta, const MORSE_desc_t *B, int Bm, int Bn, int ldb) +void INSERT_TASK_zgeadd(const RUNTIME_option_t *options, + cham_trans_t trans, int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *B, int Bm, int Bn, int ldb) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_GEADD; QUARK_Insert_Task(opt->quark, CORE_zgeadd_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*lda*n, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*lda*n, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - sizeof(MORSE_Complex64_t)*ldb*n, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INOUT, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + sizeof(CHAMELEON_Complex64_t)*ldb*n, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), INOUT, sizeof(int), &ldb, VALUE, 0); diff --git a/runtime/quark/codelets/codelet_zgelqt.c b/runtime/quark/codelets/codelet_zgelqt.c index 4ec64f0fe671b6f0b5786dc5421544411d3dd6cb..6bf77625f7bdd4d3a3781bc075c8f78316ccd191 100644 --- a/runtime/quark/codelets/codelet_zgelqt.c +++ b/runtime/quark/codelets/codelet_zgelqt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,7 +24,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zgelqt_quark(Quark *quark) @@ -32,12 +32,12 @@ void CORE_zgelqt_quark(Quark *quark) int m; int n; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; quark_unpack_args_9(quark, m, n, ib, A, lda, T, ldt, TAU, WORK); CORE_zgelqt(m, n, ib, A, lda, T, ldt, TAU, WORK); @@ -45,7 +45,7 @@ void CORE_zgelqt_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgelqt - computes a LQ factorization of a complex M-by-N tile A: A = L * Q. * @@ -100,14 +100,14 @@ void CORE_zgelqt_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zgelqt(const MORSE_option_t *options, +void INSERT_TASK_zgelqt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_GELQT; @@ -115,11 +115,11 @@ void MORSE_TASK_zgelqt(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb, NULL, SCRATCH, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, 0); } diff --git a/runtime/quark/codelets/codelet_zgemm.c b/runtime/quark/codelets/codelet_zgemm.c index 7bbc396f0369f7aa3a374bb6e9fcb66e7a5f6b60..f9025a9391f46ea10adce967cb129fe5d3a4f5c4 100644 --- a/runtime/quark/codelets/codelet_zgemm.c +++ b/runtime/quark/codelets/codelet_zgemm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,23 +24,23 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zgemm_quark(Quark *quark) { - MORSE_enum transA; - MORSE_enum transB; + cham_trans_t transA; + cham_trans_t transB; int m; int n; int k; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int ldc; quark_unpack_args_13(quark, transA, transB, m, n, k, alpha, A, lda, B, ldb, beta, C, ldc); @@ -51,28 +51,28 @@ void CORE_zgemm_quark(Quark *quark) beta, C, ldc); } -void MORSE_TASK_zgemm(const MORSE_option_t *options, - MORSE_enum transA, int transB, +void INSERT_TASK_zgemm(const RUNTIME_option_t *options, + cham_trans_t transA, cham_trans_t transB, int m, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_GEMM; QUARK_Insert_Task(opt->quark, CORE_zgemm_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &transA, VALUE, - sizeof(MORSE_enum), &transB, VALUE, + sizeof(int), &transA, VALUE, + sizeof(int), &transB, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), INPUT, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), INOUT, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), INOUT, sizeof(int), &ldc, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zgeqrt.c b/runtime/quark/codelets/codelet_zgeqrt.c index 3d0d447b1d2a0abbed35fc7fb9bd3ca6c03fb594..f4a68b1b00123d76c056322b3d15870bd8a63b44 100644 --- a/runtime/quark/codelets/codelet_zgeqrt.c +++ b/runtime/quark/codelets/codelet_zgeqrt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,7 +24,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zgeqrt_quark(Quark *quark) @@ -32,12 +32,12 @@ void CORE_zgeqrt_quark(Quark *quark) int m; int n; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; quark_unpack_args_9(quark, m, n, ib, A, lda, T, ldt, TAU, WORK); CORE_zgeqrt(m, n, ib, A, lda, T, ldt, TAU, WORK); @@ -45,7 +45,7 @@ void CORE_zgeqrt_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgeqrt computes a QR factorization of a complex M-by-N tile A: * A = Q * R. @@ -101,14 +101,14 @@ void CORE_zgeqrt_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zgeqrt(const MORSE_option_t *options, +void INSERT_TASK_zgeqrt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_GEQRT; @@ -116,11 +116,11 @@ void MORSE_TASK_zgeqrt(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb, NULL, SCRATCH, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, 0); } diff --git a/runtime/quark/codelets/codelet_zgessm.c b/runtime/quark/codelets/codelet_zgessm.c index fb3768e83ff2e1ca38821c8b5c59173c2a2b61c4..6d920ea8e814245d9e5e741c6bf1f7904d8605b3 100644 --- a/runtime/quark/codelets/codelet_zgessm.c +++ b/runtime/quark/codelets/codelet_zgessm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -25,7 +25,7 @@ */ #include "coreblas/cblas.h" #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zgessm_quark(Quark *quark) @@ -35,11 +35,11 @@ void CORE_zgessm_quark(Quark *quark) int k; int ib; int *IPIV; - MORSE_Complex64_t *L; + CHAMELEON_Complex64_t *L; int ldl; - MORSE_Complex64_t *D; + CHAMELEON_Complex64_t *D; int ldd; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; quark_unpack_args_11(quark, m, n, k, ib, IPIV, L, ldl, D, ldd, A, lda); @@ -48,7 +48,7 @@ void CORE_zgessm_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgessm applies the factors L computed by CORE_zgetrf_incpiv to * a complex M-by-N tile A. @@ -87,16 +87,16 @@ void CORE_zgessm_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * */ -void MORSE_TASK_zgessm(const MORSE_option_t *options, +void INSERT_TASK_zgessm(const RUNTIME_option_t *options, int m, int n, int k, int ib, int nb, int *IPIV, - const MORSE_desc_t *L, int Lm, int Ln, int ldl, - const MORSE_desc_t *D, int Dm, int Dn, int ldd, - const MORSE_desc_t *A, int Am, int An, int lda) + const CHAM_desc_t *L, int Lm, int Ln, int ldl, + const CHAM_desc_t *D, int Dm, int Dn, int ldd, + const CHAM_desc_t *A, int Am, int An, int lda) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_GESSM; @@ -106,11 +106,11 @@ void MORSE_TASK_zgessm(const MORSE_option_t *options, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, sizeof(int)*nb, IPIV, INPUT, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(L, MORSE_Complex64_t, Lm, Ln), INPUT | QUARK_REGION_L, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(L, CHAMELEON_Complex64_t, Lm, Ln), INPUT | QUARK_REGION_L, sizeof(int), &ldl, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(D, MORSE_Complex64_t, Dm, Dn), INPUT | QUARK_REGION_L, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(D, CHAMELEON_Complex64_t, Dm, Dn), INPUT | QUARK_REGION_L, sizeof(int), &ldd, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT, sizeof(int), &lda, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zgessq.c b/runtime/quark/codelets/codelet_zgessq.c index aae97be3d4f5b23ebd7445d4197bc81fd9d936b1..d3b60d09d58c8d0c11425a8fe256a90267abdd33 100644 --- a/runtime/quark/codelets/codelet_zgessq.c +++ b/runtime/quark/codelets/codelet_zgessq.c @@ -13,21 +13,21 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zgessq_quark(Quark *quark) { int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *SCALESUMSQ; @@ -35,16 +35,16 @@ void CORE_zgessq_quark(Quark *quark) CORE_zgessq( m, n, A, lda, &SCALESUMSQ[0], &SCALESUMSQ[1]); } -void MORSE_TASK_zgessq( const MORSE_option_t *options, +void INSERT_TASK_zgessq( const RUNTIME_option_t *options, int m, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); QUARK_Insert_Task(opt->quark, CORE_zgessq_quark, (Quark_Task_Flags*)opt, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*lda*n, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*lda*n, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, sizeof(double)*2, RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn), INOUT, 0); diff --git a/runtime/quark/codelets/codelet_zgetrf.c b/runtime/quark/codelets/codelet_zgetrf.c index e057507193796997dffa8ad8bab5c9175744b505..021a2a8fc1cecad03781702e121c5355791298fc 100644 --- a/runtime/quark/codelets/codelet_zgetrf.c +++ b/runtime/quark/codelets/codelet_zgetrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -22,46 +22,46 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zgetrf_quark(Quark *quark) { int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int *IPIV; - MORSE_sequence_t *sequence; - MORSE_request_t *request; - MORSE_bool check_info; + RUNTIME_sequence_t *sequence; + RUNTIME_request_t *request; + cham_bool_t check_info; int iinfo; int info; quark_unpack_args_9(quark, m, n, A, lda, IPIV, sequence, request, check_info, iinfo); CORE_zgetrf( m, n, A, lda, IPIV, &info ); - if ( (info != MORSE_SUCCESS) && check_info ) { - RUNTIME_sequence_flush( (MORSE_context_t*)quark, sequence, request, iinfo+info ); + if ( (info != CHAMELEON_SUCCESS) && check_info ) { + RUNTIME_sequence_flush( (CHAM_context_t*)quark, sequence, request, iinfo+info ); } } -void MORSE_TASK_zgetrf(const MORSE_option_t *options, +void INSERT_TASK_zgetrf(const RUNTIME_option_t *options, int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *A, int Am, int An, int lda, int *IPIV, - MORSE_bool check_info, int iinfo) + cham_bool_t check_info, int iinfo) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_GETRF; QUARK_Insert_Task(opt->quark, CORE_zgetrf_quark, (Quark_Task_Flags*)opt, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT | LOCALITY, sizeof(int), &lda, VALUE, sizeof(int)*nb, IPIV, OUTPUT, - sizeof(MORSE_sequence_t*), &(options->sequence), VALUE, - sizeof(MORSE_request_t*), &(options->request), VALUE, - sizeof(MORSE_bool), &check_info, VALUE, + sizeof(RUNTIME_sequence_t*), &(options->sequence), VALUE, + sizeof(RUNTIME_request_t*), &(options->request), VALUE, + sizeof(cham_bool_t), &check_info, VALUE, sizeof(int), &iinfo, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zgetrf_incpiv.c b/runtime/quark/codelets/codelet_zgetrf_incpiv.c index 7ce7da4d167b98649605ae76aa57d83707941ec6..e12c22263747c9a5c3c8938e22de116847d27d3e 100644 --- a/runtime/quark/codelets/codelet_zgetrf_incpiv.c +++ b/runtime/quark/codelets/codelet_zgetrf_incpiv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,7 +24,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zgetrf_incpiv_quark(Quark *quark) @@ -32,26 +32,26 @@ void CORE_zgetrf_incpiv_quark(Quark *quark) int m; int n; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int *IPIV; - MORSE_sequence_t *sequence; - MORSE_request_t *request; - MORSE_bool check_info; + RUNTIME_sequence_t *sequence; + RUNTIME_request_t *request; + cham_bool_t check_info; int iinfo; int info; quark_unpack_args_10(quark, m, n, ib, A, lda, IPIV, sequence, request, check_info, iinfo); CORE_zgetrf_incpiv(m, n, ib, A, lda, IPIV, &info); - if ( (info != MORSE_SUCCESS) && check_info ) { - RUNTIME_sequence_flush( (MORSE_context_t*)quark, sequence, request, iinfo+info ); + if ( (info != CHAMELEON_SUCCESS) && check_info ) { + RUNTIME_sequence_flush( (CHAM_context_t*)quark, sequence, request, iinfo+info ); } } /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgetrf_incpiv computes an LU factorization of a general M-by-N tile A * using partial pivoting with row interchanges. @@ -95,7 +95,7 @@ void CORE_zgetrf_incpiv_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * \retval >0 if INFO = k, U(k,k) is exactly zero. The factorization * has been completed, but the factor U is exactly @@ -103,12 +103,12 @@ void CORE_zgetrf_incpiv_quark(Quark *quark) * to solve a system of equations. * */ -void MORSE_TASK_zgetrf_incpiv(const MORSE_option_t *options, +void INSERT_TASK_zgetrf_incpiv(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *L, int Lm, int Ln, int ldl, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *L, int Lm, int Ln, int ldl, int *IPIV, - MORSE_bool check_info, int iinfo) + cham_bool_t check_info, int iinfo) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_GETRF; @@ -116,12 +116,12 @@ void MORSE_TASK_zgetrf_incpiv(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT, sizeof(int), &lda, VALUE, sizeof(int)*nb, IPIV, OUTPUT, - sizeof(MORSE_sequence_t*), &(options->sequence), VALUE, - sizeof(MORSE_request_t*), &(options->request), VALUE, - sizeof(MORSE_bool), &check_info, VALUE, + sizeof(RUNTIME_sequence_t*), &(options->sequence), VALUE, + sizeof(RUNTIME_request_t*), &(options->request), VALUE, + sizeof(cham_bool_t), &check_info, VALUE, sizeof(int), &iinfo, VALUE, 0); diff --git a/runtime/quark/codelets/codelet_zgetrf_nopiv.c b/runtime/quark/codelets/codelet_zgetrf_nopiv.c index 0436e2e2eeaf34fbb923eccead39c3077edc34d1..ad90b65dd455f36cff7558b8be155e4789b177ae 100644 --- a/runtime/quark/codelets/codelet_zgetrf_nopiv.c +++ b/runtime/quark/codelets/codelet_zgetrf_nopiv.c @@ -21,7 +21,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zgetrf_nopiv_quark(Quark *quark) @@ -29,23 +29,23 @@ void CORE_zgetrf_nopiv_quark(Quark *quark) int m; int n; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_sequence_t *sequence; - MORSE_request_t *request; + RUNTIME_sequence_t *sequence; + RUNTIME_request_t *request; int iinfo; int info; quark_unpack_args_8(quark, m, n, ib, A, lda, sequence, request, iinfo); CORE_zgetrf_nopiv(m, n, ib, A, lda, &info); - if ( info != MORSE_SUCCESS ) { - RUNTIME_sequence_flush( (MORSE_context_t*)quark, sequence, request, iinfo+info ); + if ( info != CHAMELEON_SUCCESS ) { + RUNTIME_sequence_flush( (CHAM_context_t*)quark, sequence, request, iinfo+info ); } } /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgetrf_nopiv computes an LU factorization of a general diagonal * dominant M-by-N matrix A witout pivoting. @@ -82,7 +82,7 @@ void CORE_zgetrf_nopiv_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * \retval >0 if INFO = k, U(k,k) is exactly zero. The factorization * has been completed, but the factor U is exactly @@ -90,9 +90,9 @@ void CORE_zgetrf_nopiv_quark(Quark *quark) * to solve a system of equations. * */ -void MORSE_TASK_zgetrf_nopiv(const MORSE_option_t *options, +void INSERT_TASK_zgetrf_nopiv(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo) { quark_option_t *opt = (quark_option_t*)(options->schedopt); @@ -102,10 +102,10 @@ void MORSE_TASK_zgetrf_nopiv(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_sequence_t*), &(options->sequence), VALUE, - sizeof(MORSE_request_t*), &(options->request), VALUE, + sizeof(RUNTIME_sequence_t*), &(options->sequence), VALUE, + sizeof(RUNTIME_request_t*), &(options->request), VALUE, sizeof(int), &iinfo, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zhe2ge.c b/runtime/quark/codelets/codelet_zhe2ge.c index b010e2b9b63f7c1f538528f6ef24bd8af5f0dd36..a2ea5d39f713a2cf8a2d0eba94d5a7bc42347083 100644 --- a/runtime/quark/codelets/codelet_zhe2ge.c +++ b/runtime/quark/codelets/codelet_zhe2ge.c @@ -16,22 +16,22 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ static inline void CORE_zhe2ge_quark(Quark *quark) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; quark_unpack_args_7(quark, uplo, M, N, A, LDA, B, LDB); @@ -39,21 +39,21 @@ static inline void CORE_zhe2ge_quark(Quark *quark) } -void MORSE_TASK_zhe2ge(const MORSE_option_t *options, - MORSE_enum uplo, +void INSERT_TASK_zhe2ge(const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int mb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_LACPY; QUARK_Insert_Task(opt->quark, CORE_zhe2ge_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*mb*mb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*mb*mb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*mb*mb, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*mb*mb, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), OUTPUT, sizeof(int), &ldb, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zhemm.c b/runtime/quark/codelets/codelet_zhemm.c index b5d7a0c8ad2c22ad2dbda64456d0d0c29694d7e5..5e344d581e04cf8a1fdbaf6888ad7feac1eb52bf 100644 --- a/runtime/quark/codelets/codelet_zhemm.c +++ b/runtime/quark/codelets/codelet_zhemm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,22 +24,22 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zhemm_quark(Quark *quark) { - MORSE_enum side; - MORSE_enum uplo; + cham_side_t side; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int LDC; quark_unpack_args_12(quark, side, uplo, M, N, alpha, A, LDA, B, LDB, beta, C, LDC); @@ -50,27 +50,27 @@ void CORE_zhemm_quark(Quark *quark) beta, C, LDC); } -void MORSE_TASK_zhemm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, +void INSERT_TASK_zhemm(const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_HEMM; QUARK_Insert_Task(opt->quark, CORE_zhemm_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), INPUT, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), INOUT, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), INOUT, sizeof(int), &ldc, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zher2k.c b/runtime/quark/codelets/codelet_zher2k.c index 6cbde40ecd03d40fd7585fb85252999c7c8e4768..d2f9c5448f6119d17d2c6cd3c5993c503f74f48e 100644 --- a/runtime/quark/codelets/codelet_zher2k.c +++ b/runtime/quark/codelets/codelet_zher2k.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,22 +24,22 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zher2k_quark(Quark *quark) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; double beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; quark_unpack_args_12(quark, uplo, trans, n, k, alpha, A, lda, B, ldb, beta, C, ldc); @@ -47,27 +47,27 @@ void CORE_zher2k_quark(Quark *quark) n, k, alpha, A, lda, B, ldb, beta, C, ldc); } -void MORSE_TASK_zher2k(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zher2k(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - double beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + double beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_HER2K; QUARK_Insert_Task(opt->quark, CORE_zher2k_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), INPUT, sizeof(int), &ldb, VALUE, sizeof(double), &beta, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), INOUT, sizeof(int), &ldc, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zherfb.c b/runtime/quark/codelets/codelet_zherfb.c index a51082c7119bd8a745a5744e98248bb2a803b861..9cd9c8590f8e8c4c4e6a7a354035581e67c3b16f 100644 --- a/runtime/quark/codelets/codelet_zherfb.c +++ b/runtime/quark/codelets/codelet_zherfb.c @@ -18,51 +18,51 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zherfb_quark(Quark *quark) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; int k; int ib; int nb; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; quark_unpack_args_13(quark, uplo, n, k, ib, nb, A, lda, T, ldt, C, ldc, WORK, ldwork); CORE_zherfb(uplo, n, k, ib, nb, A, lda, T, ldt, C, ldc, WORK, ldwork); } -void MORSE_TASK_zherfb(const MORSE_option_t *options, - MORSE_enum uplo, +void INSERT_TASK_zherfb(const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int k, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *C, int Cm, int Cn, int ldc) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *C, int Cm, int Cn, int ldc) { quark_option_t *opt = (quark_option_t*)(options->schedopt); QUARK_Insert_Task(opt->quark, CORE_zherfb_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, sizeof(int), &nb, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), (uplo == MorseUpper) ? INOUT|QUARK_REGION_U : INOUT|QUARK_REGION_L, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), (uplo == ChamUpper) ? INOUT|QUARK_REGION_U : INOUT|QUARK_REGION_L, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), (uplo == MorseUpper) ? INOUT|QUARK_REGION_D|QUARK_REGION_U : INOUT|QUARK_REGION_D|QUARK_REGION_L, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), (uplo == ChamUpper) ? INOUT|QUARK_REGION_D|QUARK_REGION_U : INOUT|QUARK_REGION_D|QUARK_REGION_L, sizeof(int), &ldc, VALUE, - sizeof(MORSE_Complex64_t)*2*nb*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*2*nb*nb, NULL, SCRATCH, sizeof(int), &nb, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zherk.c b/runtime/quark/codelets/codelet_zherk.c index b7935f187045258333e1f605e8c4e1816c405c3f..0afec15fca1e591d4870be5bd92b48c02fdb91c3 100644 --- a/runtime/quark/codelets/codelet_zherk.c +++ b/runtime/quark/codelets/codelet_zherk.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,20 +24,20 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zherk_quark(Quark *quark) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; double alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; quark_unpack_args_10(quark, uplo, trans, n, k, alpha, A, lda, beta, C, ldc); @@ -47,24 +47,24 @@ void CORE_zherk_quark(Quark *quark) beta, C, ldc); } -void MORSE_TASK_zherk(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zherk(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, int nb, - double alpha, const MORSE_desc_t *A, int Am, int An, int lda, - double beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + double alpha, const CHAM_desc_t *A, int Am, int An, int lda, + double beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_HERK; QUARK_Insert_Task(opt->quark, CORE_zherk_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, sizeof(double), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, sizeof(double), &beta, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), INOUT, sizeof(int), &ldc, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zhessq.c b/runtime/quark/codelets/codelet_zhessq.c index d32e0fb2b73a41954abbcfeebf9a11ba779b4040..b2f26279c838bf8415a215ccb227832bd980f127 100644 --- a/runtime/quark/codelets/codelet_zhessq.c +++ b/runtime/quark/codelets/codelet_zhessq.c @@ -13,21 +13,21 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zhessq_quark(Quark *quark) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *SCALESUMSQ; @@ -35,16 +35,16 @@ void CORE_zhessq_quark(Quark *quark) CORE_zhessq( uplo, n, A, lda, &SCALESUMSQ[0], &SCALESUMSQ[1]); } -void MORSE_TASK_zhessq( const MORSE_option_t *options, - MORSE_enum uplo, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) +void INSERT_TASK_zhessq( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); QUARK_Insert_Task(opt->quark, CORE_zhessq_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*lda*n, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*lda*n, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, sizeof(double)*2, RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn), INOUT, 0); diff --git a/runtime/quark/codelets/codelet_zlacpy.c b/runtime/quark/codelets/codelet_zlacpy.c index bac49ebec954643fd1b1656af7e1435485320f85..564ace156aa09e27a4d71376b56fb2b8975e7fcc 100644 --- a/runtime/quark/codelets/codelet_zlacpy.c +++ b/runtime/quark/codelets/codelet_zlacpy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -24,51 +24,51 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline void CORE_zlacpy_quark(Quark *quark) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; int displA; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; int displB; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; quark_unpack_args_9(quark, uplo, M, N, displA, A, LDA, displB, B, LDB); CORE_zlacpy(uplo, M, N, A + displA, LDA, B + displB, LDB); } -void MORSE_TASK_zlacpyx(const MORSE_option_t *options, - MORSE_enum uplo, int m, int n, int nb, - int displA, const MORSE_desc_t *A, int Am, int An, int lda, - int displB, const MORSE_desc_t *B, int Bm, int Bn, int ldb) +void INSERT_TASK_zlacpyx(const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int nb, + int displA, const CHAM_desc_t *A, int Am, int An, int lda, + int displB, const CHAM_desc_t *B, int Bm, int Bn, int ldb) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_LACPY; QUARK_Insert_Task(opt->quark, CORE_zlacpy_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &displA, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, sizeof(int), &displB, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), OUTPUT, sizeof(int), &ldb, VALUE, 0); } -void MORSE_TASK_zlacpy(const MORSE_option_t *options, - MORSE_enum uplo, int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) +void INSERT_TASK_zlacpy(const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { - MORSE_TASK_zlacpyx( options, uplo, m, n, nb, + INSERT_TASK_zlacpyx( options, uplo, m, n, nb, 0, A, Am, An, lda, 0, B, Bm, Bn, ldb ); } diff --git a/runtime/quark/codelets/codelet_zlag2c.c b/runtime/quark/codelets/codelet_zlag2c.c index cf89a7b90e7e1b6caadfaa3c80f9fe83d3a7168c..0cbac51c0ae09d23fba6b4fb4bbfdd34faa035e6 100644 --- a/runtime/quark/codelets/codelet_zlag2c.c +++ b/runtime/quark/codelets/codelet_zlag2c.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -22,43 +22,43 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zlag2c_quark(Quark *quark) { int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex32_t *B; + CHAMELEON_Complex32_t *B; int ldb; - MORSE_sequence_t *sequence; - MORSE_request_t *request; + RUNTIME_sequence_t *sequence; + RUNTIME_request_t *request; int info; quark_unpack_args_8(quark, m, n, A, lda, B, ldb, sequence, request); CORE_zlag2c( m, n, A, lda, B, ldb); - if (sequence->status == MORSE_SUCCESS && info != 0) + if (sequence->status == CHAMELEON_SUCCESS && info != 0) RUNTIME_sequence_flush(quark, sequence, request, info); } -void MORSE_TASK_zlag2c(const MORSE_option_t *options, +void INSERT_TASK_zlag2c(const RUNTIME_option_t *options, int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_LAG2C; QUARK_Insert_Task(opt->quark, CORE_zlag2c_quark, (Quark_Task_Flags*)opt, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex32_t)*nb*nb, RTBLKADDR(B, MORSE_Complex32_t, Bm, Bn), OUTPUT, + sizeof(CHAMELEON_Complex32_t)*nb*nb, RTBLKADDR(B, CHAMELEON_Complex32_t, Bm, Bn), OUTPUT, sizeof(int), &ldb, VALUE, - sizeof(MORSE_sequence_t*), &(options->sequence), VALUE, - sizeof(MORSE_request_t*), &(options->request), VALUE, + sizeof(RUNTIME_sequence_t*), &(options->sequence), VALUE, + sizeof(RUNTIME_request_t*), &(options->request), VALUE, 0); } @@ -66,26 +66,26 @@ void CORE_clag2z_quark(Quark *quark) { int m; int n; - MORSE_Complex32_t *A; + CHAMELEON_Complex32_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; quark_unpack_args_6(quark, m, n, A, lda, B, ldb); CORE_clag2z( m, n, A, lda, B, ldb); } -void MORSE_TASK_clag2z(const MORSE_option_t *options, +void INSERT_TASK_clag2z(const RUNTIME_option_t *options, int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { QUARK_Insert_Task(opt->quark, CORE_clag2z_quark, (Quark_Task_Flags*)opt, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex32_t)*nb*nb, RTBLKADDR(A, MORSE_Complex32_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex32_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex32_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), INOUT, sizeof(int), &ldb, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zlange.c b/runtime/quark/codelets/codelet_zlange.c index 9b477d02ac9ab85aaf51dfa4e62a9b637eca8164..02787e4b78bf50624091af7bf15bf892a988b0c8 100644 --- a/runtime/quark/codelets/codelet_zlange.c +++ b/runtime/quark/codelets/codelet_zlange.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -22,16 +22,16 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zlange_quark(Quark *quark) { double *normA; - MORSE_enum norm; + cham_normtype_t norm; int M; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; double *work; @@ -39,20 +39,20 @@ void CORE_zlange_quark(Quark *quark) CORE_zlange( norm, M, N, A, LDA, work, normA); } -void MORSE_TASK_zlange(const MORSE_option_t *options, - MORSE_enum norm, int M, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_zlange(const RUNTIME_option_t *options, + cham_normtype_t norm, int M, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_LANGE; int szeW = chameleon_max( M, N ); QUARK_Insert_Task( opt->quark, CORE_zlange_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &norm, VALUE, + sizeof(int), &norm, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, - sizeof(MORSE_Complex64_t)*NB*NB, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*NB*NB, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &LDA, VALUE, sizeof(double)*szeW, NULL, SCRATCH, sizeof(double), RTBLKADDR(B, double, Bm, Bn), OUTPUT, @@ -69,9 +69,9 @@ void CORE_zlange_max_quark(Quark *quark) *normA = A[0]; } -void MORSE_TASK_zlange_max(const MORSE_option_t *options, - const MORSE_desc_t *A, int Am, int An, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_zlange_max(const RUNTIME_option_t *options, + const CHAM_desc_t *A, int Am, int An, + const CHAM_desc_t *B, int Bm, int Bn) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_LANGE_MAX; diff --git a/runtime/quark/codelets/codelet_zlanhe.c b/runtime/quark/codelets/codelet_zlanhe.c index 0c09ec7b5d0fbb99c0bc0a5335a9d18c691b13f9..4924aa12021fda22e5d0fc227ac692f0e6098cc3 100644 --- a/runtime/quark/codelets/codelet_zlanhe.c +++ b/runtime/quark/codelets/codelet_zlanhe.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -22,16 +22,16 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zlanhe_quark(Quark *quark) { double *normA; - MORSE_enum norm; - MORSE_enum uplo; + cham_normtype_t norm; + cham_uplo_t uplo; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; double *work; @@ -39,20 +39,20 @@ void CORE_zlanhe_quark(Quark *quark) CORE_zlanhe( norm, uplo, N, A, LDA, work, normA); } -void MORSE_TASK_zlanhe(const MORSE_option_t *options, - MORSE_enum norm, MORSE_enum uplo, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_zlanhe(const RUNTIME_option_t *options, + cham_normtype_t norm, cham_uplo_t uplo, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_LANHE; int szeW = chameleon_max( 1, N ); QUARK_Insert_Task( opt->quark, CORE_zlanhe_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &norm, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &norm, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &N, VALUE, - sizeof(MORSE_Complex64_t)*NB*NB, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*NB*NB, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &LDA, VALUE, sizeof(double)*szeW, NULL, SCRATCH, sizeof(double), RTBLKADDR(B, double, Bm, Bn), OUTPUT, diff --git a/runtime/quark/codelets/codelet_zlansy.c b/runtime/quark/codelets/codelet_zlansy.c index 3f11f37bbe192b5a2a6fe172e67a809202a6732d..201f9fbc7eb7f48c241094be45bbfeab645886c8 100644 --- a/runtime/quark/codelets/codelet_zlansy.c +++ b/runtime/quark/codelets/codelet_zlansy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -22,16 +22,16 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zlansy_quark(Quark *quark) { double *normA; - int norm; - MORSE_enum uplo; + cham_normtype_t norm; + cham_uplo_t uplo; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; double *work; @@ -39,20 +39,20 @@ void CORE_zlansy_quark(Quark *quark) CORE_zlansy( norm, uplo, N, A, LDA, work, normA); } -void MORSE_TASK_zlansy(const MORSE_option_t *options, - MORSE_enum norm, MORSE_enum uplo, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_zlansy(const RUNTIME_option_t *options, + cham_normtype_t norm, cham_uplo_t uplo, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_LANSY; int szeW = chameleon_max( 1, N ); QUARK_Insert_Task( opt->quark, CORE_zlansy_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &norm, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &norm, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &N, VALUE, - sizeof(MORSE_Complex64_t)*NB*NB, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*NB*NB, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &LDA, VALUE, sizeof(double)*szeW, NULL, SCRATCH, sizeof(double), RTBLKADDR(B, double, Bm, Bn), OUTPUT, diff --git a/runtime/quark/codelets/codelet_zlantr.c b/runtime/quark/codelets/codelet_zlantr.c index cfa76672facae4120c2d7ab238b1d1dd673698c4..7f22dbf392bcd0d38c331fc3e29c2db533c834fe 100644 --- a/runtime/quark/codelets/codelet_zlantr.c +++ b/runtime/quark/codelets/codelet_zlantr.c @@ -13,23 +13,23 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zlantr_quark(Quark *quark) { double *normA; - MORSE_enum norm, uplo, diag; + cham_normtype_t norm, uplo, diag; int M; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; double *work; @@ -37,23 +37,23 @@ void CORE_zlantr_quark(Quark *quark) CORE_zlantr( norm, uplo, diag, M, N, A, LDA, work, normA); } -void MORSE_TASK_zlantr(const MORSE_option_t *options, - MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, +void INSERT_TASK_zlantr(const RUNTIME_option_t *options, + cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, int M, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn) + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_LANTR; int szeW = chameleon_max( 1, N ); QUARK_Insert_Task( opt->quark, CORE_zlantr_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &norm, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &diag, VALUE, + sizeof(int), &norm, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &diag, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, - sizeof(MORSE_Complex64_t)*NB*NB, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*NB*NB, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &LDA, VALUE, sizeof(double)*szeW, NULL, SCRATCH, sizeof(double), RTBLKADDR(B, double, Bm, Bn), OUTPUT, diff --git a/runtime/quark/codelets/codelet_zlascal.c b/runtime/quark/codelets/codelet_zlascal.c index 2bbdde5b2c41c15b7228bc43433bdf9847f5c859..7635870fef5e74990ae759925c2e4a37f046d8f5 100644 --- a/runtime/quark/codelets/codelet_zlascal.c +++ b/runtime/quark/codelets/codelet_zlascal.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -24,36 +24,36 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static inline void CORE_zlascal_quark(Quark *quark) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; quark_unpack_args_6(quark, uplo, M, N, alpha, A, LDA); CORE_zlascal(uplo, M, N, alpha, A, LDA); } -void MORSE_TASK_zlascal(const MORSE_option_t *options, - MORSE_enum uplo, +void INSERT_TASK_zlascal(const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int nb, - MORSE_Complex64_t alpha, - const MORSE_desc_t *A, int Am, int An, int lda) + CHAMELEON_Complex64_t alpha, + const CHAM_desc_t *A, int Am, int An, int lda) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_LASCAL; QUARK_Insert_Task(opt->quark, CORE_zlascal_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT, sizeof(int), &lda, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zlaset.c b/runtime/quark/codelets/codelet_zlaset.c index 7dabbce58bca2b82de811d41fa9f47b943272ed9..fba84a38b9d8aa2e62bec064fb86c7a5638a8dce 100644 --- a/runtime/quark/codelets/codelet_zlaset.c +++ b/runtime/quark/codelets/codelet_zlaset.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Mathieu Faverge * @author Emmanuel Agullo @@ -23,17 +23,17 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zlaset_quark(Quark *quark) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t beta; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *A; int LDA; quark_unpack_args_7(quark, uplo, M, N, alpha, beta, A, LDA); @@ -42,7 +42,7 @@ void CORE_zlaset_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zlaset - Sets the elements of the matrix A on the diagonal * to beta and on the off-diagonals to alpha @@ -51,9 +51,9 @@ void CORE_zlaset_quark(Quark *quark) * * @param[in] uplo * Specifies which elements of the matrix are to be set - * = MorseUpper: Upper part of A is set; - * = MorseLower: Lower part of A is set; - * = MorseUpperLower: ALL elements of A are set. + * = ChamUpper: Upper part of A is set; + * = ChamLower: Lower part of A is set; + * = ChamUpperLower: ALL elements of A are set. * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -75,20 +75,20 @@ void CORE_zlaset_quark(Quark *quark) * The leading dimension of the array A. LDA >= max(1,M). * */ -void MORSE_TASK_zlaset(const MORSE_option_t *options, - MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t beta, - const MORSE_desc_t *A, int Am, int An, int LDA) +void INSERT_TASK_zlaset(const RUNTIME_option_t *options, + cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, + const CHAM_desc_t *A, int Am, int An, int LDA) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_LASET; QUARK_Insert_Task(opt->quark, CORE_zlaset_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - sizeof(MORSE_Complex64_t)*LDA*N, RTBLKADDR(A, MORSE_Complex64_t, Am, An), OUTPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + sizeof(CHAMELEON_Complex64_t)*LDA*N, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), OUTPUT, sizeof(int), &LDA, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zlaset2.c b/runtime/quark/codelets/codelet_zlaset2.c index 5ab04bf0d9fc665387b5098824ed6daed7a7df75..35996de6831bf870fb7e8230927664be25c3406b 100644 --- a/runtime/quark/codelets/codelet_zlaset2.c +++ b/runtime/quark/codelets/codelet_zlaset2.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Mathieu Faverge * @author Emmanuel Agullo @@ -23,16 +23,16 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zlaset2_quark(Quark *quark) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; quark_unpack_args_6(quark, uplo, M, N, alpha, A, LDA); @@ -41,7 +41,7 @@ void CORE_zlaset2_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zlaset2 - Sets the elements of the matrix A to alpha. * Not LAPACK compliant! Read below. @@ -50,9 +50,9 @@ void CORE_zlaset2_quark(Quark *quark) * * @param[in] uplo * Specifies which elements of the matrix are to be set - * = MorseUpper: STRICT Upper part of A is set to alpha; - * = MorseLower: STRICT Lower part of A is set to alpha; - * = MorseUpperLower: ALL elements of A are set to alpha. + * = ChamUpper: STRICT Upper part of A is set to alpha; + * = ChamLower: STRICT Lower part of A is set to alpha; + * = ChamUpperLower: ALL elements of A are set to alpha. * Not LAPACK Compliant. * * @param[in] M @@ -72,18 +72,18 @@ void CORE_zlaset2_quark(Quark *quark) * The leading dimension of the array A. LDA >= max(1,M). * */ -void MORSE_TASK_zlaset2(const MORSE_option_t *options, - MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int LDA) +void INSERT_TASK_zlaset2(const RUNTIME_option_t *options, + cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int LDA) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_LASET; QUARK_Insert_Task(opt->quark, CORE_zlaset2_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*M*N, RTBLKADDR(A, MORSE_Complex64_t, Am, An), OUTPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*M*N, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), OUTPUT, sizeof(int), &LDA, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zlatro.c b/runtime/quark/codelets/codelet_zlatro.c index ec9f630716410ecd6a2f47211d4ee83eb1f40788..fd0b8855fce4c76789f197b29f98581d3c1be309 100644 --- a/runtime/quark/codelets/codelet_zlatro.c +++ b/runtime/quark/codelets/codelet_zlatro.c @@ -18,40 +18,40 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zlatro_quark(Quark *quark) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int M; int N; - const MORSE_Complex64_t *A; + const CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; quark_unpack_args_8(quark, uplo, trans, M, N, A, LDA, B, LDB); CORE_zlatro(uplo, trans, M, N, A, LDA, B, LDB); } -void MORSE_TASK_zlatro(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zlatro(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int m, int n, int mb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { quark_option_t *opt = (quark_option_t*)(options->schedopt); QUARK_Insert_Task(opt->quark, CORE_zlatro_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*mb*mb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*mb*mb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*mb*mb, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*mb*mb, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), OUTPUT, sizeof(int), &ldb, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zlauum.c b/runtime/quark/codelets/codelet_zlauum.c index 798358ffec731ac5bdd682c5e3ce32a28a93b65d..8e38e3482590b1ee39639095a5091ac8d3fe0ff5 100644 --- a/runtime/quark/codelets/codelet_zlauum.c +++ b/runtime/quark/codelets/codelet_zlauum.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -24,30 +24,30 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zlauum_quark(Quark *quark) { - MORSE_enum uplo; + cham_uplo_t uplo; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; quark_unpack_args_4(quark, uplo, N, A, LDA); CORE_zlauum(uplo, N, A, LDA); } -void MORSE_TASK_zlauum(const MORSE_option_t *options, - MORSE_enum uplo, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda) +void INSERT_TASK_zlauum(const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_LAUUM; QUARK_Insert_Task(opt->quark, CORE_zlauum_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT, sizeof(int), &lda, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zpamm.c b/runtime/quark/codelets/codelet_zpamm.c index 22b2ea670032493e946b3f190a498dd0c0c26f5d..04b2062d023ea999bde9caf8bff0267423a101c4 100644 --- a/runtime/quark/codelets/codelet_zpamm.c +++ b/runtime/quark/codelets/codelet_zpamm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Dulceneia Becker * @author Mathieu Faverge * @author Emmanuel Agullo @@ -24,26 +24,26 @@ */ #include "coreblas/cblas.h" #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zpamm_quark(Quark *quark) { int op; - MORSE_enum side; - int storev; + cham_side_t side; + cham_store_t storev; int M; int N; int K; int L; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int LDA1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int LDA2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int LDV; - MORSE_Complex64_t *W; + CHAMELEON_Complex64_t *W; int LDW; quark_unpack_args_15(quark, op, side, storev, M, N, K, L, @@ -54,13 +54,13 @@ CORE_zpamm_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * ZPAMM performs one of the matrix-matrix operations * * LEFT RIGHT - * OP MorseW : W = A1 + op(V) * A2 or W = A1 + A2 * op(V) - * OP MorseA2 : A2 = A2 - op(V) * W or A2 = A2 - W * op(V) + * OP ChameleonW : W = A1 + op(V) * A2 or W = A1 + A2 * op(V) + * OP ChameleonA2 : A2 = A2 - op(V) * W or A2 = A2 - W * op(V) * * where op( V ) is one of * @@ -116,41 +116,41 @@ CORE_zpamm_quark(Quark *quark) * * OP specifies which operation to perform: * - * @arg MorseW : W = A1 + op(V) * A2 or W = A1 + A2 * op(V) - * @arg MorseA2 : A2 = A2 - op(V) * W or A2 = A2 - W * op(V) + * @arg ChameleonW : W = A1 + op(V) * A2 or W = A1 + A2 * op(V) + * @arg ChameleonA2 : A2 = A2 - op(V) * W or A2 = A2 - W * op(V) * * @param[in] side * * SIDE specifies whether op( V ) multiplies A2 * or W from the left or right as follows: * - * @arg MorseLeft : multiply op( V ) from the left - * OP MorseW : W = A1 + op(V) * A2 - * OP MorseA2 : A2 = A2 - op(V) * W + * @arg ChamLeft : multiply op( V ) from the left + * OP ChameleonW : W = A1 + op(V) * A2 + * OP ChameleonA2 : A2 = A2 - op(V) * W * - * @arg MorseRight : multiply op( V ) from the right - * OP MorseW : W = A1 + A2 * op(V) - * OP MorseA2 : A2 = A2 - W * op(V) + * @arg ChamRight : multiply op( V ) from the right + * OP ChameleonW : W = A1 + A2 * op(V) + * OP ChameleonA2 : A2 = A2 - W * op(V) * * @param[in] storev * * Indicates how the vectors which define the elementary * reflectors are stored in V: * - * @arg MorseColumnwise - * @arg MorseRowwise + * @arg ChamColumnwise + * @arg ChamRowwise * * @param[in] M * The number of rows of the A1, A2 and W - * If SIDE is MorseLeft, the number of rows of op( V ) + * If SIDE is ChamLeft, the number of rows of op( V ) * * @param[in] N * The number of columns of the A1, A2 and W - * If SIDE is MorseRight, the number of columns of op( V ) + * If SIDE is ChamRight, the number of columns of op( V ) * * @param[in] K - * If SIDE is MorseLeft, the number of columns of op( V ) - * If SIDE is MorseRight, the number of rows of op( V ) + * If SIDE is ChamLeft, the number of columns of op( V ) + * If SIDE is ChamRight, the number of rows of op( V ) * * @param[in] L * The size of the triangular part of V @@ -163,23 +163,23 @@ CORE_zpamm_quark(Quark *quark) * * @param[in,out] A2 * On entry, the M-by-N tile A2. - * On exit, if OP is MorseA2 A2 is overwritten + * On exit, if OP is ChameleonA2 A2 is overwritten * * @param[in] LDA2 * The leading dimension of the tile A2. LDA2 >= max(1,M). * * @param[in] V * The matrix V as described above. - * If SIDE is MorseLeft : op( V ) is M-by-K - * If SIDE is MorseRight: op( V ) is K-by-N + * If SIDE is ChamLeft : op( V ) is M-by-K + * If SIDE is ChamRight: op( V ) is K-by-N * * @param[in] LDV * The leading dimension of the array V. * * @param[in,out] W * On entry, the M-by-N matrix W. - * On exit, W is overwritten either if OP is MorseA2 or MorseW. - * If OP is MorseA2, W is an input and is used as a workspace. + * On exit, W is overwritten either if OP is ChameleonA2 or ChameleonW. + * If OP is ChameleonA2, W is an input and is used as a workspace. * * @param[in] LDW * The leading dimension of array WORK. @@ -187,34 +187,34 @@ CORE_zpamm_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ void -MORSE_TASK_zpamm(const MORSE_option_t *options, - int op, MORSE_enum side, int storev, +INSERT_TASK_zpamm(const RUNTIME_option_t *options, + int op, cham_side_t side, cham_store_t storev, int m, int n, int k, int l, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *W, int Wm, int Wn, int ldw) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *W, int Wm, int Wn, int ldw) { QUARK_Insert_Task(opt->quark, CORE_zpamm_quark, (Quark_Task_Flags*)opt, sizeof(int), &op, VALUE, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &storev, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &storev, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, sizeof(int), &l, VALUE, - sizeof(MORSE_Complex64_t)*m*k, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INPUT, + sizeof(CHAMELEON_Complex64_t)*m*k, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INPUT, sizeof(int), &lda1, VALUE, - sizeof(MORSE_Complex64_t)*k*n, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT, + sizeof(CHAMELEON_Complex64_t)*k*n, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT, sizeof(int), &lda2, VALUE, - sizeof(MORSE_Complex64_t)*m*n, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), INPUT, + sizeof(CHAMELEON_Complex64_t)*m*n, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), INPUT, sizeof(int), &ldv, VALUE, - sizeof(MORSE_Complex64_t)*m*n, RTBLKADDR(W, MORSE_Complex64_t, Wm, Wn), INOUT, + sizeof(CHAMELEON_Complex64_t)*m*n, RTBLKADDR(W, CHAMELEON_Complex64_t, Wm, Wn), INOUT, sizeof(int), &ldw, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zplghe.c b/runtime/quark/codelets/codelet_zplghe.c index cea0f08c1ba269675dc85a484dc82d3c23e072f6..eeca61938bec877e36d1b0a767a14624683d4a64 100644 --- a/runtime/quark/codelets/codelet_zplghe.c +++ b/runtime/quark/codelets/codelet_zplghe.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Piotr Luszczek * @author Pierre Lemarinier * @author Mathieu Faverge @@ -24,7 +24,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zplghe_quark(Quark *quark) @@ -32,7 +32,7 @@ void CORE_zplghe_quark(Quark *quark) double bump; int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int bigM; int m0; @@ -43,8 +43,8 @@ void CORE_zplghe_quark(Quark *quark) CORE_zplghe( bump, m, n, A, lda, bigM, m0, n0, seed ); } -void MORSE_TASK_zplghe( const MORSE_option_t *options, - double bump, int m, int n, const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zplghe( const RUNTIME_option_t *options, + double bump, int m, int n, const CHAM_desc_t *A, int Am, int An, int lda, int bigM, int m0, int n0, unsigned long long int seed ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); @@ -53,7 +53,7 @@ void MORSE_TASK_zplghe( const MORSE_option_t *options, sizeof(double), &bump, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*lda*n, RTBLKADDR(A, MORSE_Complex64_t, Am, An), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*lda*n, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), OUTPUT, sizeof(int), &lda, VALUE, sizeof(int), &bigM, VALUE, sizeof(int), &m0, VALUE, diff --git a/runtime/quark/codelets/codelet_zplgsy.c b/runtime/quark/codelets/codelet_zplgsy.c index a5102abbc620213d1a34903193c280d948654b54..517df037eec342cc8c6236cc0c63354ea5a98f1e 100644 --- a/runtime/quark/codelets/codelet_zplgsy.c +++ b/runtime/quark/codelets/codelet_zplgsy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Piotr Luszczek * @author Pierre Lemarinier * @author Mathieu Faverge @@ -24,15 +24,15 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zplgsy_quark(Quark *quark) { - MORSE_Complex64_t bump; + CHAMELEON_Complex64_t bump; int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int bigM; int m0; @@ -43,17 +43,17 @@ void CORE_zplgsy_quark(Quark *quark) CORE_zplgsy( bump, m, n, A, lda, bigM, m0, n0, seed ); } -void MORSE_TASK_zplgsy( const MORSE_option_t *options, - MORSE_Complex64_t bump, int m, int n, const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zplgsy( const RUNTIME_option_t *options, + CHAMELEON_Complex64_t bump, int m, int n, const CHAM_desc_t *A, int Am, int An, int lda, int bigM, int m0, int n0, unsigned long long int seed ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_PLGSY; QUARK_Insert_Task(opt->quark, CORE_zplgsy_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_Complex64_t), &bump, VALUE, + sizeof(CHAMELEON_Complex64_t), &bump, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*lda*n, RTBLKADDR(A, MORSE_Complex64_t, Am, An), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*lda*n, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), OUTPUT, sizeof(int), &lda, VALUE, sizeof(int), &bigM, VALUE, sizeof(int), &m0, VALUE, diff --git a/runtime/quark/codelets/codelet_zplrnt.c b/runtime/quark/codelets/codelet_zplrnt.c index d92e937459fd7bf58600a8956f7c6823741739f2..431af98876ae6f91ed45b9ab977d22136c71357b 100644 --- a/runtime/quark/codelets/codelet_zplrnt.c +++ b/runtime/quark/codelets/codelet_zplrnt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Piotr Luszczek * @author Pierre Lemarinier * @author Mathieu Faverge @@ -24,14 +24,14 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zplrnt_quark(Quark *quark) { int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int bigM; int m0; @@ -42,8 +42,8 @@ void CORE_zplrnt_quark(Quark *quark) CORE_zplrnt( m, n, A, lda, bigM, m0, n0, seed ); } -void MORSE_TASK_zplrnt( const MORSE_option_t *options, - int m, int n, const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zplrnt( const RUNTIME_option_t *options, + int m, int n, const CHAM_desc_t *A, int Am, int An, int lda, int bigM, int m0, int n0, unsigned long long int seed ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); @@ -51,7 +51,7 @@ void MORSE_TASK_zplrnt( const MORSE_option_t *options, QUARK_Insert_Task(opt->quark, CORE_zplrnt_quark, (Quark_Task_Flags*)opt, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*lda*n, RTBLKADDR(A, MORSE_Complex64_t, Am, An), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*lda*n, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), OUTPUT, sizeof(int), &lda, VALUE, sizeof(int), &bigM, VALUE, sizeof(int), &m0, VALUE, diff --git a/runtime/quark/codelets/codelet_zplssq.c b/runtime/quark/codelets/codelet_zplssq.c index bde4acc37e1c83ca25824a399e110dbfb0e762d5..c07d3d0ce565d71a0bd37baf9050aa58654435cd 100644 --- a/runtime/quark/codelets/codelet_zplssq.c +++ b/runtime/quark/codelets/codelet_zplssq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -21,7 +21,7 @@ */ #include <math.h> #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zplssq_quark(Quark *quark) @@ -41,9 +41,9 @@ void CORE_zplssq_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * - * MORSE_TASK_zplssq returns: scl * sqrt(ssq) + * INSERT_TASK_zplssq returns: scl * sqrt(ssq) * * with scl and ssq such that * @@ -70,9 +70,9 @@ void CORE_zplssq_quark(Quark *quark) * On exit, result contains scl * sqrt( ssq ) * */ -void MORSE_TASK_zplssq( const MORSE_option_t *options, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn, - const MORSE_desc_t *SCLSSQ, int SCLSSQm, int SCLSSQn ) +void INSERT_TASK_zplssq( const RUNTIME_option_t *options, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn, + const CHAM_desc_t *SCLSSQ, int SCLSSQm, int SCLSSQn ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); QUARK_Insert_Task(opt->quark, CORE_zplssq_quark, (Quark_Task_Flags*)opt, @@ -90,8 +90,8 @@ void CORE_zplssq2_quark(Quark *quark) RESULT[0] = RESULT[0] * sqrt( RESULT[1] ); } -void MORSE_TASK_zplssq2( const MORSE_option_t *options, - const MORSE_desc_t *RESULT, int RESULTm, int RESULTn ) +void INSERT_TASK_zplssq2( const RUNTIME_option_t *options, + const CHAM_desc_t *RESULT, int RESULTm, int RESULTn ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); QUARK_Insert_Task(opt->quark, CORE_zplssq2_quark, (Quark_Task_Flags*)opt, diff --git a/runtime/quark/codelets/codelet_zpotrf.c b/runtime/quark/codelets/codelet_zpotrf.c index ae8298bec23786ac2f328f73a0c0ce5e58abb11c..d9ee2cd5388fd463489e41cb50513d7ad9df5c2d 100644 --- a/runtime/quark/codelets/codelet_zpotrf.c +++ b/runtime/quark/codelets/codelet_zpotrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,42 +24,42 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zpotrf_quark(Quark *quark) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_sequence_t *sequence; - MORSE_request_t *request; + RUNTIME_sequence_t *sequence; + RUNTIME_request_t *request; int iinfo; int info; quark_unpack_args_7(quark, uplo, n, A, lda, sequence, request, iinfo); CORE_zpotrf(uplo, n, A, lda, &info); - if ( (sequence->status == MORSE_SUCCESS) && (info != 0) ) { - RUNTIME_sequence_flush( (MORSE_context_t*)quark, sequence, request, iinfo+info ); + if ( (sequence->status == CHAMELEON_SUCCESS) && (info != 0) ) { + RUNTIME_sequence_flush( (CHAM_context_t*)quark, sequence, request, iinfo+info ); } } -void MORSE_TASK_zpotrf(const MORSE_option_t *options, - MORSE_enum uplo, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zpotrf(const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_POTRF; QUARK_Insert_Task(opt->quark, CORE_zpotrf_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_sequence_t*), &(options->sequence), VALUE, - sizeof(MORSE_request_t*), &(options->request), VALUE, + sizeof(RUNTIME_sequence_t*), &(options->sequence), VALUE, + sizeof(RUNTIME_request_t*), &(options->request), VALUE, sizeof(int), &iinfo, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zssssm.c b/runtime/quark/codelets/codelet_zssssm.c index bfb3f321ba1e07faaef6f000ca9552a4d8260414..a6740f92763d95a8af5cd70992e266dd04dbccd6 100644 --- a/runtime/quark/codelets/codelet_zssssm.c +++ b/runtime/quark/codelets/codelet_zssssm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -25,7 +25,7 @@ */ #include "coreblas/cblas.h" #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zssssm_quark(Quark *quark) @@ -36,13 +36,13 @@ void CORE_zssssm_quark(Quark *quark) int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *L1; + CHAMELEON_Complex64_t *L1; int ldl1; - MORSE_Complex64_t *L2; + CHAMELEON_Complex64_t *L2; int ldl2; int *IPIV; @@ -52,7 +52,7 @@ void CORE_zssssm_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zssssm applies the LU factorization update from a complex * matrix formed by a lower triangular IB-by-K tile L1 on top of a @@ -116,16 +116,16 @@ void CORE_zssssm_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * */ -void MORSE_TASK_zssssm(const MORSE_option_t *options, +void INSERT_TASK_zssssm(const RUNTIME_option_t *options, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *L1, int L1m, int L1n, int ldl1, - const MORSE_desc_t *L2, int L2m, int L2n, int ldl2, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *L1, int L1m, int L1n, int ldl1, + const CHAM_desc_t *L2, int L2m, int L2n, int ldl2, const int *IPIV) { quark_option_t *opt = (quark_option_t*)(options->schedopt); @@ -137,13 +137,13 @@ void MORSE_TASK_zssssm(const MORSE_option_t *options, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT, sizeof(int), &lda1, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT | LOCALITY, sizeof(int), &lda2, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(L1, MORSE_Complex64_t, L1m, L1n), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(L1, CHAMELEON_Complex64_t, L1m, L1n), INPUT, sizeof(int), &ldl1, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(L2, MORSE_Complex64_t, L2m, L2n), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(L2, CHAMELEON_Complex64_t, L2m, L2n), INPUT, sizeof(int), &ldl2, VALUE, sizeof(int)*nb, IPIV, INPUT, 0); diff --git a/runtime/quark/codelets/codelet_zsymm.c b/runtime/quark/codelets/codelet_zsymm.c index b2c82145d3f21a658704577c6f00978520347b7d..646293192e09dd54fe350231661fdc15176822b6 100644 --- a/runtime/quark/codelets/codelet_zsymm.c +++ b/runtime/quark/codelets/codelet_zsymm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,22 +24,22 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zsymm_quark(Quark *quark) { - MORSE_enum side; - MORSE_enum uplo; + cham_side_t side; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int LDC; quark_unpack_args_12(quark, side, uplo, M, N, alpha, A, LDA, B, LDB, beta, C, LDC); @@ -50,27 +50,27 @@ void CORE_zsymm_quark(Quark *quark) beta, C, LDC); } -void MORSE_TASK_zsymm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, +void INSERT_TASK_zsymm(const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_SYMM; QUARK_Insert_Task(opt->quark, CORE_zsymm_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), INPUT, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), INOUT, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), INOUT, sizeof(int), &ldc, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zsyr2k.c b/runtime/quark/codelets/codelet_zsyr2k.c index c3534145272e0a6f83c1dd356516527444029dc5..d4193c4a549b5570095bdaccf27cb07ef03d965a 100644 --- a/runtime/quark/codelets/codelet_zsyr2k.c +++ b/runtime/quark/codelets/codelet_zsyr2k.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,22 +24,22 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zsyr2k_quark(Quark *quark) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int ldc; quark_unpack_args_12(quark, uplo, trans, n, k, alpha, A, lda, B, ldb, beta, C, ldc); @@ -47,27 +47,27 @@ void CORE_zsyr2k_quark(Quark *quark) n, k, alpha, A, lda, B, ldb, beta, C, ldc); } -void MORSE_TASK_zsyr2k(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zsyr2k(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_SYR2K; QUARK_Insert_Task(opt->quark, CORE_zsyr2k_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), INPUT, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), INOUT, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), INOUT, sizeof(int), &ldc, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zsyrk.c b/runtime/quark/codelets/codelet_zsyrk.c index afedbc67f3366af661eaab00568f6fda69594778..1aa334633b21ba00930a6d1af6fa9e09f22428b6 100644 --- a/runtime/quark/codelets/codelet_zsyrk.c +++ b/runtime/quark/codelets/codelet_zsyrk.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,20 +24,20 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zsyrk_quark(Quark *quark) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int ldc; quark_unpack_args_10(quark, uplo, trans, n, k, alpha, A, lda, beta, C, ldc); @@ -47,24 +47,24 @@ void CORE_zsyrk_quark(Quark *quark) beta, C, ldc); } -void MORSE_TASK_zsyrk(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zsyrk(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_SYRK; QUARK_Insert_Task(opt->quark, CORE_zsyrk_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), INOUT, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), INOUT, sizeof(int), &ldc, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zsyssq.c b/runtime/quark/codelets/codelet_zsyssq.c index a29ecb6fd9dab2a598743af79bb199d71dbf7e07..4c56e8f247a2bf4f5764508b7e5ddc4a50c50b45 100644 --- a/runtime/quark/codelets/codelet_zsyssq.c +++ b/runtime/quark/codelets/codelet_zsyssq.c @@ -13,21 +13,21 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zsyssq_quark(Quark *quark) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *SCALESUMSQ; @@ -35,16 +35,16 @@ void CORE_zsyssq_quark(Quark *quark) CORE_zsyssq( uplo, n, A, lda, &SCALESUMSQ[0], &SCALESUMSQ[1]); } -void MORSE_TASK_zsyssq( const MORSE_option_t *options, - MORSE_enum uplo, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) +void INSERT_TASK_zsyssq( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); QUARK_Insert_Task(opt->quark, CORE_zsyssq_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*lda*n, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*lda*n, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, sizeof(double)*2, RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn), INOUT, 0); diff --git a/runtime/quark/codelets/codelet_zsytrf_nopiv.c b/runtime/quark/codelets/codelet_zsytrf_nopiv.c index b7de65360a818ec5ffbec1a6565c9c5238cf3d34..943c5725f583ff423567f93f590700a7a9eada47 100644 --- a/runtime/quark/codelets/codelet_zsytrf_nopiv.c +++ b/runtime/quark/codelets/codelet_zsytrf_nopiv.c @@ -24,41 +24,41 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zsytrf_nopiv_quark(Quark *quark) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_sequence_t *sequence; - MORSE_request_t *request; + RUNTIME_sequence_t *sequence; + RUNTIME_request_t *request; int iinfo; int info = 0; quark_unpack_args_7(quark, uplo, n, A, lda, sequence, request, iinfo); info = CORE_zsytf2_nopiv(uplo, n, A, lda); - if ( (sequence->status == MORSE_SUCCESS) && (info != 0) ) { - RUNTIME_sequence_flush( (MORSE_context_t*)quark, sequence, request, iinfo+info ); + if ( (sequence->status == CHAMELEON_SUCCESS) && (info != 0) ) { + RUNTIME_sequence_flush( (CHAM_context_t*)quark, sequence, request, iinfo+info ); } } -void MORSE_TASK_zsytrf_nopiv(const MORSE_option_t *options, - MORSE_enum uplo, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zsytrf_nopiv(const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_POTRF; QUARK_Insert_Task(opt->quark, CORE_zsytrf_nopiv_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, + sizeof(int), &uplo, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_sequence_t*), &(options->sequence), VALUE, - sizeof(MORSE_request_t*), &(options->request), VALUE, + sizeof(RUNTIME_sequence_t*), &(options->sequence), VALUE, + sizeof(RUNTIME_request_t*), &(options->request), VALUE, sizeof(int), &iinfo, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_ztile_zero.c b/runtime/quark/codelets/codelet_ztile_zero.c index c9a10feac1e16698d38fba38a752c1e2cb61638a..0c19378217af93f74fc315f4276f92961fbf04e4 100644 --- a/runtime/quark/codelets/codelet_ztile_zero.c +++ b/runtime/quark/codelets/codelet_ztile_zero.c @@ -20,7 +20,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztile_zero_quark(Quark *quark) @@ -29,7 +29,7 @@ void CORE_ztile_zero_quark(Quark *quark) int X2; int Y1; int Y2; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int x, y; @@ -42,9 +42,9 @@ void CORE_ztile_zero_quark(Quark *quark) } -void MORSE_TASK_ztile_zero( const MORSE_option_t *options, +void INSERT_TASK_ztile_zero( const RUNTIME_option_t *options, int X1, int X2, int Y1, int Y2, - const MORSE_desc_t *A, int Am, int An, int lda ) + const CHAM_desc_t *A, int Am, int An, int lda ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); QUARK_Insert_Task(opt->quark, CORE_ztile_zero_quark, (Quark_Task_Flags*)opt, @@ -52,7 +52,7 @@ void MORSE_TASK_ztile_zero( const MORSE_option_t *options, sizeof(int), &X2, VALUE, sizeof(int), &Y1, VALUE, sizeof(int), &Y2, VALUE, - sizeof(MORSE_Complex64_t)*A->bsiz, RTBLKADDR(A, MORSE_Complex64_t, Am, An), OUTPUT | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*A->bsiz, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), OUTPUT | LOCALITY, sizeof(int), &lda, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_ztplqt.c b/runtime/quark/codelets/codelet_ztplqt.c index 2682e3a40313e343cda534e775c0d011617c2af2..fa718ba312c153fc71614af477a2d96cc1f0610f 100644 --- a/runtime/quark/codelets/codelet_ztplqt.c +++ b/runtime/quark/codelets/codelet_ztplqt.c @@ -18,7 +18,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static void @@ -28,13 +28,13 @@ CORE_ztplqt_quark( Quark *quark ) int N; int L; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; quark_unpack_args_11( quark, M, N, L, ib, A, lda, B, ldb, T, ldt, WORK ); @@ -43,11 +43,11 @@ CORE_ztplqt_quark( Quark *quark ) A, lda, B, ldb, T, ldt, WORK ); } -void MORSE_TASK_ztplqt( const MORSE_option_t *options, +void INSERT_TASK_ztplqt( const RUNTIME_option_t *options, int M, int N, int L, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - const MORSE_desc_t *T, int Tm, int Tn, int ldt ) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TSLQT; @@ -60,12 +60,12 @@ void MORSE_TASK_ztplqt( const MORSE_option_t *options, sizeof(int), &N, VALUE, sizeof(int), &L, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), INOUT | QUARK_REGION_L | QUARK_REGION_D, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), INOUT | QUARK_REGION_L | QUARK_REGION_D, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), INOUT | shapeB | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), INOUT | shapeB | LOCALITY, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t)*nb*ib, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*nb*ib, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*(ib+1)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*(ib+1)*nb, NULL, SCRATCH, 0); } diff --git a/runtime/quark/codelets/codelet_ztpmlqt.c b/runtime/quark/codelets/codelet_ztpmlqt.c index 50bb9ff8ffdae9223b848ebb31039b22377cfc6f..3b2498a5f888d19c775d4a59df6ecb0a2cc87296 100644 --- a/runtime/quark/codelets/codelet_ztpmlqt.c +++ b/runtime/quark/codelets/codelet_ztpmlqt.c @@ -18,28 +18,28 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static void CORE_ztpmlqt_quark( Quark *quark ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int M; int N; int K; int L; int ib; - const MORSE_Complex64_t *V; + const CHAMELEON_Complex64_t *V; int ldv; - const MORSE_Complex64_t *T; + const CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; quark_unpack_args_16( quark, side, trans, M, N, K, L, ib, V, ldv, T, ldt, A, lda, B, ldb, WORK ); @@ -48,13 +48,13 @@ CORE_ztpmlqt_quark( Quark *quark ) V, ldv, T, ldt, A, lda, B, ldb, WORK ); } -void MORSE_TASK_ztpmlqt( const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztpmlqt( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int ib, int nb, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb ) + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TSMQR; @@ -63,21 +63,21 @@ void MORSE_TASK_ztpmlqt( const MORSE_option_t *options, QUARK_Insert_Task( opt->quark, CORE_ztpmlqt_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, sizeof(int), &K, VALUE, sizeof(int), &L, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR( V, MORSE_Complex64_t, Vm, Vn ), INPUT | shapeV, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR( V, CHAMELEON_Complex64_t, Vm, Vn ), INPUT | shapeV, sizeof(int), &ldv, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), INOUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), INOUT | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), INOUT | LOCALITY, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, 0); } diff --git a/runtime/quark/codelets/codelet_ztpmqrt.c b/runtime/quark/codelets/codelet_ztpmqrt.c index 4d551981099a7797659d46e372e0f18d3fccb507..d65cd8d4265de90bdacf1db12cc05ffedb028dcf 100644 --- a/runtime/quark/codelets/codelet_ztpmqrt.c +++ b/runtime/quark/codelets/codelet_ztpmqrt.c @@ -18,28 +18,28 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static void CORE_ztpmqrt_quark( Quark *quark ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int M; int N; int K; int L; int ib; - const MORSE_Complex64_t *V; + const CHAMELEON_Complex64_t *V; int ldv; - const MORSE_Complex64_t *T; + const CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; quark_unpack_args_16( quark, side, trans, M, N, K, L, ib, V, ldv, T, ldt, A, lda, B, ldb, WORK ); @@ -48,13 +48,13 @@ CORE_ztpmqrt_quark( Quark *quark ) V, ldv, T, ldt, A, lda, B, ldb, WORK ); } -void MORSE_TASK_ztpmqrt( const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztpmqrt( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int ib, int nb, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb ) + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TSMQR; @@ -63,21 +63,21 @@ void MORSE_TASK_ztpmqrt( const MORSE_option_t *options, QUARK_Insert_Task( opt->quark, CORE_ztpmqrt_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, sizeof(int), &K, VALUE, sizeof(int), &L, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR( V, MORSE_Complex64_t, Vm, Vn ), INPUT | shapeV, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR( V, CHAMELEON_Complex64_t, Vm, Vn ), INPUT | shapeV, sizeof(int), &ldv, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), INOUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), INOUT | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), INOUT | LOCALITY, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, 0); } diff --git a/runtime/quark/codelets/codelet_ztpqrt.c b/runtime/quark/codelets/codelet_ztpqrt.c index 9f650d1544f86f093a90db3d80a736a6e467812d..a9d21bda807528e9831b1f2083537d77dc00841a 100644 --- a/runtime/quark/codelets/codelet_ztpqrt.c +++ b/runtime/quark/codelets/codelet_ztpqrt.c @@ -18,7 +18,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static void @@ -28,13 +28,13 @@ CORE_ztpqrt_quark( Quark *quark ) int N; int L; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; quark_unpack_args_11( quark, M, N, L, ib, A, lda, B, ldb, T, ldt, WORK ); @@ -43,11 +43,11 @@ CORE_ztpqrt_quark( Quark *quark ) A, lda, B, ldb, T, ldt, WORK ); } -void MORSE_TASK_ztpqrt( const MORSE_option_t *options, +void INSERT_TASK_ztpqrt( const RUNTIME_option_t *options, int M, int N, int L, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - const MORSE_desc_t *T, int Tm, int Tn, int ldt ) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TSQRT; @@ -60,12 +60,12 @@ void MORSE_TASK_ztpqrt( const MORSE_option_t *options, sizeof(int), &N, VALUE, sizeof(int), &L, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR( A, MORSE_Complex64_t, Am, An ), INOUT | QUARK_REGION_U | QUARK_REGION_D, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ), INOUT | QUARK_REGION_U | QUARK_REGION_D, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), INOUT | shapeB | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ), INOUT | shapeB | LOCALITY, sizeof(int), &ldb, VALUE, - sizeof(MORSE_Complex64_t)*nb*ib, RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*nb*ib, RTBLKADDR( T, CHAMELEON_Complex64_t, Tm, Tn ), OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*(ib+1)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*(ib+1)*nb, NULL, SCRATCH, 0); } diff --git a/runtime/quark/codelets/codelet_ztradd.c b/runtime/quark/codelets/codelet_ztradd.c index 4a6293771d116eed8cb96945894c91e12cf00cc3..a505e1b17d0aed8014ad54828ae946e607457a51 100644 --- a/runtime/quark/codelets/codelet_ztradd.c +++ b/runtime/quark/codelets/codelet_ztradd.c @@ -13,27 +13,27 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2011-11-03 * @precisions normal z -> c d s * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztradd_quark(Quark *quark) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t beta; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *B; int LDB; quark_unpack_args_10(quark, uplo, trans, M, N, alpha, A, LDA, beta, B, LDB); @@ -44,9 +44,9 @@ void CORE_ztradd_quark(Quark *quark) /** ****************************************************************************** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * - * MORSE_TASK_ztradd adds two trapezoidal matrices together as in PBLAS pzgeadd. + * INSERT_TASK_ztradd adds two trapezoidal matrices together as in PBLAS pzgeadd. * * B <- alpha * op(A) + beta * B, * @@ -56,16 +56,16 @@ void CORE_ztradd_quark(Quark *quark) * * @param[in] uplo * Specifies the shape of A and B matrices: - * = MorseUpperLower: A and B are general matrices. - * = MorseUpper: op(A) and B are upper trapezoidal matrices. - * = MorseLower: op(A) and B are lower trapezoidal matrices. + * = ChamUpperLower: A and B are general matrices. + * = ChamUpper: op(A) and B are upper trapezoidal matrices. + * = ChamLower: op(A) and B are lower trapezoidal matrices. * * @param[in] trans * Specifies whether the matrix A is non-transposed, transposed, or * conjugate transposed - * = MorseNoTrans: op(A) = A - * = MorseTrans: op(A) = A' - * = MorseConjTrans: op(A) = conj(A') + * = ChamNoTrans: op(A) = A + * = ChamTrans: op(A) = A' + * = ChamConjTrans: op(A) = conj(A') * * @param[in] M * Number of rows of the matrices op(A) and B. @@ -77,12 +77,12 @@ void CORE_ztradd_quark(Quark *quark) * Scalar factor of A. * * @param[in] A - * Matrix of size LDA-by-N, if trans = MorseNoTrans, LDA-by-M + * Matrix of size LDA-by-N, if trans = ChamNoTrans, LDA-by-M * otherwise. * * @param[in] LDA * Leading dimension of the array A. LDA >= max(1,k), with k=M, if - * trans = MorseNoTrans, and k=N otherwise. + * trans = ChamNoTrans, and k=N otherwise. * * @param[in] beta * Scalar factor of B. @@ -97,27 +97,27 @@ void CORE_ztradd_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_ztradd(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t beta, const MORSE_desc_t *B, int Bm, int Bn, int ldb) +void INSERT_TASK_ztradd(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *B, int Bm, int Bn, int ldb) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_GEADD; QUARK_Insert_Task(opt->quark, CORE_ztradd_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*lda*n, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*lda*n, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t), &beta, VALUE, - sizeof(MORSE_Complex64_t)*ldb*n, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INOUT, + sizeof(CHAMELEON_Complex64_t), &beta, VALUE, + sizeof(CHAMELEON_Complex64_t)*ldb*n, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), INOUT, sizeof(int), &ldb, VALUE, 0); diff --git a/runtime/quark/codelets/codelet_ztrasm.c b/runtime/quark/codelets/codelet_ztrasm.c index c72168a22f5d861bd777b4de539fdf026e494f56..ae01e0c2d0a024069555690faa0dbdde8909b748 100644 --- a/runtime/quark/codelets/codelet_ztrasm.c +++ b/runtime/quark/codelets/codelet_ztrasm.c @@ -13,24 +13,24 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztrasm_quark(Quark *quark) { - MORSE_enum storev; - MORSE_enum uplo; - MORSE_enum diag; + cham_store_t storev; + cham_uplo_t uplo; + cham_diag_t diag; int M; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *work; @@ -38,20 +38,20 @@ void CORE_ztrasm_quark(Quark *quark) CORE_ztrasm(storev, uplo, diag, M, N, A, lda, work); } -void MORSE_TASK_ztrasm(const MORSE_option_t *options, - MORSE_enum storev, MORSE_enum uplo, MORSE_enum diag, int M, int N, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_ztrasm(const RUNTIME_option_t *options, + cham_store_t storev, cham_uplo_t uplo, cham_diag_t diag, int M, int N, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn) { quark_option_t *opt = (quark_option_t*)(options->schedopt); - int szeW = uplo == MorseRowwise ? M : N ; + int szeW = storev == ChamRowwise ? M : N ; QUARK_Insert_Task(opt->quark, CORE_ztrasm_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &storev, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &diag, VALUE, + sizeof(int), &storev, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &diag, VALUE, sizeof(int), &M, VALUE, sizeof(int), &N, VALUE, - sizeof(MORSE_Complex64_t)*lda*N, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*lda*N, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, sizeof(double)*szeW, RTBLKADDR(B, double, Bm, Bn), INOUT, 0); diff --git a/runtime/quark/codelets/codelet_ztrmm.c b/runtime/quark/codelets/codelet_ztrmm.c index 387043785be7bf08a47ec7c87affca0073a96a7a..1ccc97a6697f7cd49e0a2e21dc035a81dbe67542 100644 --- a/runtime/quark/codelets/codelet_ztrmm.c +++ b/runtime/quark/codelets/codelet_ztrmm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -24,21 +24,21 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztrmm_quark(Quark *quark) { - MORSE_enum side; - MORSE_enum uplo; - MORSE_enum transA; - MORSE_enum diag; + cham_side_t side; + cham_uplo_t uplo; + cham_trans_t transA; + cham_diag_t diag; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; quark_unpack_args_11(quark, side, uplo, transA, diag, M, N, alpha, A, LDA, B, LDB); @@ -49,25 +49,25 @@ void CORE_ztrmm_quark(Quark *quark) B, LDB); } -void MORSE_TASK_ztrmm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, +void INSERT_TASK_ztrmm(const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TRMM; QUARK_Insert_Task(opt->quark, CORE_ztrmm_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &transA, VALUE, - sizeof(MORSE_enum), &diag, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &transA, VALUE, + sizeof(int), &diag, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), INOUT, sizeof(int), &ldb, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_ztrsm.c b/runtime/quark/codelets/codelet_ztrsm.c index 7057099e751528897aaf1c27a1ee91049f2a7008..7ac79c2f8812469cccd29434ee08e653f593b968 100644 --- a/runtime/quark/codelets/codelet_ztrsm.c +++ b/runtime/quark/codelets/codelet_ztrsm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,21 +24,21 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztrsm_quark(Quark *quark) { - MORSE_enum side; - MORSE_enum uplo; - MORSE_enum transA; - MORSE_enum diag; + cham_side_t side; + cham_uplo_t uplo; + cham_trans_t transA; + cham_diag_t diag; int m; int n; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; quark_unpack_args_11(quark, side, uplo, transA, diag, m, n, alpha, A, lda, B, ldb); @@ -49,25 +49,25 @@ void CORE_ztrsm_quark(Quark *quark) B, ldb); } -void MORSE_TASK_ztrsm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, +void INSERT_TASK_ztrsm(const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TRSM; QUARK_Insert_Task(opt->quark, CORE_ztrsm_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &transA, VALUE, - sizeof(MORSE_enum), &diag, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &transA, VALUE, + sizeof(int), &diag, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t), &alpha, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t), &alpha, VALUE, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), INOUT, sizeof(int), &ldb, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_ztrssq.c b/runtime/quark/codelets/codelet_ztrssq.c index 078ac63aea1ee662f1031082795aaa30c25d9bad..a98cfff8863d85d3da58225de4866e1d7307a1fd 100644 --- a/runtime/quark/codelets/codelet_ztrssq.c +++ b/runtime/quark/codelets/codelet_ztrssq.c @@ -13,23 +13,23 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztrssq_quark(Quark *quark) { - MORSE_enum uplo; - MORSE_enum diag; + cham_uplo_t uplo; + cham_diag_t diag; int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *SCALESUMSQ; @@ -37,19 +37,19 @@ void CORE_ztrssq_quark(Quark *quark) CORE_ztrssq( uplo, diag, m, n, A, lda, &SCALESUMSQ[0], &SCALESUMSQ[1]); } -void MORSE_TASK_ztrssq( const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum diag, +void INSERT_TASK_ztrssq( const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_diag_t diag, int m, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) { quark_option_t *opt = (quark_option_t*)(options->schedopt); QUARK_Insert_Task(opt->quark, CORE_ztrssq_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &diag, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &diag, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*lda*n, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT, + sizeof(CHAMELEON_Complex64_t)*lda*n, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT, sizeof(int), &lda, VALUE, sizeof(double)*2, RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn), INOUT, 0); diff --git a/runtime/quark/codelets/codelet_ztrtri.c b/runtime/quark/codelets/codelet_ztrtri.c index 586ef5718baf2b879b146f962effcb3eb10877f8..5cafd8be0eb041e16c5f99a839e02a6aa6d957ad 100644 --- a/runtime/quark/codelets/codelet_ztrtri.c +++ b/runtime/quark/codelets/codelet_ztrtri.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -24,45 +24,45 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztrtri_quark(Quark *quark) { - MORSE_enum uplo; - MORSE_enum diag; + cham_uplo_t uplo; + cham_diag_t diag; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_sequence_t *sequence; - MORSE_request_t *request; + RUNTIME_sequence_t *sequence; + RUNTIME_request_t *request; int iinfo; int info; quark_unpack_args_8(quark, uplo, diag, N, A, LDA, sequence, request, iinfo); CORE_ztrtri(uplo, diag, N, A, LDA, &info); - if ( (sequence->status == MORSE_SUCCESS) && (info > 0) ) { - RUNTIME_sequence_flush( (MORSE_context_t*)quark, sequence, request, iinfo+info ); + if ( (sequence->status == CHAMELEON_SUCCESS) && (info > 0) ) { + RUNTIME_sequence_flush( (CHAM_context_t*)quark, sequence, request, iinfo+info ); } } -void MORSE_TASK_ztrtri(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum diag, +void INSERT_TASK_ztrtri(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_diag_t diag, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo) { quark_option_t *opt = (quark_option_t*)(options->schedopt); QUARK_Insert_Task( opt->quark, CORE_ztrtri_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &uplo, VALUE, - sizeof(MORSE_enum), &diag, VALUE, + sizeof(int), &uplo, VALUE, + sizeof(int), &diag, VALUE, sizeof(int), &n, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT, sizeof(int), &lda, VALUE, - sizeof(MORSE_sequence_t*), &(options->sequence), VALUE, - sizeof(MORSE_request_t*), &(options->request), VALUE, + sizeof(RUNTIME_sequence_t*), &(options->sequence), VALUE, + sizeof(RUNTIME_request_t*), &(options->request), VALUE, sizeof(int), &iinfo, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_ztslqt.c b/runtime/quark/codelets/codelet_ztslqt.c index ea61c4cb0e3199b3585989ca43bb5890852552d0..11811f15b0bd09991b16f1965a072d2eae47b8ed 100644 --- a/runtime/quark/codelets/codelet_ztslqt.c +++ b/runtime/quark/codelets/codelet_ztslqt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,7 +24,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztslqt_quark(Quark *quark) @@ -32,14 +32,14 @@ void CORE_ztslqt_quark(Quark *quark) int m; int n; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; quark_unpack_args_11(quark, m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK); CORE_ztslqt(m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK); @@ -47,7 +47,7 @@ void CORE_ztslqt_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztslqt computes a LQ factorization of a rectangular matrix * formed by coupling side-by-side a complex M-by-M @@ -114,16 +114,16 @@ void CORE_ztslqt_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_ztslqt(const MORSE_option_t *options, +void INSERT_TASK_ztslqt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TSLQT; @@ -131,13 +131,13 @@ void MORSE_TASK_ztslqt(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT | QUARK_REGION_L | QUARK_REGION_D, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT | QUARK_REGION_L | QUARK_REGION_D, sizeof(int), &lda1, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT | LOCALITY, sizeof(int), &lda2, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb, NULL, SCRATCH, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, 0); } diff --git a/runtime/quark/codelets/codelet_ztsmlq.c b/runtime/quark/codelets/codelet_ztsmlq.c index f68dfd0d717f9ebd0471105426a69b2394975a0d..11dc3da95584b4924a24e8aa0e9f0e441d4c0127 100644 --- a/runtime/quark/codelets/codelet_ztsmlq.c +++ b/runtime/quark/codelets/codelet_ztsmlq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Azzam Haidar @@ -26,28 +26,28 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztsmlq_quark(Quark *quark) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; quark_unpack_args_18(quark, side, trans, m1, n1, m2, n2, k, ib, @@ -58,7 +58,7 @@ void CORE_ztsmlq_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztsmlq overwrites the general complex M1-by-N1 tile A1 and * M2-by-N2 tile A2 with @@ -80,12 +80,12 @@ void CORE_ztsmlq_quark(Quark *quark) ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M1 * The number of rows of the tile A1. M1 >= 0. @@ -95,11 +95,11 @@ void CORE_ztsmlq_quark(Quark *quark) * * @param[in] M2 * The number of rows of the tile A2. M2 >= 0. - * M2 = M1 if side == MorseRight. + * M2 = M1 if side == ChamRight. * * @param[in] N2 * The number of columns of the tile A2. N2 >= 0. - * N2 = N1 if side == MorseLeft. + * N2 = N1 if side == ChamLeft. * * @param[in] K * The number of elementary reflectors whose product defines @@ -140,51 +140,51 @@ void CORE_ztsmlq_quark(Quark *quark) * * @param[out] WORK * Workspace array of size - * LDWORK-by-M1 if side == MorseLeft - * LDWORK-by-IB if side == MorseRight + * LDWORK-by-M1 if side == ChamLeft + * LDWORK-by-IB if side == ChamRight * * @param[in] LDWORK * The leading dimension of the array WORK. - * LDWORK >= max(1,IB) if side == MorseLeft - * LDWORK >= max(1,N1) if side == MorseRight + * LDWORK >= max(1,IB) if side == ChamLeft + * LDWORK >= max(1,N1) if side == ChamRight * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_ztsmlq(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztsmlq(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TSMLQ; QUARK_Insert_Task(opt->quark, CORE_ztsmlq_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m1, VALUE, sizeof(int), &n1, VALUE, sizeof(int), &m2, VALUE, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT, sizeof(int), &lda1, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT | LOCALITY, sizeof(int), &lda2, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), INPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), INPUT, sizeof(int), &ldv, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &ldwork, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_ztsmlq_hetra1.c b/runtime/quark/codelets/codelet_ztsmlq_hetra1.c index 0afa54ddaa114a7df4398f2231202a3eaba0c537..0342ac314a91d755610118f398863128d2b162d6 100644 --- a/runtime/quark/codelets/codelet_ztsmlq_hetra1.c +++ b/runtime/quark/codelets/codelet_ztsmlq_hetra1.c @@ -21,63 +21,63 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztsmlq_hetra1_quark(Quark *quark) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; quark_unpack_args_18(quark, side, trans, m1, n1, m2, n2, k, ib, A1, lda1, A2, lda2, V, ldv, T, ldt, WORK, ldwork); CORE_ztsmlq_hetra1(side, trans, m1, n1, m2, n2, k, ib, A1, lda1, A2, lda2, V, ldv, T, ldt, WORK, ldwork); } -void MORSE_TASK_ztsmlq_hetra1(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztsmlq_hetra1(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { quark_option_t *opt = (quark_option_t*)(options->schedopt); - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; QUARK_Insert_Task(opt->quark, CORE_ztsmlq_hetra1_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m1, VALUE, sizeof(int), &n1, VALUE, sizeof(int), &m2, VALUE, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT|QUARK_REGION_U|QUARK_REGION_D, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT|QUARK_REGION_U|QUARK_REGION_D, sizeof(int), &lda1, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT, sizeof(int), &lda2, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), INPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), INPUT, sizeof(int), &ldv, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &ldwork, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_ztsmqr.c b/runtime/quark/codelets/codelet_ztsmqr.c index b0251b7bdee704eb346dd74081f9d1f2b8955531..c6e003b7e3506c46f299839070a3c32cfeaecd9c 100644 --- a/runtime/quark/codelets/codelet_ztsmqr.c +++ b/runtime/quark/codelets/codelet_ztsmqr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Azzam Haidar @@ -26,28 +26,28 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztsmqr_quark(Quark *quark) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; quark_unpack_args_18(quark, side, trans, m1, n1, m2, n2, k, ib, @@ -58,7 +58,7 @@ void CORE_ztsmqr_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztsmqr overwrites the general complex M1-by-N1 tile A1 and * M2-by-N2 tile A2 with @@ -80,12 +80,12 @@ void CORE_ztsmqr_quark(Quark *quark) ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M1 * The number of rows of the tile A1. M1 >= 0. @@ -95,11 +95,11 @@ void CORE_ztsmqr_quark(Quark *quark) * * @param[in] M2 * The number of rows of the tile A2. M2 >= 0. - * M2 = M1 if side == MorseRight. + * M2 = M1 if side == ChamRight. * * @param[in] N2 * The number of columns of the tile A2. N2 >= 0. - * N2 = N1 if side == MorseLeft. + * N2 = N1 if side == ChamLeft. * * @param[in] K * The number of elementary reflectors whose product defines @@ -140,51 +140,51 @@ void CORE_ztsmqr_quark(Quark *quark) * * @param[out] WORK * Workspace array of size - * LDWORK-by-N1 if side == MorseLeft - * LDWORK-by-IB if side == MorseRight + * LDWORK-by-N1 if side == ChamLeft + * LDWORK-by-IB if side == ChamRight * * @param[in] LDWORK * The leading dimension of the array WORK. - * LDWORK >= max(1,IB) if side == MorseLeft - * LDWORK >= max(1,M1) if side == MorseRight + * LDWORK >= max(1,IB) if side == ChamLeft + * LDWORK >= max(1,M1) if side == ChamRight * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_ztsmqr(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztsmqr(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TSMQR; QUARK_Insert_Task(opt->quark, CORE_ztsmqr_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m1, VALUE, sizeof(int), &n1, VALUE, sizeof(int), &m2, VALUE, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT, sizeof(int), &lda1, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT | LOCALITY, sizeof(int), &lda2, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), INPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), INPUT, sizeof(int), &ldv, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &ldwork, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_ztsmqr_hetra1.c b/runtime/quark/codelets/codelet_ztsmqr_hetra1.c index 75b1fc36b127a89a5ce4ffeb0e197b940c282e70..60f56e73617399e3e17f9764726477348aa499bc 100644 --- a/runtime/quark/codelets/codelet_ztsmqr_hetra1.c +++ b/runtime/quark/codelets/codelet_ztsmqr_hetra1.c @@ -21,63 +21,63 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztsmqr_hetra1_quark(Quark *quark) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; quark_unpack_args_18(quark, side, trans, m1, n1, m2, n2, k, ib, A1, lda1, A2, lda2, V, ldv, T, ldt, WORK, ldwork); CORE_ztsmqr_hetra1(side, trans, m1, n1, m2, n2, k, ib, A1, lda1, A2, lda2, V, ldv, T, ldt, WORK, ldwork); } -void MORSE_TASK_ztsmqr_hetra1(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztsmqr_hetra1(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { quark_option_t *opt = (quark_option_t*)(options->schedopt); - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; QUARK_Insert_Task(opt->quark, CORE_ztsmqr_hetra1_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m1, VALUE, sizeof(int), &n1, VALUE, sizeof(int), &m2, VALUE, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT|QUARK_REGION_L|QUARK_REGION_D, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT|QUARK_REGION_L|QUARK_REGION_D, sizeof(int), &lda1, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT, sizeof(int), &lda2, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), INPUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), INPUT, sizeof(int), &ldv, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &ldwork, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_ztsqrt.c b/runtime/quark/codelets/codelet_ztsqrt.c index bb479da91455475f4d4f87f70ca6712b23760d06..0f4a82d85f66467d245a7591d41fb0f9e1bad7eb 100644 --- a/runtime/quark/codelets/codelet_ztsqrt.c +++ b/runtime/quark/codelets/codelet_ztsqrt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,7 +24,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_ztsqrt_quark(Quark *quark) @@ -32,14 +32,14 @@ void CORE_ztsqrt_quark(Quark *quark) int m; int n; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; quark_unpack_args_11(quark, m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK); CORE_ztsqrt(m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK); @@ -47,7 +47,7 @@ void CORE_ztsqrt_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztsqrt computes a QR factorization of a rectangular matrix * formed by coupling a complex N-by-N upper triangular tile A1 @@ -103,15 +103,15 @@ void CORE_ztsqrt_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_ztsqrt(const MORSE_option_t *options, +void INSERT_TASK_ztsqrt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TSQRT; @@ -119,13 +119,13 @@ void MORSE_TASK_ztsqrt(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT | QUARK_REGION_U | QUARK_REGION_D, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT | QUARK_REGION_U | QUARK_REGION_D, sizeof(int), &lda1, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT | LOCALITY, sizeof(int), &lda2, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb, NULL, SCRATCH, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, 0); } diff --git a/runtime/quark/codelets/codelet_ztstrf.c b/runtime/quark/codelets/codelet_ztstrf.c index 3e635c5c17eb7fdec01a8feaa6918594086877fd..ce327fab1e1418d8355c5b88c4e7220872e2c217 100644 --- a/runtime/quark/codelets/codelet_ztstrf.c +++ b/runtime/quark/codelets/codelet_ztstrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,7 +24,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" #include "coreblas/cblas.h" #include <math.h> @@ -35,32 +35,32 @@ void CORE_ztstrf_quark(Quark *quark) int n; int ib; int nb; - MORSE_Complex64_t *U; + CHAMELEON_Complex64_t *U; int ldu; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *L; + CHAMELEON_Complex64_t *L; int ldl; int *IPIV; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; - MORSE_sequence_t *sequence; - MORSE_request_t *request; - MORSE_bool check_info; + RUNTIME_sequence_t *sequence; + RUNTIME_request_t *request; + cham_bool_t check_info; int iinfo; int info; quark_unpack_args_17(quark, m, n, ib, nb, U, ldu, A, lda, L, ldl, IPIV, WORK, ldwork, sequence, request, check_info, iinfo); CORE_ztstrf(m, n, ib, nb, U, ldu, A, lda, L, ldl, IPIV, WORK, ldwork, &info); - if ( (info != MORSE_SUCCESS) && check_info ) { - RUNTIME_sequence_flush( (MORSE_context_t*)quark, sequence, request, iinfo+info ); + if ( (info != CHAMELEON_SUCCESS) && check_info ) { + RUNTIME_sequence_flush( (CHAM_context_t*)quark, sequence, request, iinfo+info ); } } /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztstrf computes an LU factorization of a complex matrix formed * by an upper triangular NB-by-N tile U on top of a M-by-N tile A @@ -116,7 +116,7 @@ void CORE_ztstrf_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * \retval >0 if INFO = k, U(k,k) is exactly zero. The factorization * has been completed, but the factor U is exactly @@ -124,13 +124,13 @@ void CORE_ztstrf_quark(Quark *quark) * to solve a system of equations. * */ -void MORSE_TASK_ztstrf(const MORSE_option_t *options, +void INSERT_TASK_ztstrf(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *U, int Um, int Un, int ldu, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *L, int Lm, int Ln, int ldl, + const CHAM_desc_t *U, int Um, int Un, int ldu, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *L, int Lm, int Ln, int ldl, int *IPIV, - MORSE_bool check_info, int iinfo) + cham_bool_t check_info, int iinfo) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TSTRF; @@ -139,18 +139,18 @@ void MORSE_TASK_ztstrf(const MORSE_option_t *options, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, sizeof(int), &nb, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(U, MORSE_Complex64_t, Um, Un), INOUT | QUARK_REGION_D | QUARK_REGION_U, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(U, CHAMELEON_Complex64_t, Um, Un), INOUT | QUARK_REGION_D | QUARK_REGION_U, sizeof(int), &ldu, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INOUT | LOCALITY, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(L, MORSE_Complex64_t, Lm, Ln), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(L, CHAMELEON_Complex64_t, Lm, Ln), OUTPUT, sizeof(int), &ldl, VALUE, sizeof(int)*nb, IPIV, OUTPUT, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &nb, VALUE, - sizeof(MORSE_sequence_t*), &(options->sequence), VALUE, - sizeof(MORSE_request_t*), &(options->request), VALUE, - sizeof(MORSE_bool), &check_info, VALUE, + sizeof(RUNTIME_sequence_t*), &(options->sequence), VALUE, + sizeof(RUNTIME_request_t*), &(options->request), VALUE, + sizeof(cham_bool_t), &check_info, VALUE, sizeof(int), &iinfo, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zttlqt.c b/runtime/quark/codelets/codelet_zttlqt.c index e22fe7901ba07f0e015f65cbd36e1c6ce2a9a049..defa6c50ba297fdf724d320ae2f84de494267707 100644 --- a/runtime/quark/codelets/codelet_zttlqt.c +++ b/runtime/quark/codelets/codelet_zttlqt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Dulceneia Becker * @author Mathieu Faverge @@ -24,7 +24,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zttlqt_quark(Quark *quark) @@ -32,14 +32,14 @@ void CORE_zttlqt_quark(Quark *quark) int m; int n; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; quark_unpack_args_11(quark, m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK); CORE_zttlqt(m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK); @@ -47,7 +47,7 @@ void CORE_zttlqt_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zttlqt computes a LQ factorization of a rectangular matrix * formed by coupling side-by-side a complex M-by-M lower triangular tile A1 @@ -115,15 +115,15 @@ void CORE_zttlqt_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zttlqt(const MORSE_option_t *options, +void INSERT_TASK_zttlqt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TTLQT; @@ -131,13 +131,13 @@ void MORSE_TASK_zttlqt(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT | QUARK_REGION_L | QUARK_REGION_D, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT | QUARK_REGION_L | QUARK_REGION_D, sizeof(int), &lda1, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT | QUARK_REGION_L | QUARK_REGION_D | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT | QUARK_REGION_L | QUARK_REGION_D | LOCALITY, sizeof(int), &lda2, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb, NULL, SCRATCH, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, 0); } diff --git a/runtime/quark/codelets/codelet_zttmlq.c b/runtime/quark/codelets/codelet_zttmlq.c index dfcdc8bb00d54226986042c9f1f42dda2fcaa994..e1ee9389893c924135c2ce0a415e315ac78c5427 100644 --- a/runtime/quark/codelets/codelet_zttmlq.c +++ b/runtime/quark/codelets/codelet_zttmlq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Dulceneia Becker * @author Mathieu Faverge @@ -24,28 +24,28 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zttmlq_quark(Quark *quark) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; quark_unpack_args_18(quark, side, trans, m1, n1, m2, n2, k, ib, @@ -56,7 +56,7 @@ void CORE_zttmlq_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zttmlq overwrites the general complex M1-by-N1 tile A1 and * M2-by-N2 tile A2 (N1 == N2) with @@ -78,12 +78,12 @@ void CORE_zttmlq_quark(Quark *quark) ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M1 * The number of rows of the tile A1. M1 >= 0. @@ -143,40 +143,40 @@ void CORE_zttmlq_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zttmlq(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_zttmlq(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TTMLQ; QUARK_Insert_Task(opt->quark, CORE_zttmlq_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m1, VALUE, sizeof(int), &n1, VALUE, sizeof(int), &m2, VALUE, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT, sizeof(int), &lda1, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT | LOCALITY, sizeof(int), &lda2, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), INPUT | QUARK_REGION_L | QUARK_REGION_D, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), INPUT | QUARK_REGION_L | QUARK_REGION_D, sizeof(int), &ldv, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &ldwork, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zttmqr.c b/runtime/quark/codelets/codelet_zttmqr.c index 000825e44d82fc1a7835c3a20fb4da8cee40d572..bd5518d98fcbcdc6dada94969bb1f07495b3e2d0 100644 --- a/runtime/quark/codelets/codelet_zttmqr.c +++ b/runtime/quark/codelets/codelet_zttmqr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Dulceneia Becker * @author Mathieu Faverge @@ -24,29 +24,29 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" static void CORE_zttmqr_quark( Quark *quark ) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; quark_unpack_args_18(quark, side, trans, m1, n1, m2, n2, k, ib, @@ -57,7 +57,7 @@ CORE_zttmqr_quark( Quark *quark ) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zttmqr overwrites the general complex M1-by-N1 tile A1 and * M2-by-N2 tile A2 (N1 == N2) with @@ -79,12 +79,12 @@ CORE_zttmqr_quark( Quark *quark ) ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M1 * The number of rows of the tile A1. M1 >= 0. @@ -144,40 +144,40 @@ CORE_zttmqr_quark( Quark *quark ) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zttmqr(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_zttmqr(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TTMQR; QUARK_Insert_Task(opt->quark, CORE_zttmqr_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m1, VALUE, sizeof(int), &n1, VALUE, sizeof(int), &m2, VALUE, sizeof(int), &n2, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT, sizeof(int), &lda1, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT | LOCALITY, sizeof(int), &lda2, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), INPUT | QUARK_REGION_U | QUARK_REGION_D, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), INPUT | QUARK_REGION_U | QUARK_REGION_D, sizeof(int), &ldv, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &ldwork, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zttqrt.c b/runtime/quark/codelets/codelet_zttqrt.c index abccebbc2d448ec5b4433024056eec6b1054f6ed..6940f2742056d295ff16790cf81a0426d4bdaaa5 100644 --- a/runtime/quark/codelets/codelet_zttqrt.c +++ b/runtime/quark/codelets/codelet_zttqrt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Dulceneia Becker * @author Mathieu Faverge @@ -24,7 +24,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zttqrt_quark(Quark *quark) @@ -32,14 +32,14 @@ void CORE_zttqrt_quark(Quark *quark) int m; int n; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; quark_unpack_args_11(quark, m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK); CORE_zttqrt(m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK); @@ -47,7 +47,7 @@ void CORE_zttqrt_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zttqrt computes a QR factorization of a rectangular matrix * formed by coupling a complex N-by-N upper triangular tile A1 @@ -115,15 +115,15 @@ void CORE_zttqrt_quark(Quark *quark) ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zttqrt(const MORSE_option_t *options, +void INSERT_TASK_zttqrt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_TTQRT; @@ -131,13 +131,13 @@ void MORSE_TASK_zttqrt(const MORSE_option_t *options, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), INOUT | QUARK_REGION_U | QUARK_REGION_D, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), INOUT | QUARK_REGION_U | QUARK_REGION_D, sizeof(int), &lda1, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), INOUT | QUARK_REGION_U | QUARK_REGION_D | LOCALITY, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), INOUT | QUARK_REGION_U | QUARK_REGION_D | LOCALITY, sizeof(int), &lda2, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), OUTPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), OUTPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb, NULL, SCRATCH, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, 0); } diff --git a/runtime/quark/codelets/codelet_zunmlq.c b/runtime/quark/codelets/codelet_zunmlq.c index 1d1642e30ba718e4400ceeed41a3d5f56db301b5..3dcdc3d020a156bf29b98ba1384e8f693ee7da2e 100644 --- a/runtime/quark/codelets/codelet_zunmlq.c +++ b/runtime/quark/codelets/codelet_zunmlq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Dulceneia Becker @@ -25,24 +25,24 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zunmlq_quark(Quark *quark) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m; int n; int k; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; quark_unpack_args_14(quark, side, trans, m, n, k, ib, @@ -53,7 +53,7 @@ void CORE_zunmlq_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zunmlq overwrites the general complex M-by-N tile C with * @@ -72,12 +72,12 @@ void CORE_zunmlq_quark(Quark *quark) ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : Transpose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : Transpose, apply Q**H. * * @param[in] M * The number of rows of the tile C. M >= 0. @@ -88,15 +88,15 @@ void CORE_zunmlq_quark(Quark *quark) * @param[in] K * The number of elementary reflectors whose product defines * the matrix Q. - * If SIDE = MorseLeft, M >= K >= 0; - * if SIDE = MorseRight, N >= K >= 0. + * If SIDE = ChamLeft, M >= K >= 0; + * if SIDE = ChamRight, N >= K >= 0. * * @param[in] IB * The inner-blocking size. IB >= 0. * * @param[in] A - * Dimension: (LDA,M) if SIDE = MorseLeft, - * (LDA,N) if SIDE = MorseRight, + * Dimension: (LDA,M) if SIDE = ChamLeft, + * (LDA,N) if SIDE = ChamRight, * The i-th row must contain the vector which defines the * elementary reflector H(i), for i = 1,2,...,k, as returned by * CORE_zgelqt in the first k rows of its array argument A. @@ -124,39 +124,39 @@ void CORE_zunmlq_quark(Quark *quark) * * @param[in] LDWORK * The dimension of the array WORK. - * If SIDE = MorseLeft, LDWORK >= max(1,N); - * if SIDE = MorseRight, LDWORK >= max(1,M). + * If SIDE = ChamLeft, LDWORK >= max(1,N); + * if SIDE = ChamRight, LDWORK >= max(1,M). * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zunmlq(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_zunmlq(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m, int n, int k, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *C, int Cm, int Cn, int ldc) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *C, int Cm, int Cn, int ldc) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_UNMLQ; QUARK_Insert_Task(opt->quark, CORE_zunmlq_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT | QUARK_REGION_U, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT | QUARK_REGION_U, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), INOUT, sizeof(int), &ldc, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &nb, VALUE, 0); } diff --git a/runtime/quark/codelets/codelet_zunmqr.c b/runtime/quark/codelets/codelet_zunmqr.c index ab89b5ddd6d76f44e5653b95e55fa6faa878baac..11fcb357627177935f6bd472af7f3e7cfee50e3c 100644 --- a/runtime/quark/codelets/codelet_zunmqr.c +++ b/runtime/quark/codelets/codelet_zunmqr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -24,24 +24,24 @@ * */ #include "chameleon_quark.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #include "coreblas/coreblas_z.h" void CORE_zunmqr_quark(Quark *quark) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m; int n; int k; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; quark_unpack_args_14(quark, side, trans, m, n, k, ib, @@ -52,7 +52,7 @@ void CORE_zunmqr_quark(Quark *quark) /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zunmqr overwrites the general complex M-by-N tile C with * @@ -71,12 +71,12 @@ void CORE_zunmqr_quark(Quark *quark) ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : Transpose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : Transpose, apply Q**H. * * @param[in] M * The number of rows of the tile C. M >= 0. @@ -87,8 +87,8 @@ void CORE_zunmqr_quark(Quark *quark) * @param[in] K * The number of elementary reflectors whose product defines * the matrix Q. - * If SIDE = MorseLeft, M >= K >= 0; - * if SIDE = MorseRight, N >= K >= 0. + * If SIDE = ChamLeft, M >= K >= 0; + * if SIDE = ChamRight, N >= K >= 0. * * @param[in] IB * The inner-blocking size. IB >= 0. @@ -101,8 +101,8 @@ void CORE_zunmqr_quark(Quark *quark) * * @param[in] LDA * The leading dimension of the array A. - * If SIDE = MorseLeft, LDA >= max(1,M); - * if SIDE = MorseRight, LDA >= max(1,N). + * If SIDE = ChamLeft, LDA >= max(1,M); + * if SIDE = ChamRight, LDA >= max(1,N). * * @param[in] T * The IB-by-K triangular factor T of the block reflector. @@ -124,39 +124,39 @@ void CORE_zunmqr_quark(Quark *quark) * * @param[in] LDWORK * The dimension of the array WORK. - * If SIDE = MorseLeft, LDWORK >= max(1,N); - * if SIDE = MorseRight, LDWORK >= max(1,M). + * If SIDE = ChamLeft, LDWORK >= max(1,N); + * if SIDE = ChamRight, LDWORK >= max(1,M). * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zunmqr(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_zunmqr(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m, int n, int k, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *C, int Cm, int Cn, int ldc) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *C, int Cm, int Cn, int ldc) { quark_option_t *opt = (quark_option_t*)(options->schedopt); DAG_CORE_UNMQR; QUARK_Insert_Task(opt->quark, CORE_zunmqr_quark, (Quark_Task_Flags*)opt, - sizeof(MORSE_enum), &side, VALUE, - sizeof(MORSE_enum), &trans, VALUE, + sizeof(int), &side, VALUE, + sizeof(int), &trans, VALUE, sizeof(int), &m, VALUE, sizeof(int), &n, VALUE, sizeof(int), &k, VALUE, sizeof(int), &ib, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(A, MORSE_Complex64_t, Am, An), INPUT | QUARK_REGION_L, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), INPUT | QUARK_REGION_L, sizeof(int), &lda, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), INPUT, + sizeof(CHAMELEON_Complex64_t)*ib*nb, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), INPUT, sizeof(int), &ldt, VALUE, - sizeof(MORSE_Complex64_t)*nb*nb, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), INOUT, + sizeof(CHAMELEON_Complex64_t)*nb*nb, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), INOUT, sizeof(int), &ldc, VALUE, - sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH, + sizeof(CHAMELEON_Complex64_t)*ib*nb, NULL, SCRATCH, sizeof(int), &nb, VALUE, 0); } diff --git a/runtime/quark/control/runtime_async.c b/runtime/quark/control/runtime_async.c index 5583e5839d077327d30215fa21f57a0a3153d17a..f4e07e12e156bce3d9e032112f2fe0421449435a 100644 --- a/runtime/quark/control/runtime_async.c +++ b/runtime/quark/control/runtime_async.c @@ -24,52 +24,52 @@ /** * Create a sequence */ -int RUNTIME_sequence_create( MORSE_context_t *morse, - MORSE_sequence_t *sequence ) +int RUNTIME_sequence_create( CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence ) { - sequence->schedopt = (void*)QUARK_Sequence_Create((Quark*)(morse->schedopt)); + sequence->schedopt = (void*)QUARK_Sequence_Create((Quark*)(chamctxt->schedopt)); if (sequence->schedopt == NULL) { - morse_error("MORSE_Sequence_Create", "QUARK_Sequence_Create() failed"); - return MORSE_ERR_OUT_OF_RESOURCES; + chameleon_error("CHAMELEON_Sequence_Create", "QUARK_Sequence_Create() failed"); + return CHAMELEON_ERR_OUT_OF_RESOURCES; } - sequence->status = MORSE_SUCCESS; - return MORSE_SUCCESS; + sequence->status = CHAMELEON_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Destroy a sequence */ -int RUNTIME_sequence_destroy( MORSE_context_t *morse, - MORSE_sequence_t *sequence ) +int RUNTIME_sequence_destroy( CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence ) { - QUARK_Sequence_Destroy( (Quark*)(morse->schedopt), + QUARK_Sequence_Destroy( (Quark*)(chamctxt->schedopt), (Quark_Sequence *)(sequence->schedopt) ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Wait for the completion of a sequence */ -int RUNTIME_sequence_wait( MORSE_context_t *morse, - MORSE_sequence_t *sequence ) +int RUNTIME_sequence_wait( CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence ) { - QUARK_Sequence_Wait( (Quark*)(morse->schedopt), + QUARK_Sequence_Wait( (Quark*)(chamctxt->schedopt), (Quark_Sequence *)(sequence->schedopt) ); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Terminate a sequence */ -void RUNTIME_sequence_flush( MORSE_context_t *morse, - MORSE_sequence_t *sequence, - MORSE_request_t *request, +void RUNTIME_sequence_flush( CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence, + RUNTIME_request_t *request, int status ) { sequence->request = request; sequence->status = status; request->status = status; - QUARK_Sequence_Cancel( (Quark*)(morse), + QUARK_Sequence_Cancel( (Quark*)(chamctxt), (Quark_Sequence *)(sequence->schedopt) ); } diff --git a/runtime/quark/control/runtime_context.c b/runtime/quark/control/runtime_context.c index 8b87d345ff1e30bc5f30bc3abff21afe27ac5c04..e6c387af673af222dd9caee0f1c9583b072cd4f9 100644 --- a/runtime/quark/control/runtime_context.c +++ b/runtime/quark/control/runtime_context.c @@ -23,9 +23,9 @@ /** * Create new context */ -void RUNTIME_context_create( MORSE_context_t *morse ) +void RUNTIME_context_create( CHAM_context_t *chamctxt ) { - morse->scheduler = RUNTIME_SCHED_QUARK; + chamctxt->scheduler = RUNTIME_SCHED_QUARK; /* Will require the static initialization if we want to use it in this code */ return; } @@ -33,23 +33,23 @@ void RUNTIME_context_create( MORSE_context_t *morse ) /** * Clean the context */ -void RUNTIME_context_destroy( MORSE_context_t *morse ) +void RUNTIME_context_destroy( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return; } /** * */ -void RUNTIME_enable( MORSE_enum lever ) +void RUNTIME_enable( int lever ) { switch (lever) { - case MORSE_PROFILING_MODE: + case CHAMELEON_PROFILING_MODE: fprintf(stderr, "Profiling is not available with Quark\n"); break; - case MORSE_BOUND: + case CHAMELEON_BOUND: fprintf(stderr, "Bound computation is not available with Quark\n"); break; default: @@ -61,14 +61,14 @@ void RUNTIME_enable( MORSE_enum lever ) /** * */ -void RUNTIME_disable( MORSE_enum lever ) +void RUNTIME_disable( int lever ) { switch (lever) { - case MORSE_PROFILING_MODE: + case CHAMELEON_PROFILING_MODE: fprintf(stderr, "Profiling is not available with Quark\n"); break; - case MORSE_BOUND: + case CHAMELEON_BOUND: fprintf(stderr, "Bound computation is not available with Quark\n"); break; default: diff --git a/runtime/quark/control/runtime_control.c b/runtime/quark/control/runtime_control.c index 6e3ca134d0bd3718f52b753f8f25810d06e72400..d1cb7729450dd3b8918e909af51550f9b8940f8d 100644 --- a/runtime/quark/control/runtime_control.c +++ b/runtime/quark/control/runtime_control.c @@ -24,21 +24,21 @@ /** * */ -int RUNTIME_init( MORSE_context_t *morse, +int RUNTIME_init( CHAM_context_t *chamctxt, int ncpus, int ncudas, int nthreads_per_worker ) { int hres = 0; if ( ncudas > 0 ) { - morse_warning( "RUNTIME_init_scheduler(quark)", "GPUs are not supported for now"); + chameleon_warning( "RUNTIME_init_scheduler(quark)", "GPUs are not supported for now"); } if ( nthreads_per_worker > 0 ) { - morse_warning( "RUNTIME_init_scheduler(quark)", "Multi-threaded kernels are not supported for now"); + chameleon_warning( "RUNTIME_init_scheduler(quark)", "Multi-threaded kernels are not supported for now"); } - morse->schedopt = (void*)QUARK_New( ncpus ); + chamctxt->schedopt = (void*)QUARK_New( ncpus ); return hres; } @@ -46,18 +46,18 @@ int RUNTIME_init( MORSE_context_t *morse, /** * */ -void RUNTIME_finalize( MORSE_context_t *morse ) +void RUNTIME_finalize( CHAM_context_t *chamctxt ) { - QUARK_Delete((Quark*)(morse->schedopt)); + QUARK_Delete((Quark*)(chamctxt->schedopt)); return; } /** * To suspend the processing of new tasks by workers */ -void RUNTIME_pause( MORSE_context_t *morse ) +void RUNTIME_pause( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return; } @@ -65,43 +65,43 @@ void RUNTIME_pause( MORSE_context_t *morse ) * This is the symmetrical call to RUNTIME_pause, * used to resume the workers polling for new tasks. */ -void RUNTIME_resume( MORSE_context_t *morse ) +void RUNTIME_resume( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return; } /** * Busy-waiting barrier */ -void RUNTIME_barrier( MORSE_context_t *morse ) +void RUNTIME_barrier( CHAM_context_t *chamctxt ) { - QUARK_Barrier((Quark*)(morse->schedopt)); + QUARK_Barrier((Quark*)(chamctxt->schedopt)); } /** * Display a progress information when executing the tasks */ -void RUNTIME_progress( MORSE_context_t *morse ) +void RUNTIME_progress( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return; } /** * Thread rank. */ -int RUNTIME_thread_rank( MORSE_context_t *morse ) +int RUNTIME_thread_rank( CHAM_context_t *chamctxt ) { - return QUARK_Thread_Rank((Quark*)(morse->schedopt)); + return QUARK_Thread_Rank((Quark*)(chamctxt->schedopt)); } /** * Number of threads. */ -int RUNTIME_thread_size( MORSE_context_t *morse ) +int RUNTIME_thread_size( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; /* * TODO: should add a function to Quark to get the number of thread from the * data structure and not from the system function @@ -112,17 +112,17 @@ int RUNTIME_thread_size( MORSE_context_t *morse ) /** * The process rank */ -int RUNTIME_comm_rank( MORSE_context_t *morse ) +int RUNTIME_comm_rank( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return 0; } /** * This returns the size of the distributed computation */ -int RUNTIME_comm_size( MORSE_context_t *morse ) +int RUNTIME_comm_size( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return 1; } diff --git a/runtime/quark/control/runtime_descriptor.c b/runtime/quark/control/runtime_descriptor.c index ffc4f2e7e4165bb0b931540a98bef0bead20b3d7..e03cf447ed3d28c566883e4b613249e3e9d5d54f 100644 --- a/runtime/quark/control/runtime_descriptor.c +++ b/runtime/quark/control/runtime_descriptor.c @@ -40,33 +40,33 @@ void RUNTIME_free( void *ptr, return; } -void RUNTIME_desc_create( MORSE_desc_t *desc ) +void RUNTIME_desc_create( CHAM_desc_t *desc ) { (void)desc; return; } -void RUNTIME_desc_destroy( MORSE_desc_t *desc ) +void RUNTIME_desc_destroy( CHAM_desc_t *desc ) { (void)desc; return; } -int RUNTIME_desc_acquire( const MORSE_desc_t *desc ) +int RUNTIME_desc_acquire( const CHAM_desc_t *desc ) { (void)desc; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } -int RUNTIME_desc_release( const MORSE_desc_t *desc ) +int RUNTIME_desc_release( const CHAM_desc_t *desc ) { (void)desc; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } void -RUNTIME_desc_flush( const MORSE_desc_t *desc, - const MORSE_sequence_t *sequence ) +RUNTIME_desc_flush( const CHAM_desc_t *desc, + const RUNTIME_sequence_t *sequence ) { (void)desc; (void)sequence; @@ -81,8 +81,8 @@ RUNTIME_flush( ) } void -RUNTIME_data_flush( const MORSE_sequence_t *sequence, - const MORSE_desc_t *A, int Am, int An ) +RUNTIME_data_flush( const RUNTIME_sequence_t *sequence, + const CHAM_desc_t *A, int Am, int An ) { (void)sequence; (void)A; @@ -92,14 +92,14 @@ RUNTIME_data_flush( const MORSE_sequence_t *sequence, } #if defined(CHAMELEON_USE_MIGRATE) -void RUNTIME_data_migrate( const MORSE_sequence_t *sequence, - const MORSE_desc_t *A, int Am, int An, int new_rank ) +void RUNTIME_data_migrate( const RUNTIME_sequence_t *sequence, + const CHAM_desc_t *A, int Am, int An, int new_rank ) { (void)sequence; (void)A; (void)Am; (void)An; (void)new_rank; } #endif -void *RUNTIME_data_getaddr( const MORSE_desc_t *desc, int m, int n ) +void *RUNTIME_data_getaddr( const CHAM_desc_t *desc, int m, int n ) { return desc->get_blkaddr( desc, m, n ); } diff --git a/runtime/quark/control/runtime_options.c b/runtime/quark/control/runtime_options.c index 5d6eb4c3c61d48242d9951a956aa8c2d5f5fc501..fcdae9343e432e04ad6ca36944fd879fc8856623 100644 --- a/runtime/quark/control/runtime_options.c +++ b/runtime/quark/control/runtime_options.c @@ -21,8 +21,8 @@ #include <stdlib.h> #include "chameleon_quark.h" -void RUNTIME_options_init( MORSE_option_t *options, MORSE_context_t *morse, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +void RUNTIME_options_init( RUNTIME_option_t *options, CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { /* Create the task flag */ quark_option_t *qopt = (quark_option_t*) malloc(sizeof(quark_option_t)); @@ -36,11 +36,9 @@ void RUNTIME_options_init( MORSE_option_t *options, MORSE_context_t *morse, /* Initialize options */ options->sequence = sequence; options->request = request; - options->profiling = MORSE_PROFILING == MORSE_TRUE; - options->parallel = MORSE_PARALLEL == MORSE_TRUE; - options->priority = MORSE_PRIORITY_MIN; - - options->nb = MORSE_NB; + options->profiling = CHAMELEON_PROFILING == CHAMELEON_TRUE; + options->parallel = CHAMELEON_PARALLEL == CHAMELEON_TRUE; + options->priority = RUNTIME_PRIORITY_MIN; options->ws_wsize = 0; options->ws_hsize = 0; @@ -48,7 +46,7 @@ void RUNTIME_options_init( MORSE_option_t *options, MORSE_context_t *morse, options->ws_host = NULL; /* quark in options */ - qopt->quark = (Quark*)(morse->schedopt); + qopt->quark = (Quark*)(chamctxt->schedopt); options->schedopt = qopt; QUARK_Task_Flag_Set((Quark_Task_Flags*)qopt, TASK_SEQUENCE, (intptr_t)(sequence->schedopt)); @@ -56,25 +54,25 @@ void RUNTIME_options_init( MORSE_option_t *options, MORSE_context_t *morse, return; } -void RUNTIME_options_finalize( MORSE_option_t *options, MORSE_context_t *morse ) +void RUNTIME_options_finalize( RUNTIME_option_t *options, CHAM_context_t *chamctxt ) { /* we can free the task_flags without waiting for quark because they should have been copied for every task */ - (void)morse; + (void)chamctxt; free( options->schedopt ); return; } -int RUNTIME_options_ws_alloc( MORSE_option_t *options, size_t worker_size, size_t host_size ) +int RUNTIME_options_ws_alloc( RUNTIME_option_t *options, size_t worker_size, size_t host_size ) { options->ws_wsize = worker_size; options->ws_hsize = host_size; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } -int RUNTIME_options_ws_free( MORSE_option_t *options ) +int RUNTIME_options_ws_free( RUNTIME_option_t *options ) { options->ws_wsize = 0; options->ws_hsize = 0; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } diff --git a/runtime/quark/control/runtime_profiling.c b/runtime/quark/control/runtime_profiling.c index a988af8d92b210db0af03242d1d8cf6a1b07077a..55400cd19dd1b2dfacf1c60b02499a6db6ffca9a 100644 --- a/runtime/quark/control/runtime_profiling.c +++ b/runtime/quark/control/runtime_profiling.c @@ -18,7 +18,7 @@ * */ #include "chameleon_quark.h" -#include "chameleon/chameleon_timer.h" +#include "chameleon/timer.h" double RUNTIME_get_time(){ return CHAMELEON_timer(); @@ -26,44 +26,44 @@ double RUNTIME_get_time(){ void RUNTIME_start_profiling() { - morse_warning("RUNTIME_start_profiling()", "FxT profiling is not available with Quark\n"); + chameleon_warning("RUNTIME_start_profiling()", "FxT profiling is not available with Quark\n"); } void RUNTIME_stop_profiling() { - morse_warning("RUNTIME_stop_profiling()", "FxT profiling is not available with Quark\n"); + chameleon_warning("RUNTIME_stop_profiling()", "FxT profiling is not available with Quark\n"); } void RUNTIME_start_stats() { - morse_warning("RUNTIME_start_stats()", "pruning stats are not available with Quark\n"); + chameleon_warning("RUNTIME_start_stats()", "pruning stats are not available with Quark\n"); } void RUNTIME_stop_stats() { - morse_warning("RUNTIME_stop_stats()", "pruning stats are not available with Quark\n"); + chameleon_warning("RUNTIME_stop_stats()", "pruning stats are not available with Quark\n"); } void RUNTIME_schedprofile_display(void) { - morse_warning("RUNTIME_schedprofile_display(quark)", "Scheduler profiling is not available with Quark\n"); + chameleon_warning("RUNTIME_schedprofile_display(quark)", "Scheduler profiling is not available with Quark\n"); } void RUNTIME_kernelprofile_display(void) { - morse_warning("RUNTIME_kernelprofile_display(quark)", "Kernel profiling is not available with Quark\n"); + chameleon_warning("RUNTIME_kernelprofile_display(quark)", "Kernel profiling is not available with Quark\n"); } /** * Set iteration numbers for traces */ -void RUNTIME_iteration_push( MORSE_context_t *morse, unsigned long iteration ) +void RUNTIME_iteration_push( CHAM_context_t *chamctxt, unsigned long iteration ) { - (void)morse; (void)iteration; + (void)chamctxt; (void)iteration; return; } -void RUNTIME_iteration_pop( MORSE_context_t *morse ) +void RUNTIME_iteration_pop( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return; } diff --git a/runtime/quark/control/runtime_zlocality.c b/runtime/quark/control/runtime_zlocality.c index 7194444cfa6f69223344728f5f042fda66a05d0f..dc93451d01b5a27867dfd2170767604a0f7f169e 100644 --- a/runtime/quark/control/runtime_zlocality.c +++ b/runtime/quark/control/runtime_zlocality.c @@ -9,7 +9,7 @@ * *** * - * @brief Chameleon Quark MORSE_Complex64_t kernel locality management + * @brief Chameleon Quark CHAMELEON_Complex64_t kernel locality management * * @version 1.0.0 * @author Vijay Joshi @@ -22,23 +22,23 @@ void RUNTIME_zlocality_allrestrict( uint32_t where ) { (void)where; - morse_warning("RUNTIME_zlocality_allrestrict(quark)", "Kernel locality cannot be specified with Quark"); + chameleon_warning("RUNTIME_zlocality_allrestrict(quark)", "Kernel locality cannot be specified with Quark"); } -void RUNTIME_zlocality_onerestrict( MORSE_kernel_t kernel, uint32_t where ) +void RUNTIME_zlocality_onerestrict( cham_tasktype_t kernel, uint32_t where ) { (void)kernel; (void)where; - morse_warning("RUNTIME_zlocality_onerestrict(quark)", "Kernel locality cannot be specified with Quark"); + chameleon_warning("RUNTIME_zlocality_onerestrict(quark)", "Kernel locality cannot be specified with Quark"); } void RUNTIME_zlocality_allrestore( ) { - morse_warning("RUNTIME_zlocality_allrestore(quark)", "Kernel locality cannot be specified with Quark"); + chameleon_warning("RUNTIME_zlocality_allrestore(quark)", "Kernel locality cannot be specified with Quark"); } -void RUNTIME_zlocality_onerestore( MORSE_kernel_t kernel ) +void RUNTIME_zlocality_onerestore( cham_tasktype_t kernel ) { (void)kernel; - morse_warning("RUNTIME_zlocality_onerestore(quark)", "Kernel locality cannot be specified with Quark"); + chameleon_warning("RUNTIME_zlocality_onerestore(quark)", "Kernel locality cannot be specified with Quark"); } diff --git a/runtime/quark/control/runtime_zprofiling.c b/runtime/quark/control/runtime_zprofiling.c index eab3fb23f53cd1a25a41d6bb97bfea75e896db60..d3d5e2e0e06fea766fa7f285866eddbff3647fcd 100644 --- a/runtime/quark/control/runtime_zprofiling.c +++ b/runtime/quark/control/runtime_zprofiling.c @@ -9,7 +9,7 @@ * *** * - * @brief Chameleon Quark MORSE_Complex64_t kernel progiling + * @brief Chameleon Quark CHAMELEON_Complex64_t kernel progiling * * @version 1.0.0 * @author Mathieu Faverge @@ -23,12 +23,12 @@ void RUNTIME_zdisplay_allprofile() { - morse_warning("RUNTIME_zdisplay_allprofile(quark)", "Profiling is not available with Quark"); + chameleon_warning("RUNTIME_zdisplay_allprofile(quark)", "Profiling is not available with Quark"); } -void RUNTIME_zdisplay_oneprofile( MORSE_kernel_t kernel ) +void RUNTIME_zdisplay_oneprofile( cham_tasktype_t kernel ) { (void)kernel; - morse_warning("RUNTIME_zdisplay_oneprofile(quark)", "Profiling is not available with Quark\n"); + chameleon_warning("RUNTIME_zdisplay_oneprofile(quark)", "Profiling is not available with Quark\n"); } diff --git a/runtime/quark/include/chameleon_quark.h b/runtime/quark/include/chameleon_quark.h index 673f7bf6c93c583e86f0d03b16ae4606e7be2339..65662677e4c631cb5152c137217cfc12e680739a 100644 --- a/runtime/quark/include/chameleon_quark.h +++ b/runtime/quark/include/chameleon_quark.h @@ -17,8 +17,8 @@ * @date 2011-06-01 * */ -#ifndef _MORSE_QUARK_H_ -#define _MORSE_QUARK_H_ +#ifndef _CHAMELEON_QUARK_H_ +#define _CHAMELEON_QUARK_H_ #include <quark.h> #include "coreblas.h" @@ -48,4 +48,4 @@ typedef struct quark_option_s { #define RUNTIME_END_ACCESS_DECLARATION -#endif /* _MORSE_QUARK_H_ */ +#endif /* _CHAMELEON_QUARK_H_ */ diff --git a/runtime/quark/include/core_blas_dag.h b/runtime/quark/include/core_blas_dag.h index e5fed8c3a7d386f3213d9d5cfa423736f22cffa5..740d7b459b242c234e301065f6049ddb8c1739e5 100644 --- a/runtime/quark/include/core_blas_dag.h +++ b/runtime/quark/include/core_blas_dag.h @@ -17,8 +17,8 @@ * @date 2010-11-15 * */ -#ifndef _MORSE_CORE_BLAS_DAG_H_ -#define _MORSE_CORE_BLAS_DAG_H_ +#ifndef _CHAMELEON_CORE_BLAS_DAG_H_ +#define _CHAMELEON_CORE_BLAS_DAG_H_ #if defined(QUARK_DOT_DAG_ENABLE) /* || 1 */ #define DAG_SET_PROPERTIES( _name, _color ) \ @@ -83,4 +83,4 @@ #define DAG_CORE_UNMLQ DAG_SET_PROPERTIES( "UNMLQ" , "cyan" ) #define DAG_CORE_UNMQR DAG_SET_PROPERTIES( "UNMQR" , "cyan" ) -#endif /* _MORSE_CORE_BLAS_DAG_H_ */ +#endif /* _CHAMELEON_CORE_BLAS_DAG_H_ */ diff --git a/runtime/starpu/codelets/codelet_zasum.c b/runtime/starpu/codelets/codelet_zasum.c index 58e0f796f82310db4c8e4de7bc7aae5d68e5d543..266c42a0010472f73a8b94f0d498b8f0e0e0b07f 100644 --- a/runtime/starpu/codelets/codelet_zasum.c +++ b/runtime/starpu/codelets/codelet_zasum.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -22,26 +22,26 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_dzasum(const MORSE_option_t *options, - MORSE_enum storev, MORSE_enum uplo, int M, int N, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_dzasum(const RUNTIME_option_t *options, + cham_store_t storev, cham_uplo_t uplo, int M, int N, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn) { struct starpu_codelet *codelet = &cl_zasum; void (*callback)(void*) = options->profiling ? cl_zasum_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &storev, sizeof(MORSE_enum), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &storev, sizeof(int), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &M, sizeof(int), STARPU_VALUE, &N, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_RW, RTBLKADDR(B, double, Bm, Bn), STARPU_PRIORITY, options->priority, @@ -56,15 +56,15 @@ void MORSE_TASK_dzasum(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_dzasum_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum storev; - MORSE_enum uplo; + cham_store_t storev; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *work; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); work = (double *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &storev, &uplo, &M, &N, &lda); CORE_dzasum(storev, uplo, M, N, A, lda, work); diff --git a/runtime/starpu/codelets/codelet_zaxpy.c b/runtime/starpu/codelets/codelet_zaxpy.c index c3133b8d0996e874bdf59ff5642c7b88816cc4a3..231cbef4afd8e32e8e5c4b9df0c325e1f9df4e66 100644 --- a/runtime/starpu/codelets/codelet_zaxpy.c +++ b/runtime/starpu/codelets/codelet_zaxpy.c @@ -20,26 +20,26 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_zaxpy(const MORSE_option_t *options, - int M, MORSE_Complex64_t alpha, - const MORSE_desc_t *A, int Am, int An, int incA, - const MORSE_desc_t *B, int Bm, int Bn, int incB) +void INSERT_TASK_zaxpy(const RUNTIME_option_t *options, + int M, CHAMELEON_Complex64_t alpha, + const CHAM_desc_t *A, int Am, int An, int incA, + const CHAM_desc_t *B, int Bm, int Bn, int incB) { struct starpu_codelet *codelet = &cl_zaxpy; void (*callback)(void*) = options->profiling ? cl_zaxpy_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &M, sizeof(int), - STARPU_VALUE, alpha, sizeof(MORSE_Complex64_t), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &incA, sizeof(int), - STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_RW, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &incB, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -54,14 +54,14 @@ void MORSE_TASK_zaxpy(const MORSE_option_t *options, static void cl_zaxpy_cpu_func(void *descr[], void *cl_arg) { int M; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int incA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int incB; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &M, &alpha, &incA, &incB); CORE_zaxpy(M, alpha, A, incA, B, incB); } diff --git a/runtime/starpu/codelets/codelet_zbuild.c b/runtime/starpu/codelets/codelet_zbuild.c index 70e3a664f7f676be53f4bfa88a147ece4bd8ce5e..0d397b95e77330fff0d9fe486ab6fee727f0b820 100644 --- a/runtime/starpu/codelets/codelet_zbuild.c +++ b/runtime/starpu/codelets/codelet_zbuild.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Piotr Luszczek * @author Pierre Lemarinier * @author Mathieu Faverge @@ -27,8 +27,8 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_zbuild( const MORSE_option_t *options, - const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zbuild( const RUNTIME_option_t *options, + const CHAM_desc_t *A, int Am, int An, int lda, void *user_data, void* user_build_callback ) { @@ -36,9 +36,9 @@ void MORSE_TASK_zbuild( const MORSE_option_t *options, void (*callback)(void*) = options->profiling ? cl_zbuild_callback : NULL; int row_min, row_max, col_min, col_max; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_W(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_W(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; row_min = Am*A->mb ; row_max = Am == A->mt-1 ? A->m-1 : row_min+A->mb-1 ; @@ -50,7 +50,7 @@ void MORSE_TASK_zbuild( const MORSE_option_t *options, STARPU_VALUE, &row_max, sizeof(int), STARPU_VALUE, &col_min, sizeof(int), STARPU_VALUE, &col_max, sizeof(int), - STARPU_W, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_W, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &user_data, sizeof(void*), STARPU_VALUE, &user_build_callback, sizeof(void*), @@ -66,13 +66,13 @@ void MORSE_TASK_zbuild( const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zbuild_cpu_func(void *descr[], void *cl_arg) { - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int ld; void *user_data; void (*user_build_callback)(int row_min, int row_max, int col_min, int col_max, void *buffer, int ld, void *user_data) ; int row_min, row_max, col_min, col_max; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &row_min, &row_max, &col_min, &col_max, &ld, &user_data, &user_build_callback ); /* The callback 'user_build_callback' is expected to build the block of matrix [row_min, row_max] x [col_min, col_max] diff --git a/runtime/starpu/codelets/codelet_zgeadd.c b/runtime/starpu/codelets/codelet_zgeadd.c index 15f174a6542efb6937c7589be263ffa8f59b61aa..d6931853f9d7ffac23f227ae671d9271c7136454 100644 --- a/runtime/starpu/codelets/codelet_zgeadd.c +++ b/runtime/starpu/codelets/codelet_zgeadd.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -27,9 +27,9 @@ /** ****************************************************************************** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * - * MORSE_TASK_zgeadd adds two general matrices together as in PBLAS pzgeadd. + * INSERT_TASK_zgeadd adds two general matrices together as in PBLAS pzgeadd. * * B <- alpha * op(A) + beta * B, * @@ -40,9 +40,9 @@ * @param[in] trans * Specifies whether the matrix A is non-transposed, transposed, or * conjugate transposed - * = MorseNoTrans: op(A) = A - * = MorseTrans: op(A) = A' - * = MorseConjTrans: op(A) = conj(A') + * = ChamNoTrans: op(A) = A + * = ChamTrans: op(A) = A' + * = ChamConjTrans: op(A) = conj(A') * * @param[in] M * Number of rows of the matrices op(A) and B. @@ -54,12 +54,12 @@ * Scalar factor of A. * * @param[in] A - * Matrix of size LDA-by-N, if trans = MorseNoTrans, LDA-by-M + * Matrix of size LDA-by-N, if trans = ChamNoTrans, LDA-by-M * otherwise. * * @param[in] LDA * Leading dimension of the array A. LDA >= max(1,k), with k=M, if - * trans = MorseNoTrans, and k=N otherwise. + * trans = ChamNoTrans, and k=N otherwise. * * @param[in] beta * Scalar factor of B. @@ -74,33 +74,33 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zgeadd(const MORSE_option_t *options, - MORSE_enum trans, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t beta, const MORSE_desc_t *B, int Bm, int Bn, int ldb) +void INSERT_TASK_zgeadd(const RUNTIME_option_t *options, + cham_trans_t trans, int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *B, int Bm, int Bn, int ldb) { struct starpu_codelet *codelet = &cl_zgeadd; void (*callback)(void*) = options->profiling ? cl_zgeadd_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_VALUE, &beta, sizeof(MORSE_Complex64_t), - STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_VALUE, &beta, sizeof(CHAMELEON_Complex64_t), + STARPU_RW, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -116,18 +116,18 @@ void MORSE_TASK_zgeadd(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zgeadd_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum trans; + cham_trans_t trans; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t beta; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *B; int LDB; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &trans, &M, &N, &alpha, &LDA, &beta, &LDB); CORE_zgeadd(trans, M, N, alpha, A, LDA, beta, B, LDB); return; @@ -136,7 +136,7 @@ static void cl_zgeadd_cpu_func(void *descr[], void *cl_arg) #ifdef CHAMELEON_USE_CUBLAS_V2 static void cl_zgeadd_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum trans; + cham_trans_t trans; int M; int N; cuDoubleComplex alpha; diff --git a/runtime/starpu/codelets/codelet_zgelqt.c b/runtime/starpu/codelets/codelet_zgelqt.c index a98b6c7847433eff190e9aa1a12ea83fb9e6bba1..d8eefe33a5cf890dbf106250b1e3de5fa10f1d22 100644 --- a/runtime/starpu/codelets/codelet_zgelqt.c +++ b/runtime/starpu/codelets/codelet_zgelqt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgelqt - computes a LQ factorization of a complex M-by-N tile A: A = L * Q. * @@ -83,39 +83,39 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zgelqt(const MORSE_option_t *options, +void INSERT_TASK_zgelqt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { (void)nb; struct starpu_codelet *codelet = &cl_zgelqt; void (*callback)(void*) = options->profiling ? cl_zgelqt_callback : NULL; - MORSE_starpu_ws_t *h_work = (MORSE_starpu_ws_t*)(options->ws_host); + CHAMELEON_starpu_ws_t *h_work = (CHAMELEON_starpu_ws_t*)(options->ws_host); - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A, Am, An); - MORSE_ACCESS_W(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_ACCESS_W(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_W, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_W, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), /* max( nb * (ib+1), ib * (ib+nb) ) */ STARPU_SCRATCH, options->ws_worker, /* /\* ib*n + 3*ib*ib + max(m,n) *\/ */ - STARPU_VALUE, &h_work, sizeof(MORSE_starpu_ws_t *), + STARPU_VALUE, &h_work, sizeof(CHAMELEON_starpu_ws_t *), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, #if defined(CHAMELEON_CODELETS_HAVE_NAME) @@ -128,19 +128,19 @@ void MORSE_TASK_zgelqt(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zgelqt_cpu_func(void *descr[], void *cl_arg) { - MORSE_starpu_ws_t *h_work; + CHAMELEON_starpu_ws_t *h_work; int m; int n; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU, *WORK; + CHAMELEON_Complex64_t *TAU, *WORK; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - TAU = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); /* max(m,n) + ib*n */ + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + TAU = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); /* max(m,n) + ib*n */ starpu_codelet_unpack_args(cl_arg, &m, &n, &ib, &lda, &ldt, &h_work); diff --git a/runtime/starpu/codelets/codelet_zgemm.c b/runtime/starpu/codelets/codelet_zgemm.c index 56445309d66f1591da48dceb4690116a5c3f860c..0399a316baadbbb0b73608daee98eaf6fd804466 100644 --- a/runtime/starpu/codelets/codelet_zgemm.c +++ b/runtime/starpu/codelets/codelet_zgemm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,40 +28,40 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zgemm(const MORSE_option_t *options, - MORSE_enum transA, int transB, +void INSERT_TASK_zgemm(const RUNTIME_option_t *options, + cham_trans_t transA, cham_trans_t transB, int m, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { (void)nb; struct starpu_codelet *codelet = &cl_zgemm; void (*callback)(void*) = options->profiling ? cl_zgemm_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_R(B, Bm, Bn); - MORSE_ACCESS_RW(C, Cm, Cn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_R(B, Bm, Bn); + CHAMELEON_ACCESS_RW(C, Cm, Cn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &transA, sizeof(MORSE_enum), - STARPU_VALUE, &transB, sizeof(MORSE_enum), + STARPU_VALUE, &transA, sizeof(int), + STARPU_VALUE, &transB, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &k, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_R, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_R, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), - STARPU_VALUE, &beta, sizeof(MORSE_Complex64_t), - STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), + STARPU_VALUE, &beta, sizeof(CHAMELEON_Complex64_t), + STARPU_RW, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), STARPU_VALUE, &ldc, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -74,23 +74,23 @@ void MORSE_TASK_zgemm(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zgemm_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum transA; - MORSE_enum transB; + cham_trans_t transA; + cham_trans_t transB; int m; int n; int k; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int ldc; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - C = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + C = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); starpu_codelet_unpack_args(cl_arg, &transA, &transB, &m, &n, &k, &alpha, &lda, &ldb, &beta, &ldc); CORE_zgemm(transA, transB, m, n, k, @@ -102,8 +102,8 @@ static void cl_zgemm_cpu_func(void *descr[], void *cl_arg) #ifdef CHAMELEON_USE_CUDA static void cl_zgemm_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum transA; - MORSE_enum transB; + cham_trans_t transA; + cham_trans_t transB; int m; int n; int k; diff --git a/runtime/starpu/codelets/codelet_zgeqrt.c b/runtime/starpu/codelets/codelet_zgeqrt.c index 148e885128bf89c139dfbd8880ad003fccd7f14d..e2be4bfcf2e7decd3c150fce1fdcdd4a58c1a536 100644 --- a/runtime/starpu/codelets/codelet_zgeqrt.c +++ b/runtime/starpu/codelets/codelet_zgeqrt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgeqrt computes a QR factorization of a complex M-by-N tile A: * A = Q * R. @@ -84,39 +84,39 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zgeqrt(const MORSE_option_t *options, +void INSERT_TASK_zgeqrt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { (void)nb; struct starpu_codelet *codelet = &cl_zgeqrt; void (*callback)(void*) = options->profiling ? cl_zgeqrt_callback : NULL; - MORSE_starpu_ws_t *h_work = (MORSE_starpu_ws_t*)(options->ws_host); + CHAMELEON_starpu_ws_t *h_work = (CHAMELEON_starpu_ws_t*)(options->ws_host); - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A, Am, An); - MORSE_ACCESS_W(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_ACCESS_W(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_W, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_W, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), /* max( nb * (ib+1), ib * (ib+nb) ) */ STARPU_SCRATCH, options->ws_worker, /* ib * (m+3*ib) + max(m,n) */ - STARPU_VALUE, &h_work, sizeof(MORSE_starpu_ws_t *), + STARPU_VALUE, &h_work, sizeof(CHAMELEON_starpu_ws_t *), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, #if defined(CHAMELEON_CODELETS_HAVE_NAME) @@ -129,19 +129,19 @@ void MORSE_TASK_zgeqrt(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zgeqrt_cpu_func(void *descr[], void *cl_arg) { - MORSE_starpu_ws_t *h_work; + CHAMELEON_starpu_ws_t *h_work; int m; int n; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU, *WORK; + CHAMELEON_Complex64_t *TAU, *WORK; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - TAU = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); /* max(m,n) + n * ib */ + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + TAU = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); /* max(m,n) + n * ib */ starpu_codelet_unpack_args(cl_arg, &m, &n, &ib, &lda, &ldt, &h_work); diff --git a/runtime/starpu/codelets/codelet_zgessm.c b/runtime/starpu/codelets/codelet_zgessm.c index 64503c8eff82a107890690888d0477bc9c950d42..e6927322d5e9a5cbebb72acf082733d6a9dd86e3 100644 --- a/runtime/starpu/codelets/codelet_zgessm.c +++ b/runtime/starpu/codelets/codelet_zgessm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgessm applies the factors L computed by CORE_zgetrf_incpiv to * a complex M-by-N tile A. @@ -67,27 +67,27 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * */ -void MORSE_TASK_zgessm(const MORSE_option_t *options, +void INSERT_TASK_zgessm(const RUNTIME_option_t *options, int m, int n, int k, int ib, int nb, int *IPIV, - const MORSE_desc_t *L, int Lm, int Ln, int ldl, - const MORSE_desc_t *D, int Dm, int Dn, int ldd, - const MORSE_desc_t *A, int Am, int An, int lda) + const CHAM_desc_t *L, int Lm, int Ln, int ldl, + const CHAM_desc_t *D, int Dm, int Dn, int ldd, + const CHAM_desc_t *A, int Am, int An, int lda) { (void)nb; struct starpu_codelet *codelet = &cl_zgessm; void (*callback)(void*) = options->profiling ? cl_zgessm_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(L, Lm, Ln); - MORSE_ACCESS_R(D, Dm, Dn); - MORSE_ACCESS_RW(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(L, Lm, Ln); + CHAMELEON_ACCESS_R(D, Dm, Dn); + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), @@ -96,11 +96,11 @@ void MORSE_TASK_zgessm(const MORSE_option_t *options, STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &ib, sizeof(int), STARPU_VALUE, &IPIV, sizeof(int*), - STARPU_R, RTBLKADDR(L, MORSE_Complex64_t, Lm, Ln), + STARPU_R, RTBLKADDR(L, CHAMELEON_Complex64_t, Lm, Ln), STARPU_VALUE, &ldl, sizeof(int), - STARPU_R, RTBLKADDR(D, MORSE_Complex64_t, Dm, Dn), + STARPU_R, RTBLKADDR(D, CHAMELEON_Complex64_t, Dm, Dn), STARPU_VALUE, &ldd, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -120,13 +120,13 @@ static void cl_zgessm_cpu_func(void *descr[], void *cl_arg) int ib; int *IPIV; int ldl; - MORSE_Complex64_t *D; + CHAMELEON_Complex64_t *D; int ldd; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - D = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + D = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); starpu_codelet_unpack_args(cl_arg, &m, &n, &k, &ib, &IPIV, &ldl, &ldd, &lda); CORE_zgessm(m, n, k, ib, IPIV, D, ldd, A, lda); } diff --git a/runtime/starpu/codelets/codelet_zgessq.c b/runtime/starpu/codelets/codelet_zgessq.c index c4c2d6065b70a19a6283f800629ddbf3ca51f6fc..55a41d89da466be1b8b776fd706cbbc2a510dd04 100644 --- a/runtime/starpu/codelets/codelet_zgessq.c +++ b/runtime/starpu/codelets/codelet_zgessq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -22,24 +22,24 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_zgessq( const MORSE_option_t *options, +void INSERT_TASK_zgessq( const RUNTIME_option_t *options, int m, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) { struct starpu_codelet *codelet = &cl_zgessq; void (*callback)(void*) = options->profiling ? cl_zgessq_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(SCALESUMSQ, SCALESUMSQm, SCALESUMSQn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(SCALESUMSQ, SCALESUMSQm, SCALESUMSQn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_RW, RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn), STARPU_PRIORITY, options->priority, @@ -56,11 +56,11 @@ static void cl_zgessq_cpu_func(void *descr[], void *cl_arg) { int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *SCALESUMSQ; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); SCALESUMSQ = (double *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &m, &n, &lda); CORE_zgessq( m, n, A, lda, &SCALESUMSQ[0], &SCALESUMSQ[1] ); diff --git a/runtime/starpu/codelets/codelet_zgetrf.c b/runtime/starpu/codelets/codelet_zgetrf.c index 11bda33e04038937702abae98341f79f7a391c3d..74ed2c3e604f687c300b1f63217efac71540adf2 100644 --- a/runtime/starpu/codelets/codelet_zgetrf.c +++ b/runtime/starpu/codelets/codelet_zgetrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -24,28 +24,28 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_zgetrf(const MORSE_option_t *options, - int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - int *IPIV, - MORSE_bool check_info, int iinfo) +void INSERT_TASK_zgetrf( const RUNTIME_option_t *options, + int m, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + int *IPIV, + cham_bool_t check_info, int iinfo ) { (void)nb; struct starpu_codelet *codelet = &cl_zgetrf; void (*callback)(void*) = options->profiling ? cl_zgetrf_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &IPIV, sizeof(int*), - STARPU_VALUE, &check_info, sizeof(MORSE_bool), + STARPU_VALUE, &check_info, sizeof(cham_bool_t), STARPU_VALUE, &iinfo, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -61,14 +61,14 @@ static void cl_zgetrf_cpu_func(void *descr[], void *cl_arg) { int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int *IPIV; - MORSE_bool check_info; + cham_bool_t check_info; int iinfo; int info = 0; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &m, &n, &lda, &IPIV, &check_info, &iinfo); CORE_zgetrf( m, n, A, lda, IPIV, &info ); } diff --git a/runtime/starpu/codelets/codelet_zgetrf_incpiv.c b/runtime/starpu/codelets/codelet_zgetrf_incpiv.c index 4186bc2d51f424c36da3e9885ae8aa6e1013dca1..4c701b35cd8379f66f41425c4e4fc787469b837a 100644 --- a/runtime/starpu/codelets/codelet_zgetrf_incpiv.c +++ b/runtime/starpu/codelets/codelet_zgetrf_incpiv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgetrf_incpiv computes an LU factorization of a general M-by-N tile A * using partial pivoting with row interchanges. @@ -72,7 +72,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * \retval >0 if INFO = k, U(k,k) is exactly zero. The factorization * has been completed, but the factor U is exactly @@ -81,38 +81,38 @@ * */ -void MORSE_TASK_zgetrf_incpiv(const MORSE_option_t *options, +void INSERT_TASK_zgetrf_incpiv(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *L, int Lm, int Ln, int ldl, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *L, int Lm, int Ln, int ldl, int *IPIV, - MORSE_bool check_info, int iinfo) + cham_bool_t check_info, int iinfo) { (void)nb; struct starpu_codelet *codelet = &cl_zgetrf_incpiv; void (*callback)(void*) = options->profiling ? cl_zgetrf_incpiv_callback : NULL; - MORSE_starpu_ws_t *h_work = (MORSE_starpu_ws_t*)(options->ws_host); + CHAMELEON_starpu_ws_t *h_work = (CHAMELEON_starpu_ws_t*)(options->ws_host); - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A, Am, An); - MORSE_ACCESS_W(L, Lm, Ln); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_ACCESS_W(L, Lm, Ln); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_W, RTBLKADDR(L, MORSE_Complex64_t, Lm, Ln), + STARPU_W, RTBLKADDR(L, CHAMELEON_Complex64_t, Lm, Ln), STARPU_VALUE, &ldl, sizeof(int), STARPU_VALUE, &IPIV, sizeof(int*), - STARPU_VALUE, &check_info, sizeof(MORSE_bool), + STARPU_VALUE, &check_info, sizeof(cham_bool_t), STARPU_VALUE, &iinfo, sizeof(int), STARPU_SCRATCH, options->ws_worker, - STARPU_VALUE, &h_work, sizeof(MORSE_starpu_ws_t *), + STARPU_VALUE, &h_work, sizeof(CHAMELEON_starpu_ws_t *), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, #if defined(CHAMELEON_CODELETS_HAVE_NAME) @@ -125,19 +125,19 @@ void MORSE_TASK_zgetrf_incpiv(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zgetrf_incpiv_cpu_func(void *descr[], void *cl_arg) { - MORSE_starpu_ws_t *h_work; + CHAMELEON_starpu_ws_t *h_work; int m; int n; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda, ldl; int *IPIV; - MORSE_bool check_info; + cham_bool_t check_info; int iinfo; int info = 0; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &m, &n, &ib, &lda, &ldl, &IPIV, &check_info, &iinfo, &h_work); CORE_zgetrf_incpiv(m, n, ib, A, lda, IPIV, &info); diff --git a/runtime/starpu/codelets/codelet_zgetrf_nopiv.c b/runtime/starpu/codelets/codelet_zgetrf_nopiv.c index 16967e714afc31cc560d43adfd631263b97d816e..95037a66f484457833c8984950c83f210655d52b 100644 --- a/runtime/starpu/codelets/codelet_zgetrf_nopiv.c +++ b/runtime/starpu/codelets/codelet_zgetrf_nopiv.c @@ -25,7 +25,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zgetrf_nopiv computes an LU factorization of a general diagonal * dominant M-by-N matrix A witout pivoting. @@ -62,7 +62,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * \retval >0 if INFO = k, U(k,k) is exactly zero. The factorization * has been completed, but the factor U is exactly @@ -71,25 +71,25 @@ * */ -void MORSE_TASK_zgetrf_nopiv(const MORSE_option_t *options, +void INSERT_TASK_zgetrf_nopiv(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo) { (void)nb; struct starpu_codelet *codelet = &cl_zgetrf_nopiv; void (*callback)(void*) = options->profiling ? cl_zgetrf_nopiv_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &iinfo, sizeof(int), STARPU_PRIORITY, options->priority, @@ -109,12 +109,12 @@ static void cl_zgetrf_nopiv_cpu_func(void *descr[], void *cl_arg) int m; int n; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int iinfo; int info = 0; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &m, &n, &ib, &lda, &iinfo); CORE_zgetrf_nopiv(m, n, ib, A, lda, &info); } diff --git a/runtime/starpu/codelets/codelet_zhe2ge.c b/runtime/starpu/codelets/codelet_zhe2ge.c index e5fa14ec7c4c934cdf7298fb4d6cc35bb54cde6d..e170e87248972cbe3a0aa3be47d237fe2412d8fc 100644 --- a/runtime/starpu/codelets/codelet_zhe2ge.c +++ b/runtime/starpu/codelets/codelet_zhe2ge.c @@ -20,32 +20,32 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zhe2ge(const MORSE_option_t *options, - MORSE_enum uplo, +void INSERT_TASK_zhe2ge(const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int mb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { (void)mb; struct starpu_codelet *codelet = &cl_zhe2ge; void (*callback)(void*) = options->profiling ? cl_zhe2ge_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_W(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_W(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_W, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_W, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -58,16 +58,16 @@ void MORSE_TASK_zhe2ge(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zhe2ge_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; - const MORSE_Complex64_t *A; + const CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; - A = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &uplo, &M, &N, &LDA, &LDB); CORE_zhe2ge(uplo, M, N, A, LDA, B, LDB); } diff --git a/runtime/starpu/codelets/codelet_zhemm.c b/runtime/starpu/codelets/codelet_zhemm.c index 4bc085d69736cb4a78dc2398c703db9a2d9500f6..6a45d97e5da9fa2aedd3e1ebad1655353d9ad1ae 100644 --- a/runtime/starpu/codelets/codelet_zhemm.c +++ b/runtime/starpu/codelets/codelet_zhemm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,39 +28,39 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zhemm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, +void INSERT_TASK_zhemm(const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { (void)nb; struct starpu_codelet *codelet = &cl_zhemm; void (*callback)(void*) = options->profiling ? cl_zhemm_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_R(B, Bm, Bn); - MORSE_ACCESS_RW(C, Cm, Cn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_R(B, Bm, Bn); + CHAMELEON_ACCESS_RW(C, Cm, Cn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_R, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_R, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), - STARPU_VALUE, &beta, sizeof(MORSE_Complex64_t), - STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), + STARPU_VALUE, &beta, sizeof(CHAMELEON_Complex64_t), + STARPU_RW, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), STARPU_VALUE, &ldc, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -74,22 +74,22 @@ void MORSE_TASK_zhemm(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zhemm_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum uplo; + cham_side_t side; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int LDC; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - C = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + C = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); starpu_codelet_unpack_args(cl_arg, &side, &uplo, &M, &N, &alpha, &LDA, &LDB, &beta, &LDC); CORE_zhemm(side, uplo, M, N, @@ -101,8 +101,8 @@ static void cl_zhemm_cpu_func(void *descr[], void *cl_arg) #ifdef CHAMELEON_USE_CUDA static void cl_zhemm_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum uplo; + cham_side_t side; + cham_uplo_t uplo; int M; int N; cuDoubleComplex alpha; diff --git a/runtime/starpu/codelets/codelet_zher2k.c b/runtime/starpu/codelets/codelet_zher2k.c index 251cce1dc1847cdc979c59e7cc364b0aef478f0b..b899b9f78b1d90833afd6ad8403a44d2bb385b9e 100644 --- a/runtime/starpu/codelets/codelet_zher2k.c +++ b/runtime/starpu/codelets/codelet_zher2k.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,39 +28,39 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zher2k(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zher2k(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - double beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + double beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { (void)nb; struct starpu_codelet *codelet = &cl_zher2k; void (*callback)(void*) = options->profiling ? cl_zher2k_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_R(B, Bm, Bn); - MORSE_ACCESS_RW(C, Cm, Cn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_R(B, Bm, Bn); + CHAMELEON_ACCESS_RW(C, Cm, Cn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &k, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_R, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_R, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), STARPU_VALUE, &beta, sizeof(double), - STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), + STARPU_RW, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), STARPU_VALUE, &ldc, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -74,22 +74,22 @@ void MORSE_TASK_zher2k(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zher2k_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; double beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - C = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + C = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); starpu_codelet_unpack_args(cl_arg, &uplo, &trans, &n, &k, &alpha, &lda, &ldb, &beta, &ldc); CORE_zher2k(uplo, trans, n, k, alpha, A, lda, B, ldb, beta, C, ldc); @@ -98,8 +98,8 @@ static void cl_zher2k_cpu_func(void *descr[], void *cl_arg) #ifdef CHAMELEON_USE_CUDA static void cl_zher2k_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; cuDoubleComplex alpha; diff --git a/runtime/starpu/codelets/codelet_zherfb.c b/runtime/starpu/codelets/codelet_zherfb.c index a737eadcfa79cff85cdbfd49b04dc927a56ad8dd..b6a25151080282c9b2c4a8a9554941459303f9b1 100644 --- a/runtime/starpu/codelets/codelet_zherfb.c +++ b/runtime/starpu/codelets/codelet_zherfb.c @@ -22,37 +22,37 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zherfb(const MORSE_option_t *options, - MORSE_enum uplo, +void INSERT_TASK_zherfb(const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int k, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *C, int Cm, int Cn, int ldc) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *C, int Cm, int Cn, int ldc) { struct starpu_codelet *codelet = &cl_zherfb; void (*callback)(void*) = options->profiling ? cl_zherfb_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_R(T, Tm, Tn); - MORSE_ACCESS_RW(C, Cm, Cn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_R(T, Tm, Tn); + CHAMELEON_ACCESS_RW(C, Cm, Cn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &ib, sizeof(int), STARPU_VALUE, &nb, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_R, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), - STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), + STARPU_RW, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), STARPU_VALUE, &ldc, sizeof(int), STARPU_SCRATCH, options->ws_worker, STARPU_VALUE, &nb, sizeof(int), @@ -68,24 +68,24 @@ void MORSE_TASK_zherfb(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zherfb_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; int k; int ib; int nb; - const MORSE_Complex64_t *A; + const CHAMELEON_Complex64_t *A; int lda; - const MORSE_Complex64_t *T; + const CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; - A = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - T = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - C = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* ib * nb */ + A = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + T = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + C = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* ib * nb */ starpu_codelet_unpack_args(cl_arg, &uplo, &n, &k, &ib, &nb, &lda, &ldt, &ldc, &ldwork); @@ -95,7 +95,7 @@ static void cl_zherfb_cpu_func(void *descr[], void *cl_arg) #if defined(CHAMELEON_USE_CUDA) static void cl_zherfb_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; int k; int ib; diff --git a/runtime/starpu/codelets/codelet_zherk.c b/runtime/starpu/codelets/codelet_zherk.c index 8e8beda81d975a379d9971b1529a61a92ec699bc..9b97d5fbed2adb4b7da7c6dbc43271c42638d70c 100644 --- a/runtime/starpu/codelets/codelet_zherk.c +++ b/runtime/starpu/codelets/codelet_zherk.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,35 +28,35 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zherk(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zherk(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, int nb, - double alpha, const MORSE_desc_t *A, int Am, int An, int lda, - double beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + double alpha, const CHAM_desc_t *A, int Am, int An, int lda, + double beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { (void)nb; struct starpu_codelet *codelet = &cl_zherk; void (*callback)(void*) = options->profiling ? cl_zherk_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(C, Cm, Cn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(C, Cm, Cn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &alpha, sizeof(double), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &beta, sizeof(double), - STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), + STARPU_RW, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), STARPU_VALUE, &ldc, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -69,19 +69,19 @@ void MORSE_TASK_zherk(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zherk_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; double alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - C = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + C = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &uplo, &trans, &n, &k, &alpha, &lda, &beta, &ldc); CORE_zherk(uplo, trans, n, k, @@ -92,8 +92,8 @@ static void cl_zherk_cpu_func(void *descr[], void *cl_arg) #ifdef CHAMELEON_USE_CUDA static void cl_zherk_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; double alpha; diff --git a/runtime/starpu/codelets/codelet_zhessq.c b/runtime/starpu/codelets/codelet_zhessq.c index d2235e62419ad9d8dc64ac23ec39f9e14c6c9bba..daace11ab8a8eee8131e95166555c0922fe083a5 100644 --- a/runtime/starpu/codelets/codelet_zhessq.c +++ b/runtime/starpu/codelets/codelet_zhessq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c @@ -22,24 +22,24 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_zhessq( const MORSE_option_t *options, - MORSE_enum uplo, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) +void INSERT_TASK_zhessq( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) { struct starpu_codelet *codelet = &cl_zhessq; void (*callback)(void*) = options->profiling ? cl_zgessq_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(SCALESUMSQ, SCALESUMSQm, SCALESUMSQn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(SCALESUMSQ, SCALESUMSQm, SCALESUMSQn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_RW, RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn), STARPU_PRIORITY, options->priority, @@ -54,13 +54,13 @@ void MORSE_TASK_zhessq( const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zhessq_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *SCALESUMSQ; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); SCALESUMSQ = (double *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &uplo, &n, &lda); CORE_zhessq( uplo, n, A, lda, &SCALESUMSQ[0], &SCALESUMSQ[1] ); diff --git a/runtime/starpu/codelets/codelet_zlacpy.c b/runtime/starpu/codelets/codelet_zlacpy.c index d323c270ae72c72d43dcec6b080256f65af206ae..2f53ed5dce281cf896bdb9d8b1894f7213f9778e 100644 --- a/runtime/starpu/codelets/codelet_zlacpy.c +++ b/runtime/starpu/codelets/codelet_zlacpy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -28,33 +28,33 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zlacpyx(const MORSE_option_t *options, - MORSE_enum uplo, int m, int n, int nb, - int displA, const MORSE_desc_t *A, int Am, int An, int lda, - int displB, const MORSE_desc_t *B, int Bm, int Bn, int ldb) +void INSERT_TASK_zlacpyx(const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int nb, + int displA, const CHAM_desc_t *A, int Am, int An, int lda, + int displB, const CHAM_desc_t *B, int Bm, int Bn, int ldb) { (void)nb; struct starpu_codelet *codelet = &cl_zlacpy; void (*callback)(void*) = options->profiling ? cl_zlacpy_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_W(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_W(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &displA, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &displB, sizeof(int), - STARPU_W, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_W, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -64,12 +64,12 @@ void MORSE_TASK_zlacpyx(const MORSE_option_t *options, 0); } -void MORSE_TASK_zlacpy(const MORSE_option_t *options, - MORSE_enum uplo, int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) +void INSERT_TASK_zlacpy(const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { - MORSE_TASK_zlacpyx( options, uplo, m, n, nb, + INSERT_TASK_zlacpyx( options, uplo, m, n, nb, 0, A, Am, An, lda, 0, B, Bm, Bn, ldb ); } @@ -77,18 +77,18 @@ void MORSE_TASK_zlacpy(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zlacpy_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; int displA; int displB; - const MORSE_Complex64_t *A; + const CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; - A = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &uplo, &M, &N, &displA, &LDA, &displB, &LDB); CORE_zlacpy(uplo, M, N, A + displA, LDA, B + displB, LDB); } diff --git a/runtime/starpu/codelets/codelet_zlag2c.c b/runtime/starpu/codelets/codelet_zlag2c.c index 9a2dacf1099a706e252f0b6e681f83cbd2a4ffa3..16b25e4efdf2d8c6872cfbe5dffc9cee6b2c9a14 100644 --- a/runtime/starpu/codelets/codelet_zlag2c.c +++ b/runtime/starpu/codelets/codelet_zlag2c.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,30 +26,30 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zlag2c(const MORSE_option_t *options, +void INSERT_TASK_zlag2c(const RUNTIME_option_t *options, int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { (void)nb; struct starpu_codelet *codelet = &cl_zlag2c; void (*callback)(void*) = options->profiling ? cl_zlag2c_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_W(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_W(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_W, RTBLKADDR(B, MORSE_Complex32_t, Bm, Bn), + STARPU_W, RTBLKADDR(B, CHAMELEON_Complex32_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -64,37 +64,37 @@ static void cl_zlag2c_cpu_func(void *descr[], void *cl_arg) { int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex32_t *B; + CHAMELEON_Complex32_t *B; int ldb; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex32_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex32_t *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &m, &n, &lda, &ldb); CORE_zlag2c( m, n, A, lda, B, ldb); } #endif /* !defined(CHAMELEON_SIMULATION) */ -void MORSE_TASK_clag2z(const MORSE_option_t *options, +void INSERT_TASK_clag2z(const RUNTIME_option_t *options, int m, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { (void)nb; struct starpu_codelet *codelet = &cl_clag2z; void (*callback)(void*) = options->profiling ? cl_clag2z_callback : NULL; - if ( morse_desc_islocal( A, Am, An ) || - morse_desc_islocal( B, Bm, Bn ) ) + if ( chameleon_desc_islocal( A, Am, An ) || + chameleon_desc_islocal( B, Bm, Bn ) ) { starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex32_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex32_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_W, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_W, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -111,13 +111,13 @@ static void cl_clag2z_cpu_func(void *descr[], void *cl_arg) { int m; int n; - MORSE_Complex32_t *A; + CHAMELEON_Complex32_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - A = (MORSE_Complex32_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (CHAMELEON_Complex32_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &m, &n, &lda, &ldb); CORE_clag2z( m, n, A, lda, B, ldb); } diff --git a/runtime/starpu/codelets/codelet_zlange.c b/runtime/starpu/codelets/codelet_zlange.c index 2c58d92c8e0eb8bfd8dc921a8a4402dc20720e5d..db2b10af669acf2242940e04b0585d402cce066b 100644 --- a/runtime/starpu/codelets/codelet_zlange.c +++ b/runtime/starpu/codelets/codelet_zlange.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -24,26 +24,26 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_zlange(const MORSE_option_t *options, - MORSE_enum norm, int M, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_zlange(const RUNTIME_option_t *options, + cham_normtype_t norm, int M, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn) { (void)NB; struct starpu_codelet *codelet = &cl_zlange; void (*callback)(void*) = options->profiling ? cl_zlange_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_W(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_W(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &norm, sizeof(MORSE_enum), + STARPU_VALUE, &norm, sizeof(int), STARPU_VALUE, &M, sizeof(int), STARPU_VALUE, &N, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &LDA, sizeof(int), STARPU_SCRATCH, options->ws_worker, STARPU_W, RTBLKADDR(B, double, Bm, Bn), @@ -59,14 +59,14 @@ void MORSE_TASK_zlange(const MORSE_option_t *options, static void cl_zlange_cpu_func(void *descr[], void *cl_arg) { double *normA; - MORSE_enum norm; + cham_normtype_t norm; int M; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; double *work; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); work = (double *)STARPU_MATRIX_GET_PTR(descr[1]); normA = (double *)STARPU_MATRIX_GET_PTR(descr[2]); starpu_codelet_unpack_args(cl_arg, &norm, &M, &N, &LDA); @@ -79,15 +79,15 @@ static void cl_zlange_cpu_func(void *descr[], void *cl_arg) */ CODELETS_CPU(zlange, 3, cl_zlange_cpu_func) -void MORSE_TASK_zlange_max(const MORSE_option_t *options, - const MORSE_desc_t *A, int Am, int An, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_zlange_max(const RUNTIME_option_t *options, + const CHAM_desc_t *A, int Am, int An, + const CHAM_desc_t *B, int Bm, int Bn) { struct starpu_codelet *codelet = &cl_zlange_max; void (*callback)(void*) = options->profiling ? cl_zlange_callback : NULL; - if ( morse_desc_islocal( A, Am, An ) || - morse_desc_islocal( B, Bm, Bn ) ) + if ( chameleon_desc_islocal( A, Am, An ) || + chameleon_desc_islocal( B, Bm, Bn ) ) { starpu_insert_task( starpu_mpi_codelet(codelet), diff --git a/runtime/starpu/codelets/codelet_zlanhe.c b/runtime/starpu/codelets/codelet_zlanhe.c index aaa1c44a60d08a8fd17d63905cf304496ce3dfac..22016bd5f0ac49633193a218b1fed031d0e07291 100644 --- a/runtime/starpu/codelets/codelet_zlanhe.c +++ b/runtime/starpu/codelets/codelet_zlanhe.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -24,25 +24,25 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_zlanhe(const MORSE_option_t *options, - MORSE_enum norm, MORSE_enum uplo, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_zlanhe(const RUNTIME_option_t *options, + cham_normtype_t norm, cham_uplo_t uplo, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn) { struct starpu_codelet *codelet = &cl_zlanhe; void (*callback)(void*) = options->profiling ? cl_zlange_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_W(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_W(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &norm, sizeof(MORSE_enum), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &norm, sizeof(int), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &N, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &LDA, sizeof(int), STARPU_SCRATCH, options->ws_worker, STARPU_W, RTBLKADDR(B, double, Bm, Bn), @@ -60,14 +60,14 @@ void MORSE_TASK_zlanhe(const MORSE_option_t *options, static void cl_zlanhe_cpu_func(void *descr[], void *cl_arg) { double *normA; - MORSE_enum norm; - MORSE_enum uplo; + cham_normtype_t norm; + cham_uplo_t uplo; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; double *work; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); work = (double *)STARPU_MATRIX_GET_PTR(descr[1]); normA = (double *)STARPU_MATRIX_GET_PTR(descr[2]); starpu_codelet_unpack_args(cl_arg, &norm, &uplo, &N, &LDA); diff --git a/runtime/starpu/codelets/codelet_zlansy.c b/runtime/starpu/codelets/codelet_zlansy.c index 4f55c68801461ca05c06c28aa198976bca5c5ab4..b791b234e05075e8a9ad57d619e5fa55cb57572d 100644 --- a/runtime/starpu/codelets/codelet_zlansy.c +++ b/runtime/starpu/codelets/codelet_zlansy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -24,26 +24,26 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_zlansy(const MORSE_option_t *options, - MORSE_enum norm, MORSE_enum uplo, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_zlansy(const RUNTIME_option_t *options, + cham_normtype_t norm, cham_uplo_t uplo, int N, int NB, + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn) { (void)NB; struct starpu_codelet *codelet = &cl_zlansy; void (*callback)(void*) = options->profiling ? cl_zlange_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_W(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_W(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &norm, sizeof(MORSE_enum), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &norm, sizeof(int), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &N, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &LDA, sizeof(int), STARPU_SCRATCH, options->ws_worker, STARPU_W, RTBLKADDR(B, double, Bm, Bn), @@ -59,14 +59,14 @@ void MORSE_TASK_zlansy(const MORSE_option_t *options, static void cl_zlansy_cpu_func(void *descr[], void *cl_arg) { double *normA; - MORSE_enum norm; - MORSE_enum uplo; + cham_normtype_t norm; + cham_uplo_t uplo; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; double *work; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); work = (double *)STARPU_MATRIX_GET_PTR(descr[1]); normA = (double *)STARPU_MATRIX_GET_PTR(descr[2]); starpu_codelet_unpack_args(cl_arg, &norm, &uplo, &N, &LDA); diff --git a/runtime/starpu/codelets/codelet_zlantr.c b/runtime/starpu/codelets/codelet_zlantr.c index dfe4a742452452a93dc6cf4bafd7db3343b66e19..9562bd72911e5d7323ed23bfb12a4d3ae264defd 100644 --- a/runtime/starpu/codelets/codelet_zlantr.c +++ b/runtime/starpu/codelets/codelet_zlantr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -22,28 +22,28 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_zlantr(const MORSE_option_t *options, - MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, +void INSERT_TASK_zlantr(const RUNTIME_option_t *options, + cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag, int M, int N, int NB, - const MORSE_desc_t *A, int Am, int An, int LDA, - const MORSE_desc_t *B, int Bm, int Bn) + const CHAM_desc_t *A, int Am, int An, int LDA, + const CHAM_desc_t *B, int Bm, int Bn) { struct starpu_codelet *codelet = &cl_zlantr; void (*callback)(void*) = options->profiling ? cl_zlange_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_W(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_W(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &norm, sizeof(MORSE_enum), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), - STARPU_VALUE, &diag, sizeof(MORSE_enum), + STARPU_VALUE, &norm, sizeof(int), + STARPU_VALUE, &uplo, sizeof(int), + STARPU_VALUE, &diag, sizeof(int), STARPU_VALUE, &M, sizeof(int), STARPU_VALUE, &N, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &LDA, sizeof(int), STARPU_SCRATCH, options->ws_worker, STARPU_W, RTBLKADDR(B, double, Bm, Bn), @@ -61,13 +61,13 @@ void MORSE_TASK_zlantr(const MORSE_option_t *options, static void cl_zlantr_cpu_func(void *descr[], void *cl_arg) { double *normA; - MORSE_enum norm, uplo, diag; + cham_normtype_t norm, uplo, diag; int M, N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; double *work; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); work = (double *)STARPU_MATRIX_GET_PTR(descr[1]); normA = (double *)STARPU_MATRIX_GET_PTR(descr[2]); starpu_codelet_unpack_args(cl_arg, &norm, &uplo, &diag, &M, &N, &LDA); diff --git a/runtime/starpu/codelets/codelet_zlascal.c b/runtime/starpu/codelets/codelet_zlascal.c index 5a1633b5ceddd148c602d02d7d96703f3b241ad6..edc937752525fd9912f7524010b92c1389e06d4f 100644 --- a/runtime/starpu/codelets/codelet_zlascal.c +++ b/runtime/starpu/codelets/codelet_zlascal.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Dalal Sukkari * @date 2010-11-15 * @precisions normal z -> c d s @@ -24,7 +24,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zlascal adds to matrices together. * @@ -50,32 +50,32 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zlascal(const MORSE_option_t *options, - MORSE_enum uplo, +void INSERT_TASK_zlascal(const RUNTIME_option_t *options, + cham_uplo_t uplo, int m, int n, int nb, - MORSE_Complex64_t alpha, - const MORSE_desc_t *A, int Am, int An, int lda) + CHAMELEON_Complex64_t alpha, + const CHAM_desc_t *A, int Am, int An, int lda) { (void)nb; struct starpu_codelet *codelet = &cl_zlascal; void (*callback)(void*) = options->profiling ? cl_zlascal_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -89,14 +89,14 @@ void MORSE_TASK_zlascal(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zlascal_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &uplo, &M, &N, &alpha, &LDA); CORE_zlascal(uplo, M, N, alpha, A, LDA); return; diff --git a/runtime/starpu/codelets/codelet_zlaset.c b/runtime/starpu/codelets/codelet_zlaset.c index 1e7b2a9200f3b41cd9b86b939eb06f6ef3127a05..44e8af066ef973a1dc69938f995cf3e6436eca38 100644 --- a/runtime/starpu/codelets/codelet_zlaset.c +++ b/runtime/starpu/codelets/codelet_zlaset.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Mathieu Faverge * @author Emmanuel Agullo @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zlaset - Sets the elements of the matrix A on the diagonal * to beta and on the off-diagonals to alpha @@ -37,9 +37,9 @@ * * @param[in] uplo * Specifies which elements of the matrix are to be set - * = MorseUpper: Upper part of A is set; - * = MorseLower: Lower part of A is set; - * = MorseUpperLower: ALL elements of A are set. + * = ChamUpper: Upper part of A is set; + * = ChamLower: Lower part of A is set; + * = ChamUpperLower: ALL elements of A are set. * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -61,27 +61,27 @@ * The leading dimension of the array A. LDA >= max(1,M). * */ -void MORSE_TASK_zlaset(const MORSE_option_t *options, - MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t beta, - const MORSE_desc_t *A, int Am, int An, int LDA) +void INSERT_TASK_zlaset(const RUNTIME_option_t *options, + cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t beta, + const CHAM_desc_t *A, int Am, int An, int LDA) { struct starpu_codelet *codelet = &cl_zlaset; void (*callback)(void*) = options->profiling ? cl_zlaset_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_W(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_W(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &M, sizeof(int), STARPU_VALUE, &N, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_VALUE, &beta, sizeof(MORSE_Complex64_t), - STARPU_W, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_VALUE, &beta, sizeof(CHAMELEON_Complex64_t), + STARPU_W, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &LDA, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -95,15 +95,15 @@ void MORSE_TASK_zlaset(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zlaset_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t beta; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *A; int LDA; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &uplo, &M, &N, &alpha, &beta, &LDA); CORE_zlaset(uplo, M, N, alpha, beta, A, LDA); } diff --git a/runtime/starpu/codelets/codelet_zlaset2.c b/runtime/starpu/codelets/codelet_zlaset2.c index c6c012ac6e33cd7e7685c2b572c38a55b537dcd9..394e69da5f41bf46ac079766f1469194dc508bbe 100644 --- a/runtime/starpu/codelets/codelet_zlaset2.c +++ b/runtime/starpu/codelets/codelet_zlaset2.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Mathieu Faverge * @author Emmanuel Agullo @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zlaset2 - Sets the elements of the matrix A to alpha. * Not LAPACK compliant! Read below. @@ -37,9 +37,9 @@ * * @param[in] uplo * Specifies which elements of the matrix are to be set - * = MorseUpper: STRICT Upper part of A is set to alpha; - * = MorseLower: STRICT Lower part of A is set to alpha; - * = MorseUpperLower: ALL elements of A are set to alpha. + * = ChamUpper: STRICT Upper part of A is set to alpha; + * = ChamLower: STRICT Lower part of A is set to alpha; + * = ChamUpperLower: ALL elements of A are set to alpha. * Not LAPACK Compliant. * * @param[in] M @@ -59,25 +59,25 @@ * The leading dimension of the array A. LDA >= max(1,M). * */ -void MORSE_TASK_zlaset2(const MORSE_option_t *options, - MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int LDA) +void INSERT_TASK_zlaset2(const RUNTIME_option_t *options, + cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int LDA) { struct starpu_codelet *codelet = &cl_zlaset2; void (*callback)(void*) = options->profiling ? cl_zlaset2_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_W(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_W(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &M, sizeof(int), STARPU_VALUE, &N, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_W, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_W, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &LDA, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -91,14 +91,14 @@ void MORSE_TASK_zlaset2(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zlaset2_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &uplo, &M, &N, &alpha, &LDA); CORE_zlaset2(uplo, M, N, alpha, A, LDA); } diff --git a/runtime/starpu/codelets/codelet_zlatro.c b/runtime/starpu/codelets/codelet_zlatro.c index 6cdcba03f2be34428a19e23bb4b2509a701a1996..fb9de682d05661b21942116b616d098e760e78ca 100644 --- a/runtime/starpu/codelets/codelet_zlatro.c +++ b/runtime/starpu/codelets/codelet_zlatro.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -28,32 +28,32 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zlatro(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zlatro(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int m, int n, int mb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { struct starpu_codelet *codelet = &cl_zlatro; void (*callback)(void*) = NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_W(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_W(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_W, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_W, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -67,17 +67,17 @@ void MORSE_TASK_zlatro(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zlatro_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int M; int N; - const MORSE_Complex64_t *A; + const CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; - A = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &uplo, &trans, &M, &N, &LDA, &LDB); CORE_zlatro(uplo, trans, M, N, A, LDA, B, LDB); } diff --git a/runtime/starpu/codelets/codelet_zlauum.c b/runtime/starpu/codelets/codelet_zlauum.c index 18a5e7b9c4bff4ee0239ecaa01b13e56bd06e9b9..e9296ba512039d50a24997e772f4f522c4bf416a 100644 --- a/runtime/starpu/codelets/codelet_zlauum.c +++ b/runtime/starpu/codelets/codelet_zlauum.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -28,26 +28,26 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zlauum(const MORSE_option_t *options, - MORSE_enum uplo, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda) +void INSERT_TASK_zlauum(const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda) { (void)nb; struct starpu_codelet *codelet = &cl_zlauum; void (*callback)(void*) = options->profiling ? cl_zlauum_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -61,12 +61,12 @@ void MORSE_TASK_zlauum(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zlauum_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; + cham_uplo_t uplo; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &uplo, &N, &LDA); CORE_zlauum(uplo, N, A, LDA); } diff --git a/runtime/starpu/codelets/codelet_zplghe.c b/runtime/starpu/codelets/codelet_zplghe.c index 04bc42e62b3d8445a170171f195b2308c28f1c9b..065e237da53e92b9eaf74ea175e2c353b0b2f508 100644 --- a/runtime/starpu/codelets/codelet_zplghe.c +++ b/runtime/starpu/codelets/codelet_zplghe.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Piotr Luszczek * @author Pierre Lemarinier * @author Mathieu Faverge @@ -26,26 +26,26 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -/* MORSE_TASK_zplghe - Generate a tile for random hermitian (positive definite if bump is large enough) matrix. */ +/* INSERT_TASK_zplghe - Generate a tile for random hermitian (positive definite if bump is large enough) matrix. */ -void MORSE_TASK_zplghe( const MORSE_option_t *options, - double bump, int m, int n, const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zplghe( const RUNTIME_option_t *options, + double bump, int m, int n, const CHAM_desc_t *A, int Am, int An, int lda, int bigM, int m0, int n0, unsigned long long int seed ) { struct starpu_codelet *codelet = &cl_zplghe; void (*callback)(void*) = options->profiling ? cl_zplghe_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_W(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_W(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &bump, sizeof(double), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_W, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_W, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &bigM, sizeof(int), STARPU_VALUE, &m0, sizeof(int), @@ -67,14 +67,14 @@ static void cl_zplghe_cpu_func(void *descr[], void *cl_arg) double bump; int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int bigM; int m0; int n0; unsigned long long int seed; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &bump, &m, &n, &lda, &bigM, &m0, &n0, &seed ); CORE_zplghe( bump, m, n, A, lda, bigM, m0, n0, seed ); } diff --git a/runtime/starpu/codelets/codelet_zplgsy.c b/runtime/starpu/codelets/codelet_zplgsy.c index 3b8c88f5b0ca26234d8a8a5e32e73b0fc1aa66ba..ad0fe3be213c5abd1718f6ef954ead5c87783706 100644 --- a/runtime/starpu/codelets/codelet_zplgsy.c +++ b/runtime/starpu/codelets/codelet_zplgsy.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Piotr Luszczek * @author Pierre Lemarinier * @author Mathieu Faverge @@ -26,26 +26,26 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -/* MORSE_TASK_zplgsy - Generate a tile for random symmetric (positive definite if 'bump' is large enough) matrix. */ +/* INSERT_TASK_zplgsy - Generate a tile for random symmetric (positive definite if 'bump' is large enough) matrix. */ -void MORSE_TASK_zplgsy( const MORSE_option_t *options, - MORSE_Complex64_t bump, int m, int n, const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zplgsy( const RUNTIME_option_t *options, + CHAMELEON_Complex64_t bump, int m, int n, const CHAM_desc_t *A, int Am, int An, int lda, int bigM, int m0, int n0, unsigned long long int seed ) { struct starpu_codelet *codelet = &cl_zplgsy; void (*callback)(void*) = options->profiling ? cl_zplgsy_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_W(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_W(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &bump, sizeof(MORSE_Complex64_t), + STARPU_VALUE, &bump, sizeof(CHAMELEON_Complex64_t), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_W, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_W, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &bigM, sizeof(int), STARPU_VALUE, &m0, sizeof(int), @@ -64,17 +64,17 @@ void MORSE_TASK_zplgsy( const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zplgsy_cpu_func(void *descr[], void *cl_arg) { - MORSE_Complex64_t bump; + CHAMELEON_Complex64_t bump; int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int bigM; int m0; int n0; unsigned long long int seed; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &bump, &m, &n, &lda, &bigM, &m0, &n0, &seed ); CORE_zplgsy( bump, m, n, A, lda, bigM, m0, n0, seed ); } diff --git a/runtime/starpu/codelets/codelet_zplrnt.c b/runtime/starpu/codelets/codelet_zplrnt.c index 0fe15b6be4ba6a91377458f13915b7a4bea4bf8a..4189f24bcaf9ab4f95f698a3a00e0947efac4c1b 100644 --- a/runtime/starpu/codelets/codelet_zplrnt.c +++ b/runtime/starpu/codelets/codelet_zplrnt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Piotr Luszczek * @author Pierre Lemarinier * @author Mathieu Faverge @@ -26,25 +26,25 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -/* MORSE_TASK_zplrnt - Generate a tile for random matrix. */ +/* INSERT_TASK_zplrnt - Generate a tile for random matrix. */ -void MORSE_TASK_zplrnt( const MORSE_option_t *options, - int m, int n, const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zplrnt( const RUNTIME_option_t *options, + int m, int n, const CHAM_desc_t *A, int Am, int An, int lda, int bigM, int m0, int n0, unsigned long long int seed ) { struct starpu_codelet *codelet = &cl_zplrnt; void (*callback)(void*) = options->profiling ? cl_zplrnt_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_W(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_W(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_W, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_W, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &bigM, sizeof(int), STARPU_VALUE, &m0, sizeof(int), @@ -65,14 +65,14 @@ static void cl_zplrnt_cpu_func(void *descr[], void *cl_arg) { int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int bigM; int m0; int n0; unsigned long long int seed; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &m, &n, &lda, &bigM, &m0, &n0, &seed ); CORE_zplrnt( m, n, A, lda, bigM, m0, n0, seed ); } diff --git a/runtime/starpu/codelets/codelet_zplssq.c b/runtime/starpu/codelets/codelet_zplssq.c index 10cb8852141497a9c2987099e54b727b0a6da9c0..847004cc9a745105dfe40c309a2b856e07957c07 100644 --- a/runtime/starpu/codelets/codelet_zplssq.c +++ b/runtime/starpu/codelets/codelet_zplssq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -25,9 +25,9 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * - * MORSE_TASK_zplssq returns: scl * sqrt(ssq) + * INSERT_TASK_zplssq returns: scl * sqrt(ssq) * * with scl and ssq such that * @@ -54,17 +54,17 @@ * On exit, result contains scl * sqrt( ssq ) * */ -void MORSE_TASK_zplssq( const MORSE_option_t *options, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn, - const MORSE_desc_t *SCLSSQ, int SCLSSQm, int SCLSSQn ) +void INSERT_TASK_zplssq( const RUNTIME_option_t *options, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn, + const CHAM_desc_t *SCLSSQ, int SCLSSQm, int SCLSSQn ) { struct starpu_codelet *codelet = &cl_zplssq; void (*callback)(void*) = options->profiling ? cl_zplssq_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(SCALESUMSQ, SCALESUMSQm, SCALESUMSQn); - MORSE_ACCESS_RW(SCLSSQ, SCLSSQm, SCLSSQn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(SCALESUMSQ, SCALESUMSQm, SCALESUMSQn); + CHAMELEON_ACCESS_RW(SCLSSQ, SCLSSQm, SCLSSQn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), @@ -104,13 +104,13 @@ static void cl_zplssq_cpu_func(void *descr[], void *cl_arg) */ CODELETS_CPU(zplssq, 2, cl_zplssq_cpu_func) -void MORSE_TASK_zplssq2( const MORSE_option_t *options, - const MORSE_desc_t *RESULT, int RESULTm, int RESULTn ) +void INSERT_TASK_zplssq2( const RUNTIME_option_t *options, + const CHAM_desc_t *RESULT, int RESULTm, int RESULTn ) { struct starpu_codelet *codelet = &cl_zplssq2; void (*callback)(void*) = options->profiling ? cl_zplssq2_callback : NULL; - if ( morse_desc_islocal( RESULT, RESULTm, RESULTn ) ) { + if ( chameleon_desc_islocal( RESULT, RESULTm, RESULTn ) ) { starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_RW, RTBLKADDR(RESULT, double, RESULTm, RESULTn), diff --git a/runtime/starpu/codelets/codelet_zpotrf.c b/runtime/starpu/codelets/codelet_zpotrf.c index 8adc93ee5e065bb808bd51460e4080459eb30191..cabfed48c9faadf887dc2d59a63ad57b0253e6fa 100644 --- a/runtime/starpu/codelets/codelet_zpotrf.c +++ b/runtime/starpu/codelets/codelet_zpotrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,27 +28,27 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zpotrf(const MORSE_option_t *options, - MORSE_enum uplo, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zpotrf(const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo) { (void)nb; struct starpu_codelet *codelet = &cl_zpotrf; void (*callback)(void*) = options->profiling ? cl_zpotrf_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &iinfo, sizeof(int), /* STARPU_SCRATCH, options->ws_worker, */ @@ -64,14 +64,14 @@ void MORSE_TASK_zpotrf(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zpotrf_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int iinfo; int info = 0; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &uplo, &n, &lda, &iinfo); CORE_zpotrf(uplo, n, A, lda, &info); diff --git a/runtime/starpu/codelets/codelet_zssssm.c b/runtime/starpu/codelets/codelet_zssssm.c index a9989b35747bf1438a09ec86c215d5c0ddb95f95..b244374bc94d6c4b67eeee33ee027ff2a5c15cb7 100644 --- a/runtime/starpu/codelets/codelet_zssssm.c +++ b/runtime/starpu/codelets/codelet_zssssm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zssssm applies the LU factorization update from a complex * matrix formed by a lower triangular IB-by-K tile L1 on top of a @@ -92,29 +92,29 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * */ -void MORSE_TASK_zssssm(const MORSE_option_t *options, +void INSERT_TASK_zssssm(const RUNTIME_option_t *options, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *L1, int L1m, int L1n, int ldl1, - const MORSE_desc_t *L2, int L2m, int L2n, int ldl2, + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *L1, int L1m, int L1n, int ldl1, + const CHAM_desc_t *L2, int L2m, int L2n, int ldl2, const int *IPIV) { (void)nb; struct starpu_codelet *codelet = &cl_zssssm; void (*callback)(void*) = options->profiling ? cl_zssssm_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A1, A1m, A1n); - MORSE_ACCESS_RW(A2, A2m, A2n); - MORSE_ACCESS_R(L1, L1m, L1n); - MORSE_ACCESS_R(L2, L2m, L2n); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A1, A1m, A1n); + CHAMELEON_ACCESS_RW(A2, A2m, A2n); + CHAMELEON_ACCESS_R(L1, L1m, L1n); + CHAMELEON_ACCESS_R(L2, L2m, L2n); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), @@ -124,13 +124,13 @@ void MORSE_TASK_zssssm(const MORSE_option_t *options, STARPU_VALUE, &n2, sizeof(int), STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), + STARPU_RW, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), STARPU_VALUE, &lda1, sizeof(int), - STARPU_RW, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), + STARPU_RW, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), STARPU_VALUE, &lda2, sizeof(int), - STARPU_R, RTBLKADDR(L1, MORSE_Complex64_t, L1m, L1n), + STARPU_R, RTBLKADDR(L1, CHAMELEON_Complex64_t, L1m, L1n), STARPU_VALUE, &ldl1, sizeof(int), - STARPU_R, RTBLKADDR(L2, MORSE_Complex64_t, L2m, L2n), + STARPU_R, RTBLKADDR(L2, CHAMELEON_Complex64_t, L2m, L2n), STARPU_VALUE, &ldl2, sizeof(int), STARPU_VALUE, &IPIV, sizeof(int*), STARPU_PRIORITY, options->priority, @@ -151,20 +151,20 @@ static void cl_zssssm_cpu_func(void *descr[], void *cl_arg) int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *L1; + CHAMELEON_Complex64_t *L1; int ldl1; - MORSE_Complex64_t *L2; + CHAMELEON_Complex64_t *L2; int ldl2; int *IPIV; - A1 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - A2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - L1 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - L2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); + A1 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + L1 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + L2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); starpu_codelet_unpack_args(cl_arg, &m1, &n1, &m2, &n2, &k, &ib, &lda1, &lda2, &ldl1, &ldl2, &IPIV); CORE_zssssm(m1, n1, m2, n2, k, ib, A1, lda1, A2, lda2, L1, ldl1, L2, ldl2, IPIV); } diff --git a/runtime/starpu/codelets/codelet_zsymm.c b/runtime/starpu/codelets/codelet_zsymm.c index ae6bf2730f8818e21317f4c6dcb425fa3a3365f0..122a79ebe86f0511d8fa4128988059ae644d063f 100644 --- a/runtime/starpu/codelets/codelet_zsymm.c +++ b/runtime/starpu/codelets/codelet_zsymm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,39 +28,39 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zsymm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, +void INSERT_TASK_zsymm(const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { (void)nb; struct starpu_codelet *codelet = &cl_zsymm; void (*callback)(void*) = options->profiling ? cl_zsymm_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_R(B, Bm, Bn); - MORSE_ACCESS_RW(C, Cm, Cn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_R(B, Bm, Bn); + CHAMELEON_ACCESS_RW(C, Cm, Cn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_R, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_R, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), - STARPU_VALUE, &beta, sizeof(MORSE_Complex64_t), - STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), + STARPU_VALUE, &beta, sizeof(CHAMELEON_Complex64_t), + STARPU_RW, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), STARPU_VALUE, &ldc, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -74,22 +74,22 @@ void MORSE_TASK_zsymm(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zsymm_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum uplo; + cham_side_t side; + cham_uplo_t uplo; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int LDC; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - C = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + C = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); starpu_codelet_unpack_args(cl_arg, &side, &uplo, &M, &N, &alpha, &LDA, &LDB, &beta, &LDC); CORE_zsymm(side, uplo, M, N, @@ -101,8 +101,8 @@ static void cl_zsymm_cpu_func(void *descr[], void *cl_arg) #ifdef CHAMELEON_USE_CUDA static void cl_zsymm_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum uplo; + cham_side_t side; + cham_uplo_t uplo; int M; int N; cuDoubleComplex alpha; diff --git a/runtime/starpu/codelets/codelet_zsyr2k.c b/runtime/starpu/codelets/codelet_zsyr2k.c index f01a208f249e85fabd4fe2ccf52c79c0b0c4341a..a2d2288ed96d454d2c58caa5394842c674193c47 100644 --- a/runtime/starpu/codelets/codelet_zsyr2k.c +++ b/runtime/starpu/codelets/codelet_zsyr2k.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,39 +28,39 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zsyr2k(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zsyr2k(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { (void)nb; struct starpu_codelet *codelet = &cl_zsyr2k; void (*callback)(void*) = options->profiling ? cl_zsyr2k_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_R(B, Bm, Bn); - MORSE_ACCESS_RW(C, Cm, Cn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_R(B, Bm, Bn); + CHAMELEON_ACCESS_RW(C, Cm, Cn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &k, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_R, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_R, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), - STARPU_VALUE, &beta, sizeof(MORSE_Complex64_t), - STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), + STARPU_VALUE, &beta, sizeof(CHAMELEON_Complex64_t), + STARPU_RW, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), STARPU_VALUE, &ldc, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -74,22 +74,22 @@ void MORSE_TASK_zsyr2k(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zsyr2k_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int ldc; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - C = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + C = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); starpu_codelet_unpack_args(cl_arg, &uplo, &trans, &n, &k, &alpha, &lda, &ldb, &beta, &ldc); CORE_zsyr2k(uplo, trans, n, k, alpha, A, lda, B, ldb, beta, C, ldc); @@ -98,8 +98,8 @@ static void cl_zsyr2k_cpu_func(void *descr[], void *cl_arg) #ifdef CHAMELEON_USE_CUDA static void cl_zsyr2k_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; cuDoubleComplex alpha; diff --git a/runtime/starpu/codelets/codelet_zsyrk.c b/runtime/starpu/codelets/codelet_zsyrk.c index 795f31344656493f7c2ad1a537e46a8629aa07a1..9e58f28142e934c3fa99c54bd1e3a2dd06da6b41 100644 --- a/runtime/starpu/codelets/codelet_zsyrk.c +++ b/runtime/starpu/codelets/codelet_zsyrk.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,35 +28,35 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_zsyrk(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, +void INSERT_TASK_zsyrk(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int n, int k, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc) { (void)nb; struct starpu_codelet *codelet = &cl_zsyrk; void (*callback)(void*) = options->profiling ? cl_zsyrk_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(C, Cm, Cn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(C, Cm, Cn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &k, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_VALUE, &beta, sizeof(MORSE_Complex64_t), - STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), + STARPU_VALUE, &beta, sizeof(CHAMELEON_Complex64_t), + STARPU_RW, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), STARPU_VALUE, &ldc, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -70,19 +70,19 @@ void MORSE_TASK_zsyrk(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zsyrk_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t beta; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *C; int ldc; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - C = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + C = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &uplo, &trans, &n, &k, &alpha, &lda, &beta, &ldc); CORE_zsyrk(uplo, trans, n, k, @@ -93,8 +93,8 @@ static void cl_zsyrk_cpu_func(void *descr[], void *cl_arg) #ifdef CHAMELEON_USE_CUDA static void cl_zsyrk_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int n; int k; cuDoubleComplex alpha; diff --git a/runtime/starpu/codelets/codelet_zsyssq.c b/runtime/starpu/codelets/codelet_zsyssq.c index 0f0719dbd28bf790861f8f7b8d0666f80213c71b..d8dd46c1bce0aead3d724ed5fb45ad9ce6416020 100644 --- a/runtime/starpu/codelets/codelet_zsyssq.c +++ b/runtime/starpu/codelets/codelet_zsyssq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -22,24 +22,24 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_zsyssq( const MORSE_option_t *options, - MORSE_enum uplo, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) +void INSERT_TASK_zsyssq( const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) { struct starpu_codelet *codelet = &cl_zsyssq; void (*callback)(void*) = options->profiling ? cl_zgessq_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(SCALESUMSQ, SCALESUMSQm, SCALESUMSQn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(SCALESUMSQ, SCALESUMSQm, SCALESUMSQn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_RW, RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn), STARPU_PRIORITY, options->priority, @@ -54,13 +54,13 @@ void MORSE_TASK_zsyssq( const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zsyssq_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *SCALESUMSQ; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); SCALESUMSQ = (double *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &uplo, &n, &lda); CORE_zsyssq( uplo, n, A, lda, &SCALESUMSQ[0], &SCALESUMSQ[1] ); diff --git a/runtime/starpu/codelets/codelet_zsytrf_nopiv.c b/runtime/starpu/codelets/codelet_zsytrf_nopiv.c index 9c3979f4fa54a4e3603424f7c8099b44609b719a..7d29d1840d0f566623090e17a5b02ea0efa610a1 100644 --- a/runtime/starpu/codelets/codelet_zsytrf_nopiv.c +++ b/runtime/starpu/codelets/codelet_zsytrf_nopiv.c @@ -26,24 +26,24 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_zsytrf_nopiv(const MORSE_option_t *options, - MORSE_enum uplo, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, +void INSERT_TASK_zsytrf_nopiv(const RUNTIME_option_t *options, + cham_uplo_t uplo, int n, int nb, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo) { (void)nb; struct starpu_codelet *codelet = &cl_zsytrf_nopiv; void (*callback)(void*) = options->profiling ? cl_zsytrf_nopiv_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &iinfo, sizeof(int), /* STARPU_SCRATCH, options->ws_worker, */ @@ -59,13 +59,13 @@ void MORSE_TASK_zsytrf_nopiv(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zsytrf_nopiv_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; + cham_uplo_t uplo; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int iinfo; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &uplo, &n, &lda, &iinfo); CORE_zsytf2_nopiv(uplo, n, A, lda); diff --git a/runtime/starpu/codelets/codelet_ztile_zero.c b/runtime/starpu/codelets/codelet_ztile_zero.c index acca3dbd3bfc2b5355727cdab478cd163106e312..a7c5cbf11f09e5015294d5a3a816df215ab374dd 100644 --- a/runtime/starpu/codelets/codelet_ztile_zero.c +++ b/runtime/starpu/codelets/codelet_ztile_zero.c @@ -25,17 +25,17 @@ /** * */ -void MORSE_TASK_ztile_zero( const MORSE_option_t *options, +void INSERT_TASK_ztile_zero( const RUNTIME_option_t *options, int X1, int X2, int Y1, int Y2, - const MORSE_desc_t *A, int Am, int An, int lda ) + const CHAM_desc_t *A, int Am, int An, int lda ) { struct starpu_codelet *codelet; codelet = &cl_ztile_zero; void (*callback)(void*) = options->profiling ? cl_zlacpy_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_W(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_W(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), @@ -43,7 +43,7 @@ void MORSE_TASK_ztile_zero( const MORSE_option_t *options, STARPU_VALUE, &X2, sizeof(int), STARPU_VALUE, &Y1, sizeof(int), STARPU_VALUE, &Y2, sizeof(int), - STARPU_W, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_W, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, NULL, @@ -63,12 +63,12 @@ static void cl_ztile_zero_cpu_func(void *descr[], void *cl_arg) int X2; int Y1; int Y2; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; int x, y; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &X1, &X2, &Y1, &Y2, &lda); for (x = X1; x < X2; x++) diff --git a/runtime/starpu/codelets/codelet_ztplqt.c b/runtime/starpu/codelets/codelet_ztplqt.c index c7f11cadfe6e054ddea16a59c9b7b15dd19fed07..58674171cb0ce139aac1be2b3f29da7e1e3ec16b 100644 --- a/runtime/starpu/codelets/codelet_ztplqt.c +++ b/runtime/starpu/codelets/codelet_ztplqt.c @@ -27,18 +27,18 @@ static void cl_ztplqt_cpu_func(void *descr[], void *cl_arg) int N; int L; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* ib * nb */ + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* ib * nb */ starpu_codelet_unpack_args( cl_arg, &M, &N, &L, &ib, &lda, &ldb, &ldt ); @@ -54,20 +54,20 @@ static void cl_ztplqt_cpu_func(void *descr[], void *cl_arg) CODELETS_CPU(ztplqt, 4, cl_ztplqt_cpu_func) void -MORSE_TASK_ztplqt( const MORSE_option_t *options, +INSERT_TASK_ztplqt( const RUNTIME_option_t *options, int M, int N, int L, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - const MORSE_desc_t *T, int Tm, int Tn, int ldt ) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ) { struct starpu_codelet *codelet = &cl_ztplqt; void (*callback)(void*) = options->profiling ? cl_ztplqt_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A, Am, An); - MORSE_ACCESS_RW(B, Bm, Bn); - MORSE_ACCESS_W(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_ACCESS_RW(B, Bm, Bn); + CHAMELEON_ACCESS_W(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), @@ -75,11 +75,11 @@ MORSE_TASK_ztplqt( const MORSE_option_t *options, STARPU_VALUE, &N, sizeof(int), STARPU_VALUE, &L, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_RW, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), - STARPU_W, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_W, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), /* Other options */ STARPU_SCRATCH, options->ws_worker, diff --git a/runtime/starpu/codelets/codelet_ztpmlqt.c b/runtime/starpu/codelets/codelet_ztpmlqt.c index 8c5d1656576ffa27df447f03f6433db6bd787868..e961cbf10f2702c6c5c914e0838802f495a18dbc 100644 --- a/runtime/starpu/codelets/codelet_ztpmlqt.c +++ b/runtime/starpu/codelets/codelet_ztpmlqt.c @@ -21,28 +21,28 @@ #if !defined(CHAMELEON_SIMULATION) static void cl_ztpmlqt_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int M; int N; int K; int L; int ib; - const MORSE_Complex64_t *V; + const CHAMELEON_Complex64_t *V; int ldv; - const MORSE_Complex64_t *T; + const CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; - V = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - T = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* ib * nb */ + V = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + T = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* ib * nb */ starpu_codelet_unpack_args( cl_arg, &side, &trans, &M, &N, &K, &L, &ib, &ldv, &ldt, &lda, &ldb ); @@ -54,8 +54,8 @@ static void cl_ztpmlqt_cpu_func(void *descr[], void *cl_arg) #if defined(CHAMELEON_USE_CUDA) && 0 static void cl_ztpmlqt_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int M; int N; int K; @@ -101,40 +101,40 @@ CODELETS_CPU(ztpmlqt, 5, cl_ztpmlqt_cpu_func) //CODELETS(ztpmlqt, 5, cl_ztpmlqt_cpu_func, cl_ztpmlqt_cuda_func, STARPU_CUDA_ASYNC) void -MORSE_TASK_ztpmlqt( const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +INSERT_TASK_ztpmlqt( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int ib, int nb, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb ) + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ) { struct starpu_codelet *codelet = &cl_ztpmlqt; void (*callback)(void*) = options->profiling ? cl_ztpmlqt_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(V, Vm, Vn); - MORSE_ACCESS_R(T, Tm, Tn); - MORSE_ACCESS_RW(A, Am, An); - MORSE_ACCESS_RW(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(V, Vm, Vn); + CHAMELEON_ACCESS_R(T, Tm, Tn); + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_ACCESS_RW(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &M, sizeof(int), STARPU_VALUE, &N, sizeof(int), STARPU_VALUE, &K, sizeof(int), STARPU_VALUE, &L, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_R, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), + STARPU_R, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), STARPU_VALUE, &ldv, sizeof(int), - STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_R, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_RW, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), /* Other options */ STARPU_SCRATCH, options->ws_worker, diff --git a/runtime/starpu/codelets/codelet_ztpmqrt.c b/runtime/starpu/codelets/codelet_ztpmqrt.c index d5eacd8c03843f062bc95dac2b541a0c68139583..fe4e8dcc9657b0e0784b1c0f0c2a59cc507b6962 100644 --- a/runtime/starpu/codelets/codelet_ztpmqrt.c +++ b/runtime/starpu/codelets/codelet_ztpmqrt.c @@ -21,28 +21,28 @@ #if !defined(CHAMELEON_SIMULATION) static void cl_ztpmqrt_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int M; int N; int K; int L; int ib; - const MORSE_Complex64_t *V; + const CHAMELEON_Complex64_t *V; int ldv; - const MORSE_Complex64_t *T; + const CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; - V = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - T = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* ib * nb */ + V = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + T = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* ib * nb */ starpu_codelet_unpack_args( cl_arg, &side, &trans, &M, &N, &K, &L, &ib, &ldv, &ldt, &lda, &ldb ); @@ -55,8 +55,8 @@ static void cl_ztpmqrt_cpu_func(void *descr[], void *cl_arg) #if defined(CHAMELEON_USE_CUDA) static void cl_ztpmqrt_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int M; int N; int K; @@ -101,40 +101,40 @@ static void cl_ztpmqrt_cuda_func(void *descr[], void *cl_arg) CODELETS(ztpmqrt, 5, cl_ztpmqrt_cpu_func, cl_ztpmqrt_cuda_func, STARPU_CUDA_ASYNC) void -MORSE_TASK_ztpmqrt( const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +INSERT_TASK_ztpmqrt( const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int M, int N, int K, int L, int ib, int nb, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb ) + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb ) { struct starpu_codelet *codelet = &cl_ztpmqrt; void (*callback)(void*) = options->profiling ? cl_ztpmqrt_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(V, Vm, Vn); - MORSE_ACCESS_R(T, Tm, Tn); - MORSE_ACCESS_RW(A, Am, An); - MORSE_ACCESS_RW(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(V, Vm, Vn); + CHAMELEON_ACCESS_R(T, Tm, Tn); + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_ACCESS_RW(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &M, sizeof(int), STARPU_VALUE, &N, sizeof(int), STARPU_VALUE, &K, sizeof(int), STARPU_VALUE, &L, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_R, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), + STARPU_R, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), STARPU_VALUE, &ldv, sizeof(int), - STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_R, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_RW, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), /* Other options */ STARPU_SCRATCH, options->ws_worker, diff --git a/runtime/starpu/codelets/codelet_ztpqrt.c b/runtime/starpu/codelets/codelet_ztpqrt.c index 199fffd1a48b4fd560d5fb82e20103718b77a108..9379836866abb2717642792ccce80668a602c01f 100644 --- a/runtime/starpu/codelets/codelet_ztpqrt.c +++ b/runtime/starpu/codelets/codelet_ztpqrt.c @@ -27,18 +27,18 @@ static void cl_ztpqrt_cpu_func(void *descr[], void *cl_arg) int N; int L; int ib; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* ib * nb */ + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* ib * nb */ starpu_codelet_unpack_args( cl_arg, &M, &N, &L, &ib, &lda, &ldb, &ldt ); @@ -54,20 +54,20 @@ static void cl_ztpqrt_cpu_func(void *descr[], void *cl_arg) CODELETS_CPU(ztpqrt, 4, cl_ztpqrt_cpu_func) void -MORSE_TASK_ztpqrt( const MORSE_option_t *options, +INSERT_TASK_ztpqrt( const RUNTIME_option_t *options, int M, int N, int L, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb, - const MORSE_desc_t *T, int Tm, int Tn, int ldt ) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb, + const CHAM_desc_t *T, int Tm, int Tn, int ldt ) { struct starpu_codelet *codelet = &cl_ztpqrt; void (*callback)(void*) = options->profiling ? cl_ztpqrt_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A, Am, An); - MORSE_ACCESS_RW(B, Bm, Bn); - MORSE_ACCESS_W(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_ACCESS_RW(B, Bm, Bn); + CHAMELEON_ACCESS_W(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), @@ -75,11 +75,11 @@ MORSE_TASK_ztpqrt( const MORSE_option_t *options, STARPU_VALUE, &N, sizeof(int), STARPU_VALUE, &L, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_RW, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), - STARPU_W, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_W, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), /* Other options */ STARPU_SCRATCH, options->ws_worker, diff --git a/runtime/starpu/codelets/codelet_ztradd.c b/runtime/starpu/codelets/codelet_ztradd.c index e4e65494e77686f2a3bc9bfbec7b60eb8534f050..247c83ae64e5f3d7ca68f13146801f0037551fa0 100644 --- a/runtime/starpu/codelets/codelet_ztradd.c +++ b/runtime/starpu/codelets/codelet_ztradd.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2011-11-03 * @precisions normal z -> c d s @@ -25,9 +25,9 @@ /** ****************************************************************************** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * - * MORSE_TASK_ztradd adds two trapezoidal matrices together as in PBLAS pzgeadd. + * INSERT_TASK_ztradd adds two trapezoidal matrices together as in PBLAS pzgeadd. * * B <- alpha * op(A) + beta * B, * @@ -37,16 +37,16 @@ * * @param[in] uplo * Specifies the shape of A and B matrices: - * = MorseUpperLower: A and B are general matrices. - * = MorseUpper: op(A) and B are upper trapezoidal matrices. - * = MorseLower: op(A) and B are lower trapezoidal matrices. + * = ChamUpperLower: A and B are general matrices. + * = ChamUpper: op(A) and B are upper trapezoidal matrices. + * = ChamLower: op(A) and B are lower trapezoidal matrices. * * @param[in] trans * Specifies whether the matrix A is non-transposed, transposed, or * conjugate transposed - * = MorseNoTrans: op(A) = A - * = MorseTrans: op(A) = A' - * = MorseConjTrans: op(A) = conj(A') + * = ChamNoTrans: op(A) = A + * = ChamTrans: op(A) = A' + * = ChamConjTrans: op(A) = conj(A') * * @param[in] M * Number of rows of the matrices op(A) and B. @@ -58,12 +58,12 @@ * Scalar factor of A. * * @param[in] A - * Matrix of size LDA-by-N, if trans = MorseNoTrans, LDA-by-M + * Matrix of size LDA-by-N, if trans = ChamNoTrans, LDA-by-M * otherwise. * * @param[in] LDA * Leading dimension of the array A. LDA >= max(1,k), with k=M, if - * trans = MorseNoTrans, and k=N otherwise. + * trans = ChamNoTrans, and k=N otherwise. * * @param[in] beta * Scalar factor of B. @@ -78,34 +78,34 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_ztradd(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum trans, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - MORSE_Complex64_t beta, const MORSE_desc_t *B, int Bm, int Bn, int ldb) +void INSERT_TASK_ztradd(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_trans_t trans, int m, int n, int nb, + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + CHAMELEON_Complex64_t beta, const CHAM_desc_t *B, int Bm, int Bn, int ldb) { struct starpu_codelet *codelet = &cl_ztradd; void (*callback)(void*) = options->profiling ? cl_zgeadd_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_VALUE, &beta, sizeof(MORSE_Complex64_t), - STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_VALUE, &beta, sizeof(CHAMELEON_Complex64_t), + STARPU_RW, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -121,19 +121,19 @@ void MORSE_TASK_ztradd(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztradd_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; - MORSE_enum trans; + cham_uplo_t uplo; + cham_trans_t trans; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t beta; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t beta; + CHAMELEON_Complex64_t *B; int LDB; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &uplo, &trans, &M, &N, &alpha, &LDA, &beta, &LDB); CORE_ztradd(uplo, trans, M, N, alpha, A, LDA, beta, B, LDB); return; diff --git a/runtime/starpu/codelets/codelet_ztrasm.c b/runtime/starpu/codelets/codelet_ztrasm.c index caffd858b769dac42624e41eccc64c4d793e18c6..488c1d238b59c1361c2e6067f7ece55b214ba301 100644 --- a/runtime/starpu/codelets/codelet_ztrasm.c +++ b/runtime/starpu/codelets/codelet_ztrasm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -22,27 +22,27 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_ztrasm(const MORSE_option_t *options, - MORSE_enum storev, MORSE_enum uplo, MORSE_enum diag, int M, int N, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn) +void INSERT_TASK_ztrasm(const RUNTIME_option_t *options, + cham_store_t storev, cham_uplo_t uplo, cham_diag_t diag, int M, int N, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn) { struct starpu_codelet *codelet = &cl_ztrasm; void (*callback)(void*) = options->profiling ? cl_ztrasm_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &storev, sizeof(MORSE_enum), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), - STARPU_VALUE, &diag, sizeof(MORSE_enum), + STARPU_VALUE, &storev, sizeof(int), + STARPU_VALUE, &uplo, sizeof(int), + STARPU_VALUE, &diag, sizeof(int), STARPU_VALUE, &M, sizeof(int), STARPU_VALUE, &N, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_RW, RTBLKADDR(B, double, Bm, Bn), STARPU_PRIORITY, options->priority, @@ -57,16 +57,16 @@ void MORSE_TASK_ztrasm(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztrasm_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum storev; - MORSE_enum uplo; - MORSE_enum diag; + cham_store_t storev; + cham_uplo_t uplo; + cham_diag_t diag; int M; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *work; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); work = (double *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &storev, &uplo, &diag, &M, &N, &lda); CORE_ztrasm(storev, uplo, diag, M, N, A, lda, work); diff --git a/runtime/starpu/codelets/codelet_ztrmm.c b/runtime/starpu/codelets/codelet_ztrmm.c index 0745de40f04cf7d933b08de96124083af3c22c49..50f1073646144a64ee5c4b3cf2a931174c6ffe36 100644 --- a/runtime/starpu/codelets/codelet_ztrmm.c +++ b/runtime/starpu/codelets/codelet_ztrmm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -28,36 +28,36 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_ztrmm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, +void INSERT_TASK_ztrmm(const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { (void)nb; struct starpu_codelet *codelet = &cl_ztrmm; void (*callback)(void*) = options->profiling ? cl_ztrmm_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), - STARPU_VALUE, &transA, sizeof(MORSE_enum), - STARPU_VALUE, &diag, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &uplo, sizeof(int), + STARPU_VALUE, &transA, sizeof(int), + STARPU_VALUE, &diag, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_RW, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -71,20 +71,20 @@ void MORSE_TASK_ztrmm(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztrmm_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum uplo; - MORSE_enum transA; - MORSE_enum diag; + cham_side_t side; + cham_uplo_t uplo; + cham_trans_t transA; + cham_diag_t diag; int M; int N; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int LDA; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int LDB; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &side, &uplo, &transA, &diag, &M, &N, &alpha, &LDA, &LDB); CORE_ztrmm(side, uplo, transA, diag, @@ -96,10 +96,10 @@ static void cl_ztrmm_cpu_func(void *descr[], void *cl_arg) #ifdef CHAMELEON_USE_CUDA static void cl_ztrmm_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum uplo; - MORSE_enum transA; - MORSE_enum diag; + cham_side_t side; + cham_uplo_t uplo; + cham_trans_t transA; + cham_diag_t diag; int M; int N; cuDoubleComplex alpha; diff --git a/runtime/starpu/codelets/codelet_ztrsm.c b/runtime/starpu/codelets/codelet_ztrsm.c index aa6a9bb2a8dc5b6bc22455396b261e87333c9ff4..8e281e53951bc31c778f3ac8696744dd5a774fa9 100644 --- a/runtime/starpu/codelets/codelet_ztrsm.c +++ b/runtime/starpu/codelets/codelet_ztrsm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,36 +28,36 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_ztrsm(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, +void INSERT_TASK_ztrsm(const RUNTIME_option_t *options, + cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag, int m, int n, int nb, - MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *B, int Bm, int Bn, int ldb) + CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *B, int Bm, int Bn, int ldb) { (void)nb; struct starpu_codelet *codelet = &cl_ztrsm; void (*callback)(void*) = options->profiling ? cl_ztrsm_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(B, Bm, Bn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(B, Bm, Bn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), - STARPU_VALUE, &transA, sizeof(MORSE_enum), - STARPU_VALUE, &diag, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &uplo, sizeof(int), + STARPU_VALUE, &transA, sizeof(int), + STARPU_VALUE, &diag, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_VALUE, &alpha, sizeof(CHAMELEON_Complex64_t), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), + STARPU_RW, RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn), STARPU_VALUE, &ldb, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -71,20 +71,20 @@ void MORSE_TASK_ztrsm(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztrsm_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum uplo; - MORSE_enum transA; - MORSE_enum diag; + cham_side_t side; + cham_uplo_t uplo; + cham_trans_t transA; + cham_diag_t diag; int m; int n; - MORSE_Complex64_t alpha; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t alpha; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *B; + CHAMELEON_Complex64_t *B; int ldb; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - B = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + B = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &side, &uplo, &transA, &diag, &m, &n, &alpha, &lda, &ldb); CORE_ztrsm(side, uplo, transA, diag, @@ -96,10 +96,10 @@ static void cl_ztrsm_cpu_func(void *descr[], void *cl_arg) #ifdef CHAMELEON_USE_CUDA static void cl_ztrsm_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum uplo; - MORSE_enum transA; - MORSE_enum diag; + cham_side_t side; + cham_uplo_t uplo; + cham_trans_t transA; + cham_diag_t diag; int m; int n; cuDoubleComplex alpha; diff --git a/runtime/starpu/codelets/codelet_ztrssq.c b/runtime/starpu/codelets/codelet_ztrssq.c index a5150873834854b62bfc6e0021692b6586f9dd1c..c3e9646b460c34a4071aca57414b382039317065 100644 --- a/runtime/starpu/codelets/codelet_ztrssq.c +++ b/runtime/starpu/codelets/codelet_ztrssq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @date 2010-11-15 * @precisions normal z -> c d s @@ -22,27 +22,27 @@ #include "chameleon_starpu.h" #include "runtime_codelet_z.h" -void MORSE_TASK_ztrssq( const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum diag, +void INSERT_TASK_ztrssq( const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_diag_t diag, int m, int n, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn ) { struct starpu_codelet *codelet = &cl_ztrssq; void (*callback)(void*) = options->profiling ? cl_ztrasm_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_RW(SCALESUMSQ, SCALESUMSQm, SCALESUMSQn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_RW(SCALESUMSQ, SCALESUMSQm, SCALESUMSQn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), - STARPU_VALUE, &diag, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), + STARPU_VALUE, &diag, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_RW, RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn), STARPU_PRIORITY, options->priority, @@ -57,15 +57,15 @@ void MORSE_TASK_ztrssq( const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztrssq_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; - MORSE_enum diag; + cham_uplo_t uplo; + cham_diag_t diag; int m; int n; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; double *SCALESUMSQ; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); SCALESUMSQ = (double *)STARPU_MATRIX_GET_PTR(descr[1]); starpu_codelet_unpack_args(cl_arg, &uplo, &diag, &m, &n, &lda); CORE_ztrssq( uplo, diag, m, n, A, lda, &SCALESUMSQ[0], &SCALESUMSQ[1]); diff --git a/runtime/starpu/codelets/codelet_ztrtri.c b/runtime/starpu/codelets/codelet_ztrtri.c index b6c53ad0a00593e1c2eafa71eecb99f56b84d53d..0d131109309a4fee3268358516f3572f77fc600c 100644 --- a/runtime/starpu/codelets/codelet_ztrtri.c +++ b/runtime/starpu/codelets/codelet_ztrtri.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Julien Langou * @author Henricus Bouwmeester * @author Mathieu Faverge @@ -28,29 +28,29 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_ztrtri(const MORSE_option_t *options, - MORSE_enum uplo, MORSE_enum diag, +void INSERT_TASK_ztrtri(const RUNTIME_option_t *options, + cham_uplo_t uplo, cham_diag_t diag, int n, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *A, int Am, int An, int lda, int iinfo) { (void)nb; struct starpu_codelet *codelet = &cl_ztrtri; void (*callback)(void*) = options->profiling ? cl_ztrtri_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A, Am, An); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &uplo, sizeof(MORSE_enum), - STARPU_VALUE, &diag, sizeof(MORSE_enum), + STARPU_VALUE, &uplo, sizeof(int), + STARPU_VALUE, &diag, sizeof(int), STARPU_VALUE, &n, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &iinfo, sizeof(int), STARPU_PRIORITY, options->priority, @@ -65,16 +65,16 @@ void MORSE_TASK_ztrtri(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztrtri_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum uplo; - MORSE_enum diag; + cham_uplo_t uplo; + cham_diag_t diag; int N; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int LDA; int iinfo; int info = 0; - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); starpu_codelet_unpack_args(cl_arg, &uplo, &diag, &N, &LDA, &iinfo); CORE_ztrtri(uplo, diag, N, A, LDA, &info); } diff --git a/runtime/starpu/codelets/codelet_ztslqt.c b/runtime/starpu/codelets/codelet_ztslqt.c index f99360108a02f5d7ec3fb0f240fcd56785306992..b014d170375507d2d59edf87d4f1559c4ff1b425 100644 --- a/runtime/starpu/codelets/codelet_ztslqt.c +++ b/runtime/starpu/codelets/codelet_ztslqt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztslqt computes a LQ factorization of a rectangular matrix * formed by coupling side-by-side a complex M-by-M @@ -95,43 +95,43 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_ztslqt(const MORSE_option_t *options, +void INSERT_TASK_ztslqt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { (void)nb; struct starpu_codelet *codelet = &cl_ztslqt; void (*callback)(void*) = options->profiling ? cl_ztslqt_callback : NULL; - MORSE_starpu_ws_t *h_work = (MORSE_starpu_ws_t*)(options->ws_host); + CHAMELEON_starpu_ws_t *h_work = (CHAMELEON_starpu_ws_t*)(options->ws_host); - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A1, A1m, A1n); - MORSE_ACCESS_RW(A2, A2m, A2n); - MORSE_ACCESS_W(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A1, A1m, A1n); + CHAMELEON_ACCESS_RW(A2, A2m, A2n); + CHAMELEON_ACCESS_W(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), + STARPU_RW, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), STARPU_VALUE, &lda1, sizeof(int), - STARPU_RW, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), + STARPU_RW, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), STARPU_VALUE, &lda2, sizeof(int), - STARPU_W, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_W, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), /* max( nb * (ib+1), ib * (ib+nb) ) */ STARPU_SCRATCH, options->ws_worker, /* /\* 2 * ib * (nb+ib) + nb *\/ */ - STARPU_VALUE, &h_work, sizeof(MORSE_starpu_ws_t *), + STARPU_VALUE, &h_work, sizeof(CHAMELEON_starpu_ws_t *), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, #if defined(CHAMELEON_CODELETS_HAVE_NAME) @@ -144,22 +144,22 @@ void MORSE_TASK_ztslqt(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztslqt_cpu_func(void *descr[], void *cl_arg) { - MORSE_starpu_ws_t *h_work; + CHAMELEON_starpu_ws_t *h_work; int m; int n; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU, *WORK; + CHAMELEON_Complex64_t *TAU, *WORK; - A1 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - A2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - TAU= (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* nb + ib*nb */ + A1 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + TAU= (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* nb + ib*nb */ starpu_codelet_unpack_args(cl_arg, &m, &n, &ib, &lda1, &lda2, &ldt, &h_work); diff --git a/runtime/starpu/codelets/codelet_ztsmlq.c b/runtime/starpu/codelets/codelet_ztsmlq.c index 5a9fd8b75093fcac223d52c5318eecda639db40e..b3943f914e1f412ed55bfcb378cbaba6842ba0bf 100644 --- a/runtime/starpu/codelets/codelet_ztsmlq.c +++ b/runtime/starpu/codelets/codelet_ztsmlq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Azzam Haidar @@ -30,7 +30,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztsmlq overwrites the general complex M1-by-N1 tile A1 and * M2-by-N2 tile A2 with @@ -52,12 +52,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M1 * The number of rows of the tile A1. M1 >= 0. @@ -67,11 +67,11 @@ * * @param[in] M2 * The number of rows of the tile A2. M2 >= 0. - * M2 = M1 if side == MorseRight. + * M2 = M1 if side == ChamRight. * * @param[in] N2 * The number of columns of the tile A2. N2 >= 0. - * N2 = N1 if side == MorseLeft. + * N2 = N1 if side == ChamLeft. * * @param[in] K * The number of elementary reflectors whose product defines @@ -112,58 +112,58 @@ * * @param[out] WORK * Workspace array of size - * LDWORK-by-M1 if side == MorseLeft - * LDWORK-by-IB if side == MorseRight + * LDWORK-by-M1 if side == ChamLeft + * LDWORK-by-IB if side == ChamRight * * @param[in] LDWORK * The leading dimension of the array WORK. - * LDWORK >= max(1,IB) if side == MorseLeft - * LDWORK >= max(1,N1) if side == MorseRight + * LDWORK >= max(1,IB) if side == ChamLeft + * LDWORK >= max(1,N1) if side == ChamRight * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_ztsmlq(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztsmlq(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { struct starpu_codelet *codelet = &cl_ztsmlq; void (*callback)(void*) = options->profiling ? cl_ztsmlq_callback : NULL; - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A1, A1m, A1n); - MORSE_ACCESS_RW(A2, A2m, A2n); - MORSE_ACCESS_R(V, Vm, Vn); - MORSE_ACCESS_R(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A1, A1m, A1n); + CHAMELEON_ACCESS_RW(A2, A2m, A2n); + CHAMELEON_ACCESS_R(V, Vm, Vn); + CHAMELEON_ACCESS_R(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &m1, sizeof(int), STARPU_VALUE, &n1, sizeof(int), STARPU_VALUE, &m2, sizeof(int), STARPU_VALUE, &n2, sizeof(int), STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), + STARPU_RW, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), STARPU_VALUE, &lda1, sizeof(int), - STARPU_RW, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), + STARPU_RW, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), STARPU_VALUE, &lda2, sizeof(int), - STARPU_R, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), + STARPU_R, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), STARPU_VALUE, &ldv, sizeof(int), - STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_R, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), /* max( ib*nb, 2*ib*nb ) */ STARPU_SCRATCH, options->ws_worker, @@ -180,30 +180,30 @@ void MORSE_TASK_ztsmlq(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztsmlq_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; - A1 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - A2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - V = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* ib * nb */ + A1 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + V = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* ib * nb */ starpu_codelet_unpack_args(cl_arg, &side, &trans, &m1, &n1, &m2, &n2, &k, &ib, &lda1, &lda2, &ldv, &ldt, &ldwork); @@ -215,8 +215,8 @@ static void cl_ztsmlq_cpu_func(void *descr[], void *cl_arg) #if defined(CHAMELEON_USE_CUDA) static void cl_ztsmlq_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; @@ -245,7 +245,7 @@ static void cl_ztsmlq_cuda_func(void *descr[], void *cl_arg) &lda1, &lda2, &ldv, &ldt, &ldwork); WC = W + ib * ldwork; - ldworkc = (side == MorseLeft) ? m1 : ib; + ldworkc = (side == ChamLeft) ? m1 : ib; RUNTIME_getStream(stream); diff --git a/runtime/starpu/codelets/codelet_ztsmlq_hetra1.c b/runtime/starpu/codelets/codelet_ztsmlq_hetra1.c index 06d59f1808a8fddfd8f12eb7f1cbf8b29632f7d2..3c60b7dd1dc9c2847bf0dc192c73afb2faef2270 100644 --- a/runtime/starpu/codelets/codelet_ztsmlq_hetra1.c +++ b/runtime/starpu/codelets/codelet_ztsmlq_hetra1.c @@ -24,33 +24,33 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_ztsmlq_hetra1(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztsmlq_hetra1(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { struct starpu_codelet *codelet = &cl_ztsmlq_hetra1; void (*callback)(void*) = options->profiling ? cl_ztsmlq_hetra1_callback : NULL; - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A1, A1m, A1n); - MORSE_ACCESS_RW(A2, A2m, A2n); - MORSE_ACCESS_R(V, Vm, Vn); - MORSE_ACCESS_R(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A1, A1m, A1n); + CHAMELEON_ACCESS_RW(A2, A2m, A2n); + CHAMELEON_ACCESS_R(V, Vm, Vn); + CHAMELEON_ACCESS_R(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &m1, sizeof(int), STARPU_VALUE, &n1, sizeof(int), STARPU_VALUE, &m2, sizeof(int), @@ -58,13 +58,13 @@ void MORSE_TASK_ztsmlq_hetra1(const MORSE_option_t *options, STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &ib, sizeof(int), STARPU_VALUE, &nb, sizeof(int), - STARPU_RW, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), + STARPU_RW, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), STARPU_VALUE, &lda1, sizeof(int), - STARPU_RW, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), + STARPU_RW, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), STARPU_VALUE, &lda2, sizeof(int), - STARPU_R, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), + STARPU_R, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), STARPU_VALUE, &ldv, sizeof(int), - STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_R, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), STARPU_SCRATCH, options->ws_worker, STARPU_VALUE, &ldwork, sizeof(int), @@ -79,8 +79,8 @@ void MORSE_TASK_ztsmlq_hetra1(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztsmlq_hetra1_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; @@ -88,23 +88,23 @@ static void cl_ztsmlq_hetra1_cpu_func(void *descr[], void *cl_arg) int k; int ib; int nb; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; - A1 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - A2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - V = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* ib * nb */ + A1 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + V = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* ib * nb */ starpu_codelet_unpack_args(cl_arg, &side, &trans, &m1, &n1, &m2, &n2, &k, &ib, &nb, &lda1, &lda2, &ldv, &ldt, &ldwork); diff --git a/runtime/starpu/codelets/codelet_ztsmqr.c b/runtime/starpu/codelets/codelet_ztsmqr.c index 9ba352f7af0af20e631da89cee80a41dba234809..0d0e14dcc50fbf61faa034a045a3ca31e8bf7efa 100644 --- a/runtime/starpu/codelets/codelet_ztsmqr.c +++ b/runtime/starpu/codelets/codelet_ztsmqr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Azzam Haidar @@ -30,7 +30,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztsmqr overwrites the general complex M1-by-N1 tile A1 and * M2-by-N2 tile A2 with @@ -52,12 +52,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M1 * The number of rows of the tile A1. M1 >= 0. @@ -67,11 +67,11 @@ * * @param[in] M2 * The number of rows of the tile A2. M2 >= 0. - * M2 = M1 if side == MorseRight. + * M2 = M1 if side == ChamRight. * * @param[in] N2 * The number of columns of the tile A2. N2 >= 0. - * N2 = N1 if side == MorseLeft. + * N2 = N1 if side == ChamLeft. * * @param[in] K * The number of elementary reflectors whose product defines @@ -112,59 +112,59 @@ * * @param[out] WORK * Workspace array of size - * LDWORK-by-N1 if side == MorseLeft - * LDWORK-by-IB if side == MorseRight + * LDWORK-by-N1 if side == ChamLeft + * LDWORK-by-IB if side == ChamRight * * @param[in] LDWORK * The leading dimension of the array WORK. - * LDWORK >= max(1,IB) if side == MorseLeft - * LDWORK >= max(1,M1) if side == MorseRight + * LDWORK >= max(1,IB) if side == ChamLeft + * LDWORK >= max(1,M1) if side == ChamRight * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_ztsmqr(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztsmqr(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { (void)nb; struct starpu_codelet *codelet = &cl_ztsmqr; void (*callback)(void*) = options->profiling ? cl_ztsmqr_callback : NULL; - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A1, A1m, A1n); - MORSE_ACCESS_RW(A2, A2m, A2n); - MORSE_ACCESS_R(V, Vm, Vn); - MORSE_ACCESS_R(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A1, A1m, A1n); + CHAMELEON_ACCESS_RW(A2, A2m, A2n); + CHAMELEON_ACCESS_R(V, Vm, Vn); + CHAMELEON_ACCESS_R(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &m1, sizeof(int), STARPU_VALUE, &n1, sizeof(int), STARPU_VALUE, &m2, sizeof(int), STARPU_VALUE, &n2, sizeof(int), STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), + STARPU_RW, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), STARPU_VALUE, &lda1, sizeof(int), - STARPU_RW, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), + STARPU_RW, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), STARPU_VALUE, &lda2, sizeof(int), - STARPU_R, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), + STARPU_R, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), STARPU_VALUE, &ldv, sizeof(int), - STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_R, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), /* max( ib*nb, 2*ib*nb ) */ STARPU_SCRATCH, options->ws_worker, @@ -184,30 +184,30 @@ void MORSE_TASK_ztsmqr(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztsmqr_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; - A1 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - A2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - V = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* ib * nb */ + A1 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + V = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* ib * nb */ starpu_codelet_unpack_args(cl_arg, &side, &trans, &m1, &n1, &m2, &n2, &k, &ib, &lda1, &lda2, &ldv, &ldt, &ldwork); @@ -219,8 +219,8 @@ static void cl_ztsmqr_cpu_func(void *descr[], void *cl_arg) #if defined(CHAMELEON_USE_CUDA) static void cl_ztsmqr_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; @@ -248,8 +248,8 @@ static void cl_ztsmqr_cuda_func(void *descr[], void *cl_arg) starpu_codelet_unpack_args(cl_arg, &side, &trans, &m1, &n1, &m2, &n2, &k, &ib, &lda1, &lda2, &ldv, &ldt, &ldwork); - WC = W + ib * (side == MorseLeft ? m1 : n1); - ldworkc = (side == MorseLeft) ? m2 : ib; + WC = W + ib * (side == ChamLeft ? m1 : n1); + ldworkc = (side == ChamLeft) ? m2 : ib; RUNTIME_getStream(stream); diff --git a/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c b/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c index afe7ae97d534a6957c0b5524eae518b80f92d4f5..a38c21bd6e12e01d10d5c5c2c00080d63161a0de 100644 --- a/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c +++ b/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c @@ -24,46 +24,46 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * */ -void MORSE_TASK_ztsmqr_hetra1(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_ztsmqr_hetra1(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { struct starpu_codelet *codelet = &cl_ztsmqr_hetra1; void (*callback)(void*) = options->profiling ? cl_ztsmqr_hetra1_callback : NULL; - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A1, A1m, A1n); - MORSE_ACCESS_RW(A2, A2m, A2n); - MORSE_ACCESS_R(V, Vm, Vn); - MORSE_ACCESS_R(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A1, A1m, A1n); + CHAMELEON_ACCESS_RW(A2, A2m, A2n); + CHAMELEON_ACCESS_R(V, Vm, Vn); + CHAMELEON_ACCESS_R(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &m1, sizeof(int), STARPU_VALUE, &n1, sizeof(int), STARPU_VALUE, &m2, sizeof(int), STARPU_VALUE, &n2, sizeof(int), STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), + STARPU_RW, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), STARPU_VALUE, &lda1, sizeof(int), - STARPU_RW, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), + STARPU_RW, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), STARPU_VALUE, &lda2, sizeof(int), - STARPU_R, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), + STARPU_R, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), STARPU_VALUE, &ldv, sizeof(int), - STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_R, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), STARPU_SCRATCH, options->ws_worker, STARPU_VALUE, &ldwork, sizeof(int), @@ -78,32 +78,32 @@ void MORSE_TASK_ztsmqr_hetra1(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztsmqr_hetra1_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; /* TODO: manage workspace */ - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; - A1 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - A2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - V = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); + A1 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + V = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); starpu_codelet_unpack_args(cl_arg, &side, &trans, &m1, &n1, &m2, &n2, &k, &ib, &lda1, &lda2, &ldv, &ldt, &ldwork); diff --git a/runtime/starpu/codelets/codelet_ztsqrt.c b/runtime/starpu/codelets/codelet_ztsqrt.c index 00c75abd7ba0e8b066f6ef05e80c711af818b9eb..f54f82b17e4d283a01653b6bcef242a084bafffd 100644 --- a/runtime/starpu/codelets/codelet_ztsqrt.c +++ b/runtime/starpu/codelets/codelet_ztsqrt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztsqrt computes a QR factorization of a rectangular matrix * formed by coupling a complex N-by-N upper triangular tile A1 @@ -84,43 +84,43 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_ztsqrt(const MORSE_option_t *options, +void INSERT_TASK_ztsqrt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { (void)nb; struct starpu_codelet *codelet = &cl_ztsqrt; void (*callback)(void*) = options->profiling ? cl_ztsqrt_callback : NULL; - MORSE_starpu_ws_t *h_work = (MORSE_starpu_ws_t*)(options->ws_host); + CHAMELEON_starpu_ws_t *h_work = (CHAMELEON_starpu_ws_t*)(options->ws_host); - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A1, A1m, A1n); - MORSE_ACCESS_RW(A2, A2m, A2n); - MORSE_ACCESS_W(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A1, A1m, A1n); + CHAMELEON_ACCESS_RW(A2, A2m, A2n); + CHAMELEON_ACCESS_W(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), + STARPU_RW, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), STARPU_VALUE, &lda1, sizeof(int), - STARPU_RW, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), + STARPU_RW, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), STARPU_VALUE, &lda2, sizeof(int), - STARPU_W, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn ), + STARPU_W, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn ), STARPU_VALUE, &ldt, sizeof(int), /* max( nb * (ib+1), ib * (ib+nb) ) */ STARPU_SCRATCH, options->ws_worker, /* 2 * ib * (nb+ib) + nb */ - STARPU_VALUE, &h_work, sizeof(MORSE_starpu_ws_t *), + STARPU_VALUE, &h_work, sizeof(CHAMELEON_starpu_ws_t *), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, #if defined(CHAMELEON_USE_MPI) @@ -136,22 +136,22 @@ void MORSE_TASK_ztsqrt(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztsqrt_cpu_func(void *descr[], void *cl_arg) { - MORSE_starpu_ws_t *h_work; + CHAMELEON_starpu_ws_t *h_work; int m; int n; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU, *WORK; + CHAMELEON_Complex64_t *TAU, *WORK; - A1 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - A2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - TAU= (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* nb + ib*nb */ + A1 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + TAU= (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* nb + ib*nb */ starpu_codelet_unpack_args(cl_arg, &m, &n, &ib, &lda1, &lda2, &ldt, &h_work); diff --git a/runtime/starpu/codelets/codelet_ztstrf.c b/runtime/starpu/codelets/codelet_ztstrf.c index 116373281b7bac40852af48ad0bf4314a4ccf138..b943c4091373dd260dc67247652e9eed82b8fa2e 100644 --- a/runtime/starpu/codelets/codelet_ztstrf.c +++ b/runtime/starpu/codelets/codelet_ztstrf.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_ztstrf computes an LU factorization of a complex matrix formed * by an upper triangular NB-by-N tile U on top of a M-by-N tile A @@ -84,7 +84,7 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if INFO = -k, the k-th argument had an illegal value * \retval >0 if INFO = k, U(k,k) is exactly zero. The factorization * has been completed, but the factor U is exactly @@ -93,24 +93,24 @@ * */ -void MORSE_TASK_ztstrf(const MORSE_option_t *options, +void INSERT_TASK_ztstrf(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *U, int Um, int Un, int ldu, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *L, int Lm, int Ln, int ldl, + const CHAM_desc_t *U, int Um, int Un, int ldu, + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *L, int Lm, int Ln, int ldl, int *IPIV, - MORSE_bool check_info, int iinfo) + cham_bool_t check_info, int iinfo) { (void)nb; struct starpu_codelet *codelet = &cl_ztstrf; void (*callback)(void*) = options->profiling ? cl_ztstrf_callback : NULL; - MORSE_starpu_ws_t *d_work = (MORSE_starpu_ws_t*)(options->ws_host); + CHAMELEON_starpu_ws_t *d_work = (CHAMELEON_starpu_ws_t*)(options->ws_host); - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(U, Um, Un); - MORSE_ACCESS_RW(A, Am, An); - MORSE_ACCESS_W(L, Lm, Ln); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(U, Um, Un); + CHAMELEON_ACCESS_RW(A, Am, An); + CHAMELEON_ACCESS_W(L, Lm, Ln); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), @@ -118,17 +118,17 @@ void MORSE_TASK_ztstrf(const MORSE_option_t *options, STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &ib, sizeof(int), STARPU_VALUE, &nb, sizeof(int), - STARPU_RW, RTBLKADDR(U, MORSE_Complex64_t, Um, Un), + STARPU_RW, RTBLKADDR(U, CHAMELEON_Complex64_t, Um, Un), STARPU_VALUE, &ldu, sizeof(int), - STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_RW, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_W, RTBLKADDR(L, MORSE_Complex64_t, Lm, Ln), + STARPU_W, RTBLKADDR(L, CHAMELEON_Complex64_t, Lm, Ln), STARPU_VALUE, &ldl, sizeof(int), STARPU_VALUE, &IPIV, sizeof(int*), STARPU_SCRATCH, options->ws_worker, - STARPU_VALUE, &d_work, sizeof(MORSE_starpu_ws_t *), + STARPU_VALUE, &d_work, sizeof(CHAMELEON_starpu_ws_t *), STARPU_VALUE, &nb, sizeof(int), - STARPU_VALUE, &check_info, sizeof(MORSE_bool), + STARPU_VALUE, &check_info, sizeof(cham_bool_t), STARPU_VALUE, &iinfo, sizeof(int), STARPU_PRIORITY, options->priority, STARPU_CALLBACK, callback, @@ -142,29 +142,29 @@ void MORSE_TASK_ztstrf(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_ztstrf_cpu_func(void *descr[], void *cl_arg) { - MORSE_starpu_ws_t *d_work; + CHAMELEON_starpu_ws_t *d_work; int m; int n; int ib; int nb; - MORSE_Complex64_t *U; + CHAMELEON_Complex64_t *U; int ldu; - MORSE_Complex64_t *A; + CHAMELEON_Complex64_t *A; int lda; - MORSE_Complex64_t *L; + CHAMELEON_Complex64_t *L; int ldl; int *IPIV; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; - MORSE_bool check_info; + cham_bool_t check_info; int iinfo; int info = 0; - U = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - A = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - L = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); + U = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + L = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); starpu_codelet_unpack_args(cl_arg, &m, &n, &ib, &nb, &ldu, &lda, &ldl, &IPIV, &d_work, &ldwork, &check_info, &iinfo); diff --git a/runtime/starpu/codelets/codelet_zttlqt.c b/runtime/starpu/codelets/codelet_zttlqt.c index e3901fce40d0bf5af7231e077048f2cef32b7381..dc8c15e3788cf5daf0eb52de7ebfc6f4dfe4993d 100644 --- a/runtime/starpu/codelets/codelet_zttlqt.c +++ b/runtime/starpu/codelets/codelet_zttlqt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Dulceneia Becker * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zttlqt computes a LQ factorization of a rectangular matrix * formed by coupling side-by-side a complex M-by-M lower triangular tile A1 @@ -96,37 +96,37 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zttlqt(const MORSE_option_t *options, +void INSERT_TASK_zttlqt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { (void)nb; struct starpu_codelet *codelet = &cl_zttlqt; void (*callback)(void*) = options->profiling ? cl_zttlqt_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A1, A1m, A1n); - MORSE_ACCESS_RW(A2, A2m, A2n); - MORSE_ACCESS_W(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A1, A1m, A1n); + CHAMELEON_ACCESS_RW(A2, A2m, A2n); + CHAMELEON_ACCESS_W(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), + STARPU_RW, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), STARPU_VALUE, &lda1, sizeof(int), - STARPU_RW, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), + STARPU_RW, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), STARPU_VALUE, &lda2, sizeof(int), - STARPU_W, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_W, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), /* nb * (ib+1) */ STARPU_SCRATCH, options->ws_worker, @@ -145,19 +145,19 @@ static void cl_zttlqt_cpu_func(void *descr[], void *cl_arg) int m; int n; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; - A1 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - A2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - TAU = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* nb * (ib+1) */ + A1 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + TAU = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* nb * (ib+1) */ starpu_codelet_unpack_args(cl_arg, &m, &n, &ib, &lda1, &lda2, &ldt); diff --git a/runtime/starpu/codelets/codelet_zttmlq.c b/runtime/starpu/codelets/codelet_zttmlq.c index 44f3d6a14a59b495c875b68ce20c7875ad5cd572..8d40316cfbf99e86a9b13d3eff9f8a6f510f9def 100644 --- a/runtime/starpu/codelets/codelet_zttmlq.c +++ b/runtime/starpu/codelets/codelet_zttmlq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Dulceneia Becker * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zttmlq overwrites the general complex M1-by-N1 tile A1 and * M2-by-N2 tile A2 (N1 == N2) with @@ -50,12 +50,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M1 * The number of rows of the tile A1. M1 >= 0. @@ -115,48 +115,48 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zttmlq(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_zttmlq(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { (void)nb; struct starpu_codelet *codelet = &cl_zttmlq; void (*callback)(void*) = options->profiling ? cl_zttmlq_callback : NULL; - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A1, A1m, A1n); - MORSE_ACCESS_RW(A2, A2m, A2n); - MORSE_ACCESS_R(V, Vm, Vn); - MORSE_ACCESS_R(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A1, A1m, A1n); + CHAMELEON_ACCESS_RW(A2, A2m, A2n); + CHAMELEON_ACCESS_R(V, Vm, Vn); + CHAMELEON_ACCESS_R(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &m1, sizeof(int), STARPU_VALUE, &n1, sizeof(int), STARPU_VALUE, &m2, sizeof(int), STARPU_VALUE, &n2, sizeof(int), STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), + STARPU_RW, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), STARPU_VALUE, &lda1, sizeof(int), - STARPU_RW, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), + STARPU_RW, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), STARPU_VALUE, &lda2, sizeof(int), - STARPU_R, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), + STARPU_R, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), STARPU_VALUE, &ldv, sizeof(int), - STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_R, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), /* nb * ib */ STARPU_SCRATCH, options->ws_worker, @@ -173,30 +173,30 @@ void MORSE_TASK_zttmlq(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zttmlq_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; - A1 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - A2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - V = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* nb * ib */ + A1 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + V = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* nb * ib */ starpu_codelet_unpack_args(cl_arg, &side, &trans, &m1, &n1, &m2, &n2, &k, &ib, &lda1, &lda2, &ldv, &ldt, &ldwork); diff --git a/runtime/starpu/codelets/codelet_zttmqr.c b/runtime/starpu/codelets/codelet_zttmqr.c index e25e68f45703b65b9afe1fb0481d7c50b471e6f3..2cc96b354f6f64d4da0ebd3a6cbd5cbf0327761a 100644 --- a/runtime/starpu/codelets/codelet_zttmqr.c +++ b/runtime/starpu/codelets/codelet_zttmqr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Dulceneia Becker * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zttmqr overwrites the general complex M1-by-N1 tile A1 and * M2-by-N2 tile A2 (N1 == N2) with @@ -50,12 +50,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : ConjTranspose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : ConjTranspose, apply Q**H. * * @param[in] M1 * The number of rows of the tile A1. M1 >= 0. @@ -65,11 +65,11 @@ * * @param[in] M2 * The number of rows of the tile A2. M2 >= 0. - * M2 = M1 if side == MorseRight. + * M2 = M1 if side == ChamRight. * * @param[in] N2 * The number of columns of the tile A2. N2 >= 0. - * N2 = N1 if side == MorseLeft. + * N2 = N1 if side == ChamLeft. * * @param[in] K * The number of elementary reflectors whose product defines @@ -110,59 +110,59 @@ * * @param[out] WORK * Workspace array of size - * LDWORK-by-N1 if side == MorseLeft - * LDWORK-by-IB if side == MorseRight + * LDWORK-by-N1 if side == ChamLeft + * LDWORK-by-IB if side == ChamRight * * @param[in] LDWORK * The leading dimension of the array WORK. - * LDWORK >= max(1,IB) if side == MorseLeft - * LDWORK >= max(1,M1) if side == MorseRight + * LDWORK >= max(1,IB) if side == ChamLeft + * LDWORK >= max(1,M1) if side == ChamRight * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zttmqr(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_zttmqr(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m1, int n1, int m2, int n2, int k, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *V, int Vm, int Vn, int ldv, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *V, int Vm, int Vn, int ldv, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { (void)nb; struct starpu_codelet *codelet = &cl_zttmqr; void (*callback)(void*) = options->profiling ? cl_zttmqr_callback : NULL; - int ldwork = side == MorseLeft ? ib : nb; + int ldwork = side == ChamLeft ? ib : nb; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A1, A1m, A1n); - MORSE_ACCESS_RW(A2, A2m, A2n); - MORSE_ACCESS_R(V, Vm, Vn); - MORSE_ACCESS_R(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A1, A1m, A1n); + CHAMELEON_ACCESS_RW(A2, A2m, A2n); + CHAMELEON_ACCESS_R(V, Vm, Vn); + CHAMELEON_ACCESS_R(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &m1, sizeof(int), STARPU_VALUE, &n1, sizeof(int), STARPU_VALUE, &m2, sizeof(int), STARPU_VALUE, &n2, sizeof(int), STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), + STARPU_RW, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), STARPU_VALUE, &lda1, sizeof(int), - STARPU_RW, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), + STARPU_RW, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), STARPU_VALUE, &lda2, sizeof(int), - STARPU_R, RTBLKADDR(V, MORSE_Complex64_t, Vm, Vn), + STARPU_R, RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn), STARPU_VALUE, &ldv, sizeof(int), - STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_R, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), /* max( ib*nb, 2*ib*nb ) */ STARPU_SCRATCH, options->ws_worker, @@ -182,30 +182,30 @@ void MORSE_TASK_zttmqr(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zttmqr_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; int n2; int k; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *V; + CHAMELEON_Complex64_t *V; int ldv; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; - A1 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - A2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - V = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* ib * nb */ + A1 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + V = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[4]); /* ib * nb */ starpu_codelet_unpack_args(cl_arg, &side, &trans, &m1, &n1, &m2, &n2, &k, &ib, &lda1, &lda2, &ldv, &ldt, &ldwork); @@ -217,8 +217,8 @@ static void cl_zttmqr_cpu_func(void *descr[], void *cl_arg) #if defined(CHAMELEON_USE_CUDA) static void cl_zttmqr_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m1; int n1; int m2; @@ -246,8 +246,8 @@ static void cl_zttmqr_cuda_func(void *descr[], void *cl_arg) starpu_codelet_unpack_args(cl_arg, &side, &trans, &m1, &n1, &m2, &n2, &k, &ib, &lda1, &lda2, &ldv, &ldt, &ldwork); - WC = W + ib * (side == MorseLeft ? m1 : n1); - ldworkc = (side == MorseLeft) ? m2 : ib; + WC = W + ib * (side == ChamLeft ? m1 : n1); + ldworkc = (side == ChamLeft) ? m2 : ib; RUNTIME_getStream(stream); diff --git a/runtime/starpu/codelets/codelet_zttqrt.c b/runtime/starpu/codelets/codelet_zttqrt.c index afee62a04449e8b4d8828e21c3cb239571c9a6ea..6370770f0fa7e1cd380d2bc189deecf43cabaadf 100644 --- a/runtime/starpu/codelets/codelet_zttqrt.c +++ b/runtime/starpu/codelets/codelet_zttqrt.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Dulceneia Becker * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zttqrt computes a QR factorization of a rectangular matrix * formed by coupling a complex N-by-N upper triangular tile A1 @@ -96,37 +96,37 @@ ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zttqrt(const MORSE_option_t *options, +void INSERT_TASK_zttqrt(const RUNTIME_option_t *options, int m, int n, int ib, int nb, - const MORSE_desc_t *A1, int A1m, int A1n, int lda1, - const MORSE_desc_t *A2, int A2m, int A2n, int lda2, - const MORSE_desc_t *T, int Tm, int Tn, int ldt) + const CHAM_desc_t *A1, int A1m, int A1n, int lda1, + const CHAM_desc_t *A2, int A2m, int A2n, int lda2, + const CHAM_desc_t *T, int Tm, int Tn, int ldt) { (void)nb; struct starpu_codelet *codelet = &cl_zttqrt; void (*callback)(void*) = options->profiling ? cl_zttqrt_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_RW(A1, A1m, A1n); - MORSE_ACCESS_RW(A2, A2m, A2n); - MORSE_ACCESS_W(T, Tm, Tn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_RW(A1, A1m, A1n); + CHAMELEON_ACCESS_RW(A2, A2m, A2n); + CHAMELEON_ACCESS_W(T, Tm, Tn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_RW, RTBLKADDR(A1, MORSE_Complex64_t, A1m, A1n), + STARPU_RW, RTBLKADDR(A1, CHAMELEON_Complex64_t, A1m, A1n), STARPU_VALUE, &lda1, sizeof(int), - STARPU_RW, RTBLKADDR(A2, MORSE_Complex64_t, A2m, A2n), + STARPU_RW, RTBLKADDR(A2, CHAMELEON_Complex64_t, A2m, A2n), STARPU_VALUE, &lda2, sizeof(int), - STARPU_W, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_W, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), /* nb * (ib+1) */ STARPU_SCRATCH, options->ws_worker, @@ -148,19 +148,19 @@ static void cl_zttqrt_cpu_func(void *descr[], void *cl_arg) int m; int n; int ib; - MORSE_Complex64_t *A1; + CHAMELEON_Complex64_t *A1; int lda1; - MORSE_Complex64_t *A2; + CHAMELEON_Complex64_t *A2; int lda2; - MORSE_Complex64_t *T; + CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *TAU; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *TAU; + CHAMELEON_Complex64_t *WORK; - A1 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - A2 = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - T = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - TAU = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* nb * (ib+1) */ + A1 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + A2 = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + T = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + TAU = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* nb * (ib+1) */ starpu_codelet_unpack_args(cl_arg, &m, &n, &ib, &lda1, &lda2, &ldt); diff --git a/runtime/starpu/codelets/codelet_zunmlq.c b/runtime/starpu/codelets/codelet_zunmlq.c index f7d147ccf398685a80361a8810f02fadffeeb67e..114a4b75a89b375e4079aff8e91c5897f9fca3a4 100644 --- a/runtime/starpu/codelets/codelet_zunmlq.c +++ b/runtime/starpu/codelets/codelet_zunmlq.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Dulceneia Becker @@ -29,7 +29,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zunmlq overwrites the general complex M-by-N tile C with * @@ -48,12 +48,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : Transpose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : Transpose, apply Q**H. * * @param[in] M * The number of rows of the tile C. M >= 0. @@ -64,15 +64,15 @@ * @param[in] K * The number of elementary reflectors whose product defines * the matrix Q. - * If SIDE = MorseLeft, M >= K >= 0; - * if SIDE = MorseRight, N >= K >= 0. + * If SIDE = ChamLeft, M >= K >= 0; + * if SIDE = ChamRight, N >= K >= 0. * * @param[in] IB * The inner-blocking size. IB >= 0. * * @param[in] A - * Dimension: (LDA,M) if SIDE = MorseLeft, - * (LDA,N) if SIDE = MorseRight, + * Dimension: (LDA,M) if SIDE = ChamLeft, + * (LDA,N) if SIDE = ChamRight, * The i-th row must contain the vector which defines the * elementary reflector H(i), for i = 1,2,...,k, as returned by * CORE_zgelqt in the first k rows of its array argument A. @@ -100,46 +100,46 @@ * * @param[in] LDWORK * The dimension of the array WORK. - * If SIDE = MorseLeft, LDWORK >= max(1,N); - * if SIDE = MorseRight, LDWORK >= max(1,M). + * If SIDE = ChamLeft, LDWORK >= max(1,N); + * if SIDE = ChamRight, LDWORK >= max(1,M). * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zunmlq(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_zunmlq(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m, int n, int k, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *C, int Cm, int Cn, int ldc) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *C, int Cm, int Cn, int ldc) { struct starpu_codelet *codelet = &cl_zunmlq; void (*callback)(void*) = options->profiling ? cl_zunmlq_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_R(T, Tm, Tn); - MORSE_ACCESS_RW(C, Cm, Cn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_R(T, Tm, Tn); + CHAMELEON_ACCESS_RW(C, Cm, Cn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_R, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), - STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), + STARPU_RW, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), STARPU_VALUE, &ldc, sizeof(int), /* ib * nb */ STARPU_SCRATCH, options->ws_worker, @@ -156,25 +156,25 @@ void MORSE_TASK_zunmlq(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zunmlq_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m; int n; int k; int ib; - const MORSE_Complex64_t *A; + const CHAMELEON_Complex64_t *A; int lda; - const MORSE_Complex64_t *T; + const CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; - A = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - T = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - C = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* ib * nb */ + A = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + T = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + C = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* ib * nb */ starpu_codelet_unpack_args(cl_arg, &side, &trans, &m, &n, &k, &ib, &lda, &ldt, &ldc, &ldwork); @@ -186,8 +186,8 @@ static void cl_zunmlq_cpu_func(void *descr[], void *cl_arg) #if defined(CHAMELEON_USE_CUDA) static void cl_zunmlq_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m; int n; int k; diff --git a/runtime/starpu/codelets/codelet_zunmqr.c b/runtime/starpu/codelets/codelet_zunmqr.c index 7beabcf9e08ca6f306ff472d424445709088186c..72d83f59d3ab1867289071ede7d38d718c387d6f 100644 --- a/runtime/starpu/codelets/codelet_zunmqr.c +++ b/runtime/starpu/codelets/codelet_zunmqr.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Jakub Kurzak * @author Mathieu Faverge @@ -28,7 +28,7 @@ /** * - * @ingroup CORE_MORSE_Complex64_t + * @ingroup CORE_CHAMELEON_Complex64_t * * CORE_zunmqr overwrites the general complex M-by-N tile C with * @@ -47,12 +47,12 @@ ******************************************************************************* * * @param[in] side - * @arg MorseLeft : apply Q or Q**H from the Left; - * @arg MorseRight : apply Q or Q**H from the Right. + * @arg ChamLeft : apply Q or Q**H from the Left; + * @arg ChamRight : apply Q or Q**H from the Right. * * @param[in] trans - * @arg MorseNoTrans : No transpose, apply Q; - * @arg MorseConjTrans : Transpose, apply Q**H. + * @arg ChamNoTrans : No transpose, apply Q; + * @arg ChamConjTrans : Transpose, apply Q**H. * * @param[in] M * The number of rows of the tile C. M >= 0. @@ -63,8 +63,8 @@ * @param[in] K * The number of elementary reflectors whose product defines * the matrix Q. - * If SIDE = MorseLeft, M >= K >= 0; - * if SIDE = MorseRight, N >= K >= 0. + * If SIDE = ChamLeft, M >= K >= 0; + * if SIDE = ChamRight, N >= K >= 0. * * @param[in] IB * The inner-blocking size. IB >= 0. @@ -77,8 +77,8 @@ * * @param[in] LDA * The leading dimension of the array A. - * If SIDE = MorseLeft, LDA >= max(1,M); - * if SIDE = MorseRight, LDA >= max(1,N). + * If SIDE = ChamLeft, LDA >= max(1,M); + * if SIDE = ChamRight, LDA >= max(1,N). * * @param[in] T * The IB-by-K triangular factor T of the block reflector. @@ -100,46 +100,46 @@ * * @param[in] LDWORK * The dimension of the array WORK. - * If SIDE = MorseLeft, LDWORK >= max(1,N); - * if SIDE = MorseRight, LDWORK >= max(1,M). + * If SIDE = ChamLeft, LDWORK >= max(1,N); + * if SIDE = ChamRight, LDWORK >= max(1,M). * ******************************************************************************* * * @return - * \retval MORSE_SUCCESS successful exit + * \retval CHAMELEON_SUCCESS successful exit * \retval <0 if -i, the i-th argument had an illegal value * */ -void MORSE_TASK_zunmqr(const MORSE_option_t *options, - MORSE_enum side, MORSE_enum trans, +void INSERT_TASK_zunmqr(const RUNTIME_option_t *options, + cham_side_t side, cham_trans_t trans, int m, int n, int k, int ib, int nb, - const MORSE_desc_t *A, int Am, int An, int lda, - const MORSE_desc_t *T, int Tm, int Tn, int ldt, - const MORSE_desc_t *C, int Cm, int Cn, int ldc) + const CHAM_desc_t *A, int Am, int An, int lda, + const CHAM_desc_t *T, int Tm, int Tn, int ldt, + const CHAM_desc_t *C, int Cm, int Cn, int ldc) { struct starpu_codelet *codelet = &cl_zunmqr; void (*callback)(void*) = options->profiling ? cl_zunmqr_callback : NULL; - MORSE_BEGIN_ACCESS_DECLARATION; - MORSE_ACCESS_R(A, Am, An); - MORSE_ACCESS_R(T, Tm, Tn); - MORSE_ACCESS_RW(C, Cm, Cn); - MORSE_END_ACCESS_DECLARATION; + CHAMELEON_BEGIN_ACCESS_DECLARATION; + CHAMELEON_ACCESS_R(A, Am, An); + CHAMELEON_ACCESS_R(T, Tm, Tn); + CHAMELEON_ACCESS_RW(C, Cm, Cn); + CHAMELEON_END_ACCESS_DECLARATION; starpu_insert_task( starpu_mpi_codelet(codelet), - STARPU_VALUE, &side, sizeof(MORSE_enum), - STARPU_VALUE, &trans, sizeof(MORSE_enum), + STARPU_VALUE, &side, sizeof(int), + STARPU_VALUE, &trans, sizeof(int), STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &ib, sizeof(int), - STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), + STARPU_R, RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An), STARPU_VALUE, &lda, sizeof(int), - STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), + STARPU_R, RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn), STARPU_VALUE, &ldt, sizeof(int), - STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), + STARPU_RW, RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn), STARPU_VALUE, &ldc, sizeof(int), /* ib * nb */ STARPU_SCRATCH, options->ws_worker, @@ -156,25 +156,25 @@ void MORSE_TASK_zunmqr(const MORSE_option_t *options, #if !defined(CHAMELEON_SIMULATION) static void cl_zunmqr_cpu_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m; int n; int k; int ib; - const MORSE_Complex64_t *A; + const CHAMELEON_Complex64_t *A; int lda; - const MORSE_Complex64_t *T; + const CHAMELEON_Complex64_t *T; int ldt; - MORSE_Complex64_t *C; + CHAMELEON_Complex64_t *C; int ldc; - MORSE_Complex64_t *WORK; + CHAMELEON_Complex64_t *WORK; int ldwork; - A = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); - T = (const MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); - C = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); - WORK = (MORSE_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* ib * nb */ + A = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[0]); + T = (const CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[1]); + C = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[2]); + WORK = (CHAMELEON_Complex64_t *)STARPU_MATRIX_GET_PTR(descr[3]); /* ib * nb */ starpu_codelet_unpack_args(cl_arg, &side, &trans, &m, &n, &k, &ib, &lda, &ldt, &ldc, &ldwork); @@ -186,8 +186,8 @@ static void cl_zunmqr_cpu_func(void *descr[], void *cl_arg) #if defined(CHAMELEON_USE_CUDA) static void cl_zunmqr_cuda_func(void *descr[], void *cl_arg) { - MORSE_enum side; - MORSE_enum trans; + cham_side_t side; + cham_trans_t trans; int m; int n; int k; diff --git a/runtime/starpu/control/runtime_async.c b/runtime/starpu/control/runtime_async.c index 153943f918aab87145b30a8e97412d079c3ada00..c1b776c63a6e6edbb6812958169eb44943623731 100644 --- a/runtime/starpu/control/runtime_async.c +++ b/runtime/starpu/control/runtime_async.c @@ -23,54 +23,54 @@ /** * Create a sequence */ -int RUNTIME_sequence_create( MORSE_context_t *morse, - MORSE_sequence_t *sequence ) +int RUNTIME_sequence_create( CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence ) { - (void)morse; + (void)chamctxt; (void)sequence; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Destroy a sequence */ -int RUNTIME_sequence_destroy( MORSE_context_t *morse, - MORSE_sequence_t *sequence ) +int RUNTIME_sequence_destroy( CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence ) { - (void)morse; + (void)chamctxt; (void)sequence; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Wait for the completion of a sequence */ -int RUNTIME_sequence_wait( MORSE_context_t *morse, - MORSE_sequence_t *sequence ) +int RUNTIME_sequence_wait( CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence ) { - (void)morse; + (void)chamctxt; (void)sequence; - if (morse->progress_enabled) { - RUNTIME_progress(morse); + if (chamctxt->progress_enabled) { + RUNTIME_progress(chamctxt); } starpu_task_wait_for_all(); #if defined(CHAMELEON_USE_MPI) starpu_mpi_barrier(MPI_COMM_WORLD); #endif - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Terminate a sequence */ -void RUNTIME_sequence_flush( MORSE_context_t *morse, - MORSE_sequence_t *sequence, - MORSE_request_t *request, +void RUNTIME_sequence_flush( CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence, + RUNTIME_request_t *request, int status ) { - (void)morse; + (void)chamctxt; sequence->request = request; sequence->status = status; request->status = status; diff --git a/runtime/starpu/control/runtime_context.c b/runtime/starpu/control/runtime_context.c index 0dbaf64b846a77cfb071995cbc3cfcbc2a7caae7..128841d2dabe2bd5b4fb7498fca26b7eab208162 100644 --- a/runtime/starpu/control/runtime_context.c +++ b/runtime/starpu/control/runtime_context.c @@ -35,20 +35,20 @@ int _starpu_is_initialized(void); /** * Create new context */ -void RUNTIME_context_create( MORSE_context_t *morse ) +void RUNTIME_context_create( CHAM_context_t *chamctxt ) { starpu_conf_t *conf; - morse->scheduler = RUNTIME_SCHED_STARPU; + chamctxt->scheduler = RUNTIME_SCHED_STARPU; if (! starpu_is_initialized() ) { - morse->schedopt = (void*) malloc (sizeof(struct starpu_conf)); - conf = morse->schedopt; + chamctxt->schedopt = (void*) malloc (sizeof(struct starpu_conf)); + conf = chamctxt->schedopt; starpu_conf_init( conf ); } else { - morse->schedopt = NULL; + chamctxt->schedopt = NULL; } return; @@ -57,11 +57,11 @@ void RUNTIME_context_create( MORSE_context_t *morse ) /** * Clean the context */ -void RUNTIME_context_destroy( MORSE_context_t *morse ) +void RUNTIME_context_destroy( CHAM_context_t *chamctxt ) { /* StarPU was already initialized by an external library */ - if (morse->schedopt) { - free(morse->schedopt); + if (chamctxt->schedopt) { + free(chamctxt->schedopt); } return; } @@ -69,14 +69,14 @@ void RUNTIME_context_destroy( MORSE_context_t *morse ) /** * */ -void RUNTIME_enable( MORSE_enum lever ) +void RUNTIME_enable( int lever ) { switch (lever) { - case MORSE_PROFILING_MODE: + case CHAMELEON_PROFILING_MODE: starpu_profiling_status_set(STARPU_PROFILING_ENABLE); break; - case MORSE_BOUND: + case CHAMELEON_BOUND: starpu_bound_start(0, 0); break; default: @@ -88,14 +88,14 @@ void RUNTIME_enable( MORSE_enum lever ) /** * */ -void RUNTIME_disable( MORSE_enum lever ) +void RUNTIME_disable( int lever ) { switch (lever) { - case MORSE_PROFILING_MODE: + case CHAMELEON_PROFILING_MODE: starpu_profiling_status_set(STARPU_PROFILING_DISABLE); break; - case MORSE_BOUND: + case CHAMELEON_BOUND: starpu_bound_stop(); break; default: diff --git a/runtime/starpu/control/runtime_control.c b/runtime/starpu/control/runtime_control.c index a6980cbb1e64428275019dded927626bd99d164c..fac25fc0ad61984a97bf6937b9e2a10284e944fe 100644 --- a/runtime/starpu/control/runtime_control.c +++ b/runtime/starpu/control/runtime_control.c @@ -25,12 +25,12 @@ /** * */ -int RUNTIME_init( MORSE_context_t *morse, +int RUNTIME_init( CHAM_context_t *chamctxt, int ncpus, int ncudas, int nthreads_per_worker ) { - starpu_conf_t *conf = (starpu_conf_t*)(morse->schedopt); + starpu_conf_t *conf = (starpu_conf_t*)(chamctxt->schedopt); int hres = -1; /* StarPU was already initialized by an external library */ @@ -64,14 +64,14 @@ int RUNTIME_init( MORSE_context_t *morse, if ((ncpus == -1)||(nthreads_per_worker == -1)) { - morse->parallel_enabled = MORSE_FALSE; + chamctxt->parallel_enabled = CHAMELEON_FALSE; hres = starpu_init( conf ); } else { int worker; - morse->parallel_enabled = MORSE_TRUE; + chamctxt->parallel_enabled = CHAMELEON_TRUE; for (worker = 0; worker < ncpus; worker++) conf->workers_bindid[worker] = (worker+1)*nthreads_per_worker - 1; @@ -83,8 +83,8 @@ int RUNTIME_init( MORSE_context_t *morse, hres = starpu_init( conf ); - morse->nworkers = ncpus; - morse->nthreads_per_worker = nthreads_per_worker; + chamctxt->nworkers = ncpus; + chamctxt->nthreads_per_worker = nthreads_per_worker; } #ifdef HAVE_STARPU_MALLOC_ON_NODE_SET_DEFAULT_FLAGS @@ -115,12 +115,12 @@ int RUNTIME_init( MORSE_context_t *morse, /** * */ -void RUNTIME_finalize( MORSE_context_t *morse ) +void RUNTIME_finalize( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; /* StarPU was already initialized by an external library */ - if ( morse->schedopt == NULL ) { + if ( chamctxt->schedopt == NULL ) { return; } @@ -139,9 +139,9 @@ void RUNTIME_finalize( MORSE_context_t *morse ) /** * To suspend the processing of new tasks by workers */ -void RUNTIME_pause( MORSE_context_t *morse ) +void RUNTIME_pause( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; starpu_pause(); return; } @@ -150,9 +150,9 @@ void RUNTIME_pause( MORSE_context_t *morse ) * This is the symmetrical call to RUNTIME_pause, * used to resume the workers polling for new tasks. */ -void RUNTIME_resume( MORSE_context_t *morse ) +void RUNTIME_resume( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; starpu_resume(); return; } @@ -160,9 +160,9 @@ void RUNTIME_resume( MORSE_context_t *morse ) /** * Busy-waiting barrier */ -void RUNTIME_barrier( MORSE_context_t *morse ) +void RUNTIME_barrier( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; starpu_task_wait_for_all(); #if defined(CHAMELEON_USE_MPI) starpu_mpi_barrier(MPI_COMM_WORLD); @@ -178,13 +178,13 @@ extern void (*update_progress_callback)(int, int); /** * Display a progress information when executing the tasks */ -void RUNTIME_progress( MORSE_context_t *morse ) +void RUNTIME_progress( CHAM_context_t *chamctxt ) { int tasksLeft, current, timer = 0; int max; #if defined(CHAMELEON_USE_MPI) - if ( morse->my_mpi_rank != 0 ) { + if ( chamctxt->my_mpi_rank != 0 ) { return; } #endif @@ -207,32 +207,32 @@ void RUNTIME_progress( MORSE_context_t *morse ) update_progress_callback(max, max); } - (void)morse; + (void)chamctxt; return; } /** * Thread rank. */ -int RUNTIME_thread_rank( MORSE_context_t *morse ) +int RUNTIME_thread_rank( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return starpu_worker_get_id(); } /** * Number of threads. */ -int RUNTIME_thread_size( MORSE_context_t *morse ) +int RUNTIME_thread_size( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; return starpu_worker_get_count_by_type( STARPU_CPU_WORKER ); } /** * The process rank */ -int RUNTIME_comm_rank( MORSE_context_t *morse ) +int RUNTIME_comm_rank( CHAM_context_t *chamctxt ) { int rank = 0; @@ -244,14 +244,14 @@ int RUNTIME_comm_rank( MORSE_context_t *morse ) # endif #endif - (void)morse; + (void)chamctxt; return rank; } /** * This returns the size of the distributed computation */ -int RUNTIME_comm_size( MORSE_context_t *morse ) +int RUNTIME_comm_size( CHAM_context_t *chamctxt ) { int size; #if defined(CHAMELEON_USE_MPI) @@ -264,6 +264,6 @@ int RUNTIME_comm_size( MORSE_context_t *morse ) size = 1; #endif - (void)morse; + (void)chamctxt; return size; } diff --git a/runtime/starpu/control/runtime_descriptor.c b/runtime/starpu/control/runtime_descriptor.c index 8c3990103c34208a297e2fc5e6da78a14920a745..c49978d8692a2158e5c800156a871d02de906116 100644 --- a/runtime/starpu/control/runtime_descriptor.c +++ b/runtime/starpu/control/runtime_descriptor.c @@ -28,7 +28,7 @@ #if defined(CHAMELEON_USE_MPI) /* Take 24 bits for the tile id, and 7 bits for descriptor id. - These values can be changed through the call MORSE_user_tag_size(int tag_width, int tag_sep) */ + These values can be changed through the call CHAMELEON_user_tag_size(int tag_width, int tag_sep) */ #define TAG_WIDTH_MIN 20 static int tag_width = 31; static int tag_sep = 24; @@ -45,18 +45,16 @@ chameleon_starpu_tag_init( int user_tag_width, tag_width = user_tag_width; tag_sep = user_tag_sep; + void *tag_ub_p = NULL; #if defined(HAVE_STARPU_MPI_COMM_GET_ATTR) - int64_t *tag_ub_p = NULL; starpu_mpi_comm_get_attr(MPI_COMM_WORLD, STARPU_MPI_TAG_UB, &tag_ub_p, &ok); - tag_ub = *tag_ub_p; #else - int *tag_ub_p = NULL; MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_TAG_UB, &tag_ub_p, &ok); - tag_ub = *tag_ub_p; #endif + tag_ub = (uintptr_t)tag_ub_p; if ( !ok ) { - morse_error("RUNTIME_desc_create", "MPI_TAG_UB not known by StarPU"); + chameleon_error("RUNTIME_desc_create", "MPI_TAG_UB not known by StarPU"); } while ( ((uintptr_t)((1UL<<tag_width) - 1) > tag_ub ) && @@ -67,15 +65,15 @@ chameleon_starpu_tag_init( int user_tag_width, } if ( tag_width < TAG_WIDTH_MIN ) { - morse_error("RUNTIME_desc_create", "MPI_TAG_UB too small to identify all the data"); - return MORSE_ERR_OUT_OF_RESOURCES; + chameleon_error("RUNTIME_desc_create", "MPI_TAG_UB too small to identify all the data"); + return CHAMELEON_ERR_OUT_OF_RESOURCES; } _tag_mpi_initialized_ = 1; - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } else { - return MORSE_ERR_REINITIALIZED; + return CHAMELEON_ERR_REINITIALIZED; } } @@ -96,9 +94,9 @@ void RUNTIME_comm_set_tag_sizes( int user_tag_width, #if defined(CHAMELEON_USE_MPI) int rc; rc = chameleon_starpu_tag_init( user_tag_width, user_tag_sep ); - if ( rc != MORSE_SUCCESS ) { - morse_error("RUNTIME_user_tag_size", - "must be called before creating any Morse descriptor with MORSE_Desc_create(). The tag sizes will not be modified."); + if ( rc != CHAMELEON_SUCCESS ) { + chameleon_error("RUNTIME_user_tag_size", + "must be called before creating any Cham descriptor with CHAMELEON_Desc_create(). The tag sizes will not be modified."); } #endif (void)user_tag_width; (void)user_tag_sep; @@ -141,7 +139,7 @@ void RUNTIME_free( void *ptr, /** * Create data descriptor */ -void RUNTIME_desc_create( MORSE_desc_t *desc ) +void RUNTIME_desc_create( CHAM_desc_t *desc ) { int64_t lmt = desc->lmt; int64_t lnt = desc->lnt; @@ -161,7 +159,7 @@ void RUNTIME_desc_create( MORSE_desc_t *desc ) */ if ( (desc->use_mat == 1) && (desc->register_mat == 1) ) { - int64_t eltsze = MORSE_Element_Size(desc->dtyp); + int64_t eltsze = CHAMELEON_Element_Size(desc->dtyp); size_t size = (size_t)(desc->llm) * (size_t)(desc->lln) * eltsze; cudaError_t rc; @@ -171,7 +169,7 @@ void RUNTIME_desc_create( MORSE_desc_t *desc ) { /* Disable the unregister as register failed */ desc->register_mat = 0; - morse_warning("RUNTIME_desc_create(StarPU): cudaHostRegister - ", cudaGetErrorString( rc )); + chameleon_warning("RUNTIME_desc_create(StarPU): cudaHostRegister - ", cudaGetErrorString( rc )); } } #endif @@ -179,7 +177,7 @@ void RUNTIME_desc_create( MORSE_desc_t *desc ) if (desc->ooc) { int lastmm = desc->lm - (desc->lmt-1) * desc->mb; int lastnn = desc->ln - (desc->lnt-1) * desc->nb; - int64_t eltsze = MORSE_Element_Size(desc->dtyp); + int64_t eltsze = CHAMELEON_Element_Size(desc->dtyp); int pagesize = getpagesize(); if ( ((desc->mb * desc->nb * eltsze) % pagesize != 0) || @@ -187,7 +185,7 @@ void RUNTIME_desc_create( MORSE_desc_t *desc ) ((desc->mb * lastnn * eltsze) % pagesize != 0) || ((lastmm * lastnn * eltsze) % pagesize != 0) ) { - morse_error("RUNTIME_desc_create", "Matrix and tile size not suitable for out-of-core: all tiles have to be multiples of 4096. Tip : choose 'n' and 'nb' as both multiples of 32."); + chameleon_error("RUNTIME_desc_create", "Matrix and tile size not suitable for out-of-core: all tiles have to be multiples of 4096. Tip : choose 'n' and 'nb' as both multiples of 32."); return; } } @@ -201,13 +199,13 @@ void RUNTIME_desc_create( MORSE_desc_t *desc ) /* Check that we won't create overflow in tags used */ if ( ((uintptr_t)(lnt*lmt)) > ((uintptr_t)(1UL<<tag_sep)) ) { - morse_fatal_error("RUNTIME_desc_create", "Too many tiles in the descriptor for MPI tags"); + chameleon_fatal_error("RUNTIME_desc_create", "Too many tiles in the descriptor for MPI tags"); return; } assert(lmt*lmt<=(1<<tag_sep)); if ( ((uintptr_t)desc->id) >= (uintptr_t)(1UL<<(tag_width-tag_sep)) ) { - morse_fatal_error("RUNTIME_desc_create", "Number of descriptor available in MPI mode out of stock"); + chameleon_fatal_error("RUNTIME_desc_create", "Number of descriptor available in MPI mode out of stock"); return; } assert( ((uintptr_t)desc->id) < (uintptr_t)(1UL<<(tag_width-tag_sep)) ); @@ -218,7 +216,7 @@ void RUNTIME_desc_create( MORSE_desc_t *desc ) /** * Destroy data descriptor */ -void RUNTIME_desc_destroy( MORSE_desc_t *desc ) +void RUNTIME_desc_destroy( CHAM_desc_t *desc ) { desc->occurences--; @@ -235,12 +233,9 @@ void RUNTIME_desc_destroy( MORSE_desc_t *desc ) for (n = 0; n < lnt; n++) { for (m = 0; m < lmt; m++) { - if (*handle == NULL) - { - handle++; - continue; + if (*handle != NULL) { + starpu_data_unregister(*handle); } - starpu_data_unregister(*handle); handle++; } } @@ -251,9 +246,9 @@ void RUNTIME_desc_destroy( MORSE_desc_t *desc ) /* Unmap the pinned memory associated to the matrix */ if (cudaHostUnregister(desc->mat) != cudaSuccess) { - morse_warning("RUNTIME_desc_destroy(StarPU)", - "cudaHostUnregister failed to unregister the " - "pinned memory associated to the matrix"); + chameleon_warning("RUNTIME_desc_destroy(StarPU)", + "cudaHostUnregister failed to unregister the " + "pinned memory associated to the matrix"); } } #endif /* defined(CHAMELEON_USE_CUDA) */ @@ -265,7 +260,7 @@ void RUNTIME_desc_destroy( MORSE_desc_t *desc ) /** * Acquire data */ -int RUNTIME_desc_acquire( const MORSE_desc_t *desc ) +int RUNTIME_desc_acquire( const CHAM_desc_t *desc ) { starpu_data_handle_t *handle = (starpu_data_handle_t*)(desc->schedopt); int lmt = desc->lmt; @@ -276,7 +271,7 @@ int RUNTIME_desc_acquire( const MORSE_desc_t *desc ) for (m = 0; m < lmt; m++) { if ( (*handle == NULL) || - !morse_desc_islocal( desc, m, n ) ) + !chameleon_desc_islocal( desc, m, n ) ) { handle++; continue; @@ -285,13 +280,13 @@ int RUNTIME_desc_acquire( const MORSE_desc_t *desc ) handle++; } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** * Release data */ -int RUNTIME_desc_release( const MORSE_desc_t *desc ) +int RUNTIME_desc_release( const CHAM_desc_t *desc ) { starpu_data_handle_t *handle = (starpu_data_handle_t*)(desc->schedopt); int lmt = desc->lmt; @@ -302,7 +297,7 @@ int RUNTIME_desc_release( const MORSE_desc_t *desc ) for (m = 0; m < lmt; m++) { if ( (*handle == NULL) || - !morse_desc_islocal( desc, m, n ) ) + !chameleon_desc_islocal( desc, m, n ) ) { handle++; continue; @@ -311,7 +306,7 @@ int RUNTIME_desc_release( const MORSE_desc_t *desc ) handle++; } } - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } /** @@ -359,8 +354,8 @@ chameleon_starpu_data_wont_use( starpu_data_handle_t handle ) { #endif -void RUNTIME_desc_flush( const MORSE_desc_t *desc, - const MORSE_sequence_t *sequence ) +void RUNTIME_desc_flush( const CHAM_desc_t *desc, + const RUNTIME_sequence_t *sequence ) { starpu_data_handle_t *handle = (starpu_data_handle_t*)(desc->schedopt); int lmt = desc->lmt; @@ -378,7 +373,7 @@ void RUNTIME_desc_flush( const MORSE_desc_t *desc, #if defined(CHAMELEON_USE_MPI) starpu_mpi_cache_flush( MPI_COMM_WORLD, *handle ); #endif - if ( morse_desc_islocal( desc, m, n ) ) { + if ( chameleon_desc_islocal( desc, m, n ) ) { chameleon_starpu_data_wont_use( *handle ); } } @@ -387,8 +382,8 @@ void RUNTIME_desc_flush( const MORSE_desc_t *desc, (void)sequence; } -void RUNTIME_data_flush( const MORSE_sequence_t *sequence, - const MORSE_desc_t *A, int m, int n ) +void RUNTIME_data_flush( const RUNTIME_sequence_t *sequence, + const CHAM_desc_t *A, int m, int n ) { int64_t mm = m + (A->i / A->mb); int64_t nn = n + (A->j / A->nb); @@ -404,7 +399,7 @@ void RUNTIME_data_flush( const MORSE_sequence_t *sequence, starpu_mpi_cache_flush( MPI_COMM_WORLD, *handle ); #endif - if ( morse_desc_islocal( A, m, n ) ) { + if ( chameleon_desc_islocal( A, m, n ) ) { chameleon_starpu_data_wont_use( *handle ); } @@ -412,8 +407,8 @@ void RUNTIME_data_flush( const MORSE_sequence_t *sequence, } #if defined(CHAMELEON_USE_MIGRATE) -void RUNTIME_data_migrate( const MORSE_sequence_t *sequence, - const MORSE_desc_t *A, int Am, int An, int new_rank ) +void RUNTIME_data_migrate( const RUNTIME_sequence_t *sequence, + const CHAM_desc_t *A, int Am, int An, int new_rank ) { #if defined(HAVE_STARPU_MPI_DATA_MIGRATE) starpu_data_handle_t *handle = (starpu_data_handle_t*)(A->schedopt); @@ -443,7 +438,7 @@ void RUNTIME_data_migrate( const MORSE_sequence_t *sequence, #define STARPU_MAIN_RAM 0 #endif -void *RUNTIME_data_getaddr( const MORSE_desc_t *A, int m, int n ) +void *RUNTIME_data_getaddr( const CHAM_desc_t *A, int m, int n ) { int64_t mm = m + (A->i / A->mb); int64_t nn = n + (A->j / A->nb); @@ -456,7 +451,7 @@ void *RUNTIME_data_getaddr( const MORSE_desc_t *A, int m, int n ) void *user_ptr = NULL; int myrank = A->myrank; int owner = A->get_rankof( A, m, n ); - int64_t eltsze = MORSE_Element_Size(A->dtyp); + int64_t eltsze = CHAMELEON_Element_Size(A->dtyp); int tempmm = (mm == A->lmt-1) ? (A->lm - mm * A->mb) : A->mb; int tempnn = (nn == A->lnt-1) ? (A->ln - nn * A->nb) : A->nb; diff --git a/runtime/starpu/control/runtime_options.c b/runtime/starpu/control/runtime_options.c index 752012fefaa55113d1f1ff23951fdd0ea41373b0..19d7689ba155c4620ad2a57e93f0211122a56491 100644 --- a/runtime/starpu/control/runtime_options.c +++ b/runtime/starpu/control/runtime_options.c @@ -22,15 +22,14 @@ #include <stdlib.h> #include "chameleon_starpu.h" -void RUNTIME_options_init( MORSE_option_t *option, MORSE_context_t *morse, - MORSE_sequence_t *sequence, MORSE_request_t *request ) +void RUNTIME_options_init( RUNTIME_option_t *option, CHAM_context_t *chamctxt, + RUNTIME_sequence_t *sequence, RUNTIME_request_t *request ) { option->sequence = sequence; option->request = request; - option->profiling = MORSE_PROFILING == MORSE_TRUE; - option->parallel = MORSE_PARALLEL == MORSE_TRUE; - option->priority = MORSE_PRIORITY_MIN; - option->nb = MORSE_NB; + option->profiling = CHAMELEON_PROFILING == CHAMELEON_TRUE; + option->parallel = CHAMELEON_PARALLEL == CHAMELEON_TRUE; + option->priority = RUNTIME_PRIORITY_MIN; option->ws_wsize = 0; option->ws_hsize = 0; option->ws_worker = NULL; @@ -38,14 +37,14 @@ void RUNTIME_options_init( MORSE_option_t *option, MORSE_context_t *morse, return; } -void RUNTIME_options_finalize( MORSE_option_t *option, MORSE_context_t *morse ) +void RUNTIME_options_finalize( RUNTIME_option_t *option, CHAM_context_t *chamctxt ) { (void)option; - (void)morse; + (void)chamctxt; return; } -int RUNTIME_options_ws_alloc( MORSE_option_t *options, size_t worker_size, size_t host_size ) +int RUNTIME_options_ws_alloc( RUNTIME_option_t *options, size_t worker_size, size_t host_size ) { int ret = 0; if ( worker_size > 0 ) { @@ -56,13 +55,13 @@ int RUNTIME_options_ws_alloc( MORSE_option_t *options, size_t worker_size, size_ } if ( host_size > 0 ) { options->ws_hsize = host_size; - ret = RUNTIME_starpu_ws_alloc((MORSE_starpu_ws_t**)&(options->ws_host), - host_size, MORSE_CUDA, MORSE_HOST_MEM); + ret = RUNTIME_starpu_ws_alloc((CHAMELEON_starpu_ws_t**)&(options->ws_host), + host_size, CHAMELEON_CUDA, CHAMELEON_HOST_MEM); } return ret; } -int RUNTIME_options_ws_free( MORSE_option_t *options ) +int RUNTIME_options_ws_free( RUNTIME_option_t *options ) { int ret = 0; if ( options->ws_worker != NULL ) { @@ -71,7 +70,7 @@ int RUNTIME_options_ws_free( MORSE_option_t *options ) } if ( options->ws_host != NULL ) { starpu_task_wait_for_all(); - ret = RUNTIME_starpu_ws_free( (MORSE_starpu_ws_t*)(options->ws_host) ); + ret = RUNTIME_starpu_ws_free( (CHAMELEON_starpu_ws_t*)(options->ws_host) ); options->ws_host = NULL; } return ret; diff --git a/runtime/starpu/control/runtime_profiling.c b/runtime/starpu/control/runtime_profiling.c index 12392456e1c3899cfbb35fdb68348fdf77b092ed..7c5f5b9c548573fe665d61c948c757502aa5c11c 100644 --- a/runtime/starpu/control/runtime_profiling.c +++ b/runtime/starpu/control/runtime_profiling.c @@ -38,17 +38,17 @@ double RUNTIME_get_time(){ /** * Set iteration numbers for traces */ -void RUNTIME_iteration_push( MORSE_context_t *morse, unsigned long iteration ) +void RUNTIME_iteration_push( CHAM_context_t *chamctxt, unsigned long iteration ) { - (void)morse; + (void)chamctxt; #if defined(HAVE_STARPU_ITERATION_PUSH) starpu_iteration_push(iteration); #endif } -void RUNTIME_iteration_pop( MORSE_context_t *morse ) +void RUNTIME_iteration_pop( CHAM_context_t *chamctxt ) { - (void)morse; + (void)chamctxt; #if defined(HAVE_STARPU_ITERATION_PUSH) starpu_iteration_pop(); #endif diff --git a/runtime/starpu/control/runtime_workspace.c b/runtime/starpu/control/runtime_workspace.c index 84ecd9515f1a398dec7a85aec8243df30574e933..35695a0e4e55eb92101fe916cb77a31ffce308c6 100644 --- a/runtime/starpu/control/runtime_workspace.c +++ b/runtime/starpu/control/runtime_workspace.c @@ -21,7 +21,7 @@ static void RUNTIME_allocate_workspace_on_workers(void *arg) { - struct morse_starpu_ws_s *workspace = arg; + struct chameleon_starpu_ws_s *workspace = arg; enum starpu_worker_archtype type = 0; (void)type; @@ -33,7 +33,7 @@ static void RUNTIME_allocate_workspace_on_workers(void *arg) { int memory_location = workspace->memory_location; - if (memory_location == MORSE_HOST_MEM) + if (memory_location == CHAMELEON_HOST_MEM) { /* Use pinned memory because the kernel is very likely * to transfer these data between the CPU and the GPU. @@ -59,7 +59,7 @@ static void RUNTIME_allocate_workspace_on_workers(void *arg) static void RUNTIME_free_workspace_on_workers(void *arg) { - struct morse_starpu_ws_s *workspace = arg; + struct chameleon_starpu_ws_s *workspace = arg; enum starpu_worker_archtype type = 0; (void)type; int id = starpu_worker_get_id(); @@ -70,7 +70,7 @@ static void RUNTIME_free_workspace_on_workers(void *arg) { int memory_location = workspace->memory_location; - if (memory_location == MORSE_HOST_MEM) + if (memory_location == CHAMELEON_HOST_MEM) { cudaFreeHost(workspace->workspaces[id]); } @@ -89,18 +89,18 @@ static void RUNTIME_free_workspace_on_workers(void *arg) /* * This function creates a workspace on each type of worker in "which_workers" - * (eg. MORSE_CUDA|MORSE_CPU for all CPU and GPU workers). The + * (eg. CHAMELEON_CUDA|CHAMELEON_CPU for all CPU and GPU workers). The * memory_location argument indicates whether this should be a buffer in host - * memory or in GPU memory (MORSE_HOST_MEM or MORSE_GPU_MEM). This function + * memory or in GPU memory (CHAMELEON_HOST_MEM or CHAMELEON_GPU_MEM). This function * returns 0 upon successful completion.: */ -int RUNTIME_starpu_ws_alloc(MORSE_starpu_ws_t **workspace, +int RUNTIME_starpu_ws_alloc(CHAMELEON_starpu_ws_t **workspace, size_t size, int which_workers, int memory_location) { if (!workspace) return -EINVAL; - struct morse_starpu_ws_s *descr = calloc(1, sizeof(struct morse_starpu_ws_s)); + struct chameleon_starpu_ws_s *descr = calloc(1, sizeof(struct chameleon_starpu_ws_s)); *workspace = descr; @@ -116,7 +116,7 @@ int RUNTIME_starpu_ws_alloc(MORSE_starpu_ws_t **workspace, return 0; } -int RUNTIME_starpu_ws_free(MORSE_starpu_ws_t *workspace) +int RUNTIME_starpu_ws_free(CHAMELEON_starpu_ws_t *workspace) { if (!workspace) return -EINVAL; @@ -128,9 +128,9 @@ int RUNTIME_starpu_ws_free(MORSE_starpu_ws_t *workspace) return 0; } -void *RUNTIME_starpu_ws_getlocal(MORSE_starpu_ws_t *workspace) +void *RUNTIME_starpu_ws_getlocal(CHAMELEON_starpu_ws_t *workspace) { - struct morse_starpu_ws_s *descr = workspace; + struct chameleon_starpu_ws_s *descr = workspace; int id = starpu_worker_get_id(); return descr->workspaces[id]; } diff --git a/runtime/starpu/control/runtime_zlocality.c b/runtime/starpu/control/runtime_zlocality.c index 56b7ba92afe92d9c38ea9fc8480b6d394f83896e..1e2fd8616ba2eaca8ebfe41d642f6415401ce400 100644 --- a/runtime/starpu/control/runtime_zlocality.c +++ b/runtime/starpu/control/runtime_zlocality.c @@ -9,7 +9,7 @@ * *** * - * @brief Chameleon StarPU MORSE_Complex64_t kernel locality management + * @brief Chameleon StarPU CHAMELEON_Complex64_t kernel locality management * * @version 1.0.0 * @author Cedric Augonnet @@ -78,57 +78,57 @@ void RUNTIME_zlocality_allrestrict( uint32_t where ) } -void RUNTIME_zlocality_onerestrict( MORSE_kernel_t kernel, uint32_t where ) +void RUNTIME_zlocality_onerestrict( cham_tasktype_t kernel, uint32_t where ) { switch( kernel ) { /* Blas 3 */ - case MORSE_GEMM: cl_zgemm_restrict_where( where ); break; + case TASK_GEMM: cl_zgemm_restrict_where( where ); break; #if defined(PRECISION_z) || defined(PRECISION_c) - case MORSE_HEMM: cl_zhemm_restrict_where( where ); break; - case MORSE_HER2K: cl_zher2k_restrict_where( where ); break; - case MORSE_HERK: cl_zherk_restrict_where( where ); break; - case MORSE_SYTRF_NOPIV: cl_zsytrf_nopiv_restrict_where( where ); break; + case TASK_HEMM: cl_zhemm_restrict_where( where ); break; + case TASK_HER2K: cl_zher2k_restrict_where( where ); break; + case TASK_HERK: cl_zherk_restrict_where( where ); break; + case TASK_SYTRF_NOPIV: cl_zsytrf_nopiv_restrict_where( where ); break; #endif - case MORSE_SYMM: cl_zhemm_restrict_where( where ); break; - case MORSE_SYR2K: cl_zher2k_restrict_where( where ); break; - case MORSE_SYRK: cl_zherk_restrict_where( where ); break; - case MORSE_TRMM: cl_ztrmm_restrict_where( where ); break; - case MORSE_TRSM: cl_ztrsm_restrict_where( where ); break; + case TASK_SYMM: cl_zhemm_restrict_where( where ); break; + case TASK_SYR2K: cl_zher2k_restrict_where( where ); break; + case TASK_SYRK: cl_zherk_restrict_where( where ); break; + case TASK_TRMM: cl_ztrmm_restrict_where( where ); break; + case TASK_TRSM: cl_ztrsm_restrict_where( where ); break; /* * Lapack */ /* Cholesky */ - case MORSE_POTRF: cl_zpotrf_restrict_where( where ); break; - case MORSE_LAUUM: cl_zlauum_restrict_where( where ); break; - case MORSE_TRTRI: cl_ztrtri_restrict_where( where ); break; + case TASK_POTRF: cl_zpotrf_restrict_where( where ); break; + case TASK_LAUUM: cl_zlauum_restrict_where( where ); break; + case TASK_TRTRI: cl_ztrtri_restrict_where( where ); break; /* LU */ - case MORSE_GETRF_INCPIV: cl_zgetrf_incpiv_restrict_where( where ); break; - case MORSE_GETRF_NOPIV: cl_zgetrf_nopiv_restrict_where( where ); break; - case MORSE_GESSM: cl_zgessm_restrict_where( where ); break; - case MORSE_SSSSM: cl_zssssm_restrict_where( where ); break; - case MORSE_TSTRF: cl_ztstrf_restrict_where( where ); break; + case TASK_GETRF_INCPIV: cl_zgetrf_incpiv_restrict_where( where ); break; + case TASK_GETRF_NOPIV: cl_zgetrf_nopiv_restrict_where( where ); break; + case TASK_GESSM: cl_zgessm_restrict_where( where ); break; + case TASK_SSSSM: cl_zssssm_restrict_where( where ); break; + case TASK_TSTRF: cl_ztstrf_restrict_where( where ); break; /* QR */ - case MORSE_GEQRT: cl_zgeqrt_restrict_where( where ); break; - case MORSE_UNMQR: cl_zunmqr_restrict_where( where ); break; - case MORSE_TSMQR: cl_ztsmqr_restrict_where( where ); break; - case MORSE_TSQRT: cl_ztsqrt_restrict_where( where ); break; + case TASK_GEQRT: cl_zgeqrt_restrict_where( where ); break; + case TASK_UNMQR: cl_zunmqr_restrict_where( where ); break; + case TASK_TSMQR: cl_ztsmqr_restrict_where( where ); break; + case TASK_TSQRT: cl_ztsqrt_restrict_where( where ); break; /* QR-RH */ -/* case MORSE_TTMQR: cl_zttmqr_restrict_where( where ); break; */ -/* case MORSE_TTQRT: cl_zttqrt_restrict_where( where ); break; */ +/* case TASK_TTMQR: cl_zttmqr_restrict_where( where ); break; */ +/* case TASK_TTQRT: cl_zttqrt_restrict_where( where ); break; */ /* LQ */ - case MORSE_GELQT: cl_zgelqt_restrict_where( where ); break; - case MORSE_UNMLQ: cl_zunmlq_restrict_where( where ); break; - case MORSE_TSMLQ: cl_ztsmlq_restrict_where( where ); break; - case MORSE_TSLQT: cl_ztslqt_restrict_where( where ); break; + case TASK_GELQT: cl_zgelqt_restrict_where( where ); break; + case TASK_UNMLQ: cl_zunmlq_restrict_where( where ); break; + case TASK_TSMLQ: cl_ztsmlq_restrict_where( where ); break; + case TASK_TSLQT: cl_ztslqt_restrict_where( where ); break; /* LQ-RH */ -/* case MORSE_TTMLQ: cl_zttmlq_restrict_where( where ); break; */ -/* case MORSE_TTLQT: cl_zttlqt_restrict_where( where ); break; */ +/* case TASK_TTMLQ: cl_zttmlq_restrict_where( where ); break; */ +/* case TASK_TTLQT: cl_zttlqt_restrict_where( where ); break; */ default: return; @@ -187,57 +187,57 @@ void RUNTIME_zlocality_allrestore( ) } -void RUNTIME_zlocality_onerestore( MORSE_kernel_t kernel ) +void RUNTIME_zlocality_onerestore( cham_tasktype_t kernel ) { switch( kernel ) { /* Blas 3 */ - case MORSE_GEMM: cl_zgemm_restore_where(); break; + case TASK_GEMM: cl_zgemm_restore_where(); break; #if defined(PRECISION_z) || defined(PRECISION_c) - case MORSE_HEMM: cl_zhemm_restore_where(); break; - case MORSE_HER2K: cl_zher2k_restore_where(); break; - case MORSE_HERK: cl_zherk_restore_where(); break; - case MORSE_SYTRF_NOPIV: cl_zsytrf_nopiv_restore_where(); break; + case TASK_HEMM: cl_zhemm_restore_where(); break; + case TASK_HER2K: cl_zher2k_restore_where(); break; + case TASK_HERK: cl_zherk_restore_where(); break; + case TASK_SYTRF_NOPIV: cl_zsytrf_nopiv_restore_where(); break; #endif - case MORSE_SYMM: cl_zhemm_restore_where(); break; - case MORSE_SYR2K: cl_zher2k_restore_where(); break; - case MORSE_SYRK: cl_zherk_restore_where(); break; - case MORSE_TRMM: cl_ztrmm_restore_where(); break; - case MORSE_TRSM: cl_ztrsm_restore_where(); break; + case TASK_SYMM: cl_zhemm_restore_where(); break; + case TASK_SYR2K: cl_zher2k_restore_where(); break; + case TASK_SYRK: cl_zherk_restore_where(); break; + case TASK_TRMM: cl_ztrmm_restore_where(); break; + case TASK_TRSM: cl_ztrsm_restore_where(); break; /* * Lapack */ /* Cholesky */ - case MORSE_POTRF: cl_zpotrf_restore_where(); break; - case MORSE_LAUUM: cl_zlauum_restore_where(); break; - case MORSE_TRTRI: cl_ztrtri_restore_where(); break; + case TASK_POTRF: cl_zpotrf_restore_where(); break; + case TASK_LAUUM: cl_zlauum_restore_where(); break; + case TASK_TRTRI: cl_ztrtri_restore_where(); break; /* LU */ - case MORSE_GETRF_INCPIV: cl_zgetrf_incpiv_restore_where(); break; - case MORSE_GETRF_NOPIV: cl_zgetrf_nopiv_restore_where(); break; - case MORSE_GESSM: cl_zgessm_restore_where(); break; - case MORSE_SSSSM: cl_zssssm_restore_where(); break; - case MORSE_TSTRF: cl_ztstrf_restore_where(); break; + case TASK_GETRF_INCPIV: cl_zgetrf_incpiv_restore_where(); break; + case TASK_GETRF_NOPIV: cl_zgetrf_nopiv_restore_where(); break; + case TASK_GESSM: cl_zgessm_restore_where(); break; + case TASK_SSSSM: cl_zssssm_restore_where(); break; + case TASK_TSTRF: cl_ztstrf_restore_where(); break; /* QR */ - case MORSE_GEQRT: cl_zgeqrt_restore_where(); break; - case MORSE_UNMQR: cl_zunmqr_restore_where(); break; - case MORSE_TSMQR: cl_ztsmqr_restore_where(); break; - case MORSE_TSQRT: cl_ztsqrt_restore_where(); break; + case TASK_GEQRT: cl_zgeqrt_restore_where(); break; + case TASK_UNMQR: cl_zunmqr_restore_where(); break; + case TASK_TSMQR: cl_ztsmqr_restore_where(); break; + case TASK_TSQRT: cl_ztsqrt_restore_where(); break; /* QR-RH */ -/* case MORSE_TTMQR: cl_zttmqr_restore_where(); break; */ -/* case MORSE_TTQRT: cl_zttqrt_restore_where(); break; */ +/* case TASK_TTMQR: cl_zttmqr_restore_where(); break; */ +/* case TASK_TTQRT: cl_zttqrt_restore_where(); break; */ /* LQ */ - case MORSE_GELQT: cl_zgelqt_restore_where(); break; - case MORSE_UNMLQ: cl_zunmlq_restore_where(); break; - case MORSE_TSMLQ: cl_ztsmlq_restore_where(); break; - case MORSE_TSLQT: cl_ztslqt_restore_where(); break; + case TASK_GELQT: cl_zgelqt_restore_where(); break; + case TASK_UNMLQ: cl_zunmlq_restore_where(); break; + case TASK_TSMLQ: cl_ztsmlq_restore_where(); break; + case TASK_TSLQT: cl_ztslqt_restore_where(); break; /* LQ-RH */ -/* case MORSE_TTMLQ: cl_zttmlq_restore_where(); break; */ -/* case MORSE_TTLQT: cl_zttlqt_restore_where(); break; */ +/* case TASK_TTMLQ: cl_zttmlq_restore_where(); break; */ +/* case TASK_TTLQT: cl_zttlqt_restore_where(); break; */ default: return; @@ -250,7 +250,7 @@ void RUNTIME_zlocality_allrestrict( uint32_t where ) (void)where; } -void RUNTIME_zlocality_onerestrict( MORSE_kernel_t kernel, uint32_t where ) +void RUNTIME_zlocality_onerestrict( cham_tasktype_t kernel, uint32_t where ) { (void)kernel; (void)where; @@ -258,7 +258,7 @@ void RUNTIME_zlocality_onerestrict( MORSE_kernel_t kernel, uint32_t where ) void RUNTIME_zlocality_allrestore( ) {} -void RUNTIME_zlocality_onerestore( MORSE_kernel_t kernel ) +void RUNTIME_zlocality_onerestore( cham_tasktype_t kernel ) { (void)kernel; } diff --git a/runtime/starpu/control/runtime_zprofiling.c b/runtime/starpu/control/runtime_zprofiling.c index 610512d5d1562828144adc4388d6edef6121163d..cea4f6883fdba7e37b966e97efc38536c00f3bc8 100644 --- a/runtime/starpu/control/runtime_zprofiling.c +++ b/runtime/starpu/control/runtime_zprofiling.c @@ -9,7 +9,7 @@ * *** * - * @brief Chameleon StarPU MORSE_Complex64_t kernel progiling + * @brief Chameleon StarPU CHAMELEON_Complex64_t kernel progiling * * @version 1.0.0 * @author Cedric Augonnet @@ -64,46 +64,46 @@ void RUNTIME_zdisplay_allprofile() profiling_display_zlange_info(); } -void RUNTIME_zdisplay_oneprofile( MORSE_kernel_t kernel ) +void RUNTIME_zdisplay_oneprofile( cham_tasktype_t kernel ) { switch( kernel ) { /* Blas 3 */ - case MORSE_GEMM: profiling_display_zgemm_info(); break; + case TASK_GEMM: profiling_display_zgemm_info(); break; #if defined(PRECISION_z) || defined(PRECISION_c) - case MORSE_HEMM: profiling_display_zhemm_info(); break; - case MORSE_HER2K: profiling_display_zher2k_info(); break; - case MORSE_HERK: profiling_display_zherk_info(); break; - case MORSE_SYTRF_NOPIV: profiling_display_zsytrf_nopiv_info(); break; + case TASK_HEMM: profiling_display_zhemm_info(); break; + case TASK_HER2K: profiling_display_zher2k_info(); break; + case TASK_HERK: profiling_display_zherk_info(); break; + case TASK_SYTRF_NOPIV: profiling_display_zsytrf_nopiv_info(); break; #endif - case MORSE_SYMM: profiling_display_zsymm_info(); break; - case MORSE_SYR2K: profiling_display_zsyr2k_info(); break; - case MORSE_SYRK: profiling_display_zsyrk_info(); break; - case MORSE_TRMM: profiling_display_ztrmm_info(); break; - case MORSE_TRSM: profiling_display_ztrsm_info(); break; + case TASK_SYMM: profiling_display_zsymm_info(); break; + case TASK_SYR2K: profiling_display_zsyr2k_info(); break; + case TASK_SYRK: profiling_display_zsyrk_info(); break; + case TASK_TRMM: profiling_display_ztrmm_info(); break; + case TASK_TRSM: profiling_display_ztrsm_info(); break; /* Lapack */ - case MORSE_GELQT: profiling_display_zgelqt_info(); break; - case MORSE_GEQRT: profiling_display_zgeqrt_info(); break; - case MORSE_GESSM: profiling_display_zgessm_info(); break; - case MORSE_GETRF: profiling_display_zgetrf_info(); break; - case MORSE_GETRF_INCPIV: profiling_display_zgetrf_incpiv_info(); break; - case MORSE_GETRF_NOPIV: profiling_display_zgetrf_nopiv_info(); break; - case MORSE_LAUUM: profiling_display_zlauum_info(); break; - case MORSE_POTRF: profiling_display_zpotrf_info(); break; - case MORSE_SSSSM: profiling_display_zssssm_info(); break; - case MORSE_TRTRI: profiling_display_ztrtri_info(); break; - case MORSE_TSLQT: profiling_display_ztslqt_info(); break; - case MORSE_TSMQR: profiling_display_ztsmqr_info(); break; - case MORSE_TSQRT: profiling_display_ztsqrt_info(); break; - case MORSE_TSTRF: profiling_display_ztstrf_info(); break; - case MORSE_TTLQT: profiling_display_zttlqt_info(); break; - case MORSE_TTMLQ: profiling_display_zttmlq_info(); break; - case MORSE_TTMQR: profiling_display_zttmqr_info(); break; - case MORSE_TTQRT: profiling_display_zttqrt_info(); break; - case MORSE_UNMLQ: profiling_display_zunmlq_info(); break; - case MORSE_UNMQR: profiling_display_zunmqr_info(); break; + case TASK_GELQT: profiling_display_zgelqt_info(); break; + case TASK_GEQRT: profiling_display_zgeqrt_info(); break; + case TASK_GESSM: profiling_display_zgessm_info(); break; + case TASK_GETRF: profiling_display_zgetrf_info(); break; + case TASK_GETRF_INCPIV: profiling_display_zgetrf_incpiv_info(); break; + case TASK_GETRF_NOPIV: profiling_display_zgetrf_nopiv_info(); break; + case TASK_LAUUM: profiling_display_zlauum_info(); break; + case TASK_POTRF: profiling_display_zpotrf_info(); break; + case TASK_SSSSM: profiling_display_zssssm_info(); break; + case TASK_TRTRI: profiling_display_ztrtri_info(); break; + case TASK_TSLQT: profiling_display_ztslqt_info(); break; + case TASK_TSMQR: profiling_display_ztsmqr_info(); break; + case TASK_TSQRT: profiling_display_ztsqrt_info(); break; + case TASK_TSTRF: profiling_display_ztstrf_info(); break; + case TASK_TTLQT: profiling_display_zttlqt_info(); break; + case TASK_TTMLQ: profiling_display_zttmlq_info(); break; + case TASK_TTMQR: profiling_display_zttmqr_info(); break; + case TASK_TTQRT: profiling_display_zttqrt_info(); break; + case TASK_UNMLQ: profiling_display_zunmlq_info(); break; + case TASK_UNMQR: profiling_display_zunmqr_info(); break; - case MORSE_LANGE: profiling_display_zlange_info(); break; + case TASK_LANGE: profiling_display_zlange_info(); break; default: return; diff --git a/runtime/starpu/include/chameleon_starpu.h.in b/runtime/starpu/include/chameleon_starpu.h.in index 699659c7ce6d813a1d8957944b369a377d0fbfbb..27d220f4b86367dd1a2f8deb884dce9a701fe72c 100644 --- a/runtime/starpu/include/chameleon_starpu.h.in +++ b/runtime/starpu/include/chameleon_starpu.h.in @@ -18,10 +18,10 @@ * @date 2011-06-01 * */ -#ifndef _MORSE_STARPU_H_ -#define _MORSE_STARPU_H_ +#ifndef _CHAMELEON_STARPU_H_ +#define _CHAMELEON_STARPU_H_ -#include "chameleon/chameleon_config.h" +#include "chameleon/config.h" /* StarPU options */ #cmakedefine HAVE_STARPU_FXT_PROFILING @@ -116,11 +116,11 @@ typedef struct starpu_conf starpu_conf_t; */ #define RTBLKADDR( desc, type, m, n ) ( (starpu_data_handle_t)RUNTIME_data_getaddr( desc, m, n ) ) -void RUNTIME_set_reduction_methods(starpu_data_handle_t handle, MORSE_enum dtyp); +void RUNTIME_set_reduction_methods(starpu_data_handle_t handle, cham_flttype_t dtyp); #if defined(CHAMELEON_USE_MPI) && defined(HAVE_STARPU_MPI_CACHED_RECEIVE) static inline int -chameleon_starpu_data_iscached(const MORSE_desc_t *A, int m, int n) +chameleon_starpu_data_iscached(const CHAM_desc_t *A, int m, int n) { int64_t mm = m + (A->i / A->mb); int64_t nn = n + (A->j / A->nb); @@ -135,7 +135,7 @@ chameleon_starpu_data_iscached(const MORSE_desc_t *A, int m, int n) } #define RUNTIME_ACCESS_WRITE_CACHED(A, Am, An) do { \ - if (chameleon_starpu_data_iscached(A, Am, An)) __morse_need_submit = 1; } while(0) + if (chameleon_starpu_data_iscached(A, Am, An)) __chameleon_need_submit = 1; } while(0) #else @@ -147,27 +147,27 @@ chameleon_starpu_data_iscached(const MORSE_desc_t *A, int m, int n) #ifdef CHAMELEON_ENABLE_PRUNING_STATS #define RUNTIME_PRUNING_STATS_BEGIN_ACCESS_DECLARATION \ - int __morse_exec = 0; \ - int __morse_changed = 0; + int __chameleon_exec = 0; \ + int __chameleon_changed = 0; #define RUNTIME_PRUNING_STATS_ACCESS_W(A, Am, An) \ - if (morse_desc_islocal(A, Am, An)) \ - __morse_exec = 1; + if (chameleon_desc_islocal(A, Am, An)) \ + __chameleon_exec = 1; #define RUNTIME_PRUNING_STATS_END_ACCESS_DECLARATION \ RUNTIME_total_tasks++; \ - if (__morse_exec) \ + if (__chameleon_exec) \ RUNTIME_exec_tasks++; \ - else if (__morse_need_submit) \ + else if (__chameleon_need_submit) \ RUNTIME_comm_tasks++; \ - else if (__morse_changed) \ + else if (__chameleon_changed) \ RUNTIME_changed_tasks++; #define RUNTIME_PRUNING_STATS_RANK_CHANGED(rank) \ - int __morse_myrank; \ - RUNTIME_comm_rank(&__morse_myrank); \ - __morse_exec = (rank) == __morse_myrank; \ - __morse_changed = 1; \ + int __chameleon_myrank; \ + RUNTIME_comm_rank(&__chameleon_myrank); \ + __chameleon_exec = (rank) == __chameleon_myrank; \ + __chameleon_changed = 1; \ #else #define RUNTIME_PRUNING_STATS_BEGIN_ACCESS_DECLARATION @@ -195,4 +195,4 @@ chameleon_starpu_data_iscached(const MORSE_desc_t *A, int m, int n) #define RUNTIME_END_ACCESS_DECLARATION \ RUNTIME_PRUNING_STATS_END_ACCESS_DECLARATION; -#endif /* _MORSE_STARPU_H_ */ +#endif /* _CHAMELEON_STARPU_H_ */ diff --git a/runtime/starpu/include/runtime_codelet_z.h b/runtime/starpu/include/runtime_codelet_z.h index c5a1677425bf342847fde84eba329612829e4933..f4598fca76434345cdbfa9c269499062cac0b556 100644 --- a/runtime/starpu/include/runtime_codelet_z.h +++ b/runtime/starpu/include/runtime_codelet_z.h @@ -9,7 +9,7 @@ * *** * - * @brief Chameleon StarPU MORSE_Complex64_t codelets header + * @brief Chameleon StarPU CHAMELEON_Complex64_t codelets header * * @version 1.0.0 * @author Cedric Augonnet @@ -25,7 +25,7 @@ #include <stdio.h> #include "runtime_codelets.h" -#include "chameleon/morse_tasks_z.h" +#include "chameleon/tasks_z.h" #if !defined(CHAMELEON_SIMULATION) #include "coreblas/coreblas_z.h" #if defined(CHAMELEON_USE_CUDA) diff --git a/runtime/starpu/include/runtime_codelets.h b/runtime/starpu/include/runtime_codelets.h index ee8bdf9b0025399c36bba912457b52b242233a70..f0213ff0073116932171658e08040a58dd985d67 100644 --- a/runtime/starpu/include/runtime_codelets.h +++ b/runtime/starpu/include/runtime_codelets.h @@ -21,7 +21,7 @@ #ifndef _CODELETS_H_ #define _CODELETS_H_ -#include "chameleon/chameleon_config.h" +#include "chameleon/config.h" #include "runtime_codelet_profile.h" //#undef STARPU_CUDA_ASYNC diff --git a/runtime/starpu/include/runtime_profiling.h b/runtime/starpu/include/runtime_profiling.h index ee079520059f969527677140dd51e54a2c90b97d..203c6fc4362ddc485e88ce4e300b6ef151bbaca1 100644 --- a/runtime/starpu/include/runtime_profiling.h +++ b/runtime/starpu/include/runtime_profiling.h @@ -41,14 +41,14 @@ void RUNTIME_profiling_cdisplay_all(void); void RUNTIME_profiling_ddisplay_all(void); void RUNTIME_profiling_sdisplay_all(void); -void MORSE_zload_FakeModel(); -void MORSE_cload_FakeModel(); -void MORSE_dload_FakeModel(); -void MORSE_sload_FakeModel(); +void CHAMELEON_zload_FakeModel(); +void CHAMELEON_cload_FakeModel(); +void CHAMELEON_dload_FakeModel(); +void CHAMELEON_sload_FakeModel(); -void MORSE_zrestore_Model(); -void MORSE_crestore_Model(); -void MORSE_drestore_Model(); -void MORSE_srestore_Model(); +void CHAMELEON_zrestore_Model(); +void CHAMELEON_crestore_Model(); +void CHAMELEON_drestore_Model(); +void CHAMELEON_srestore_Model(); #endif diff --git a/runtime/starpu/include/runtime_workspace.h b/runtime/starpu/include/runtime_workspace.h index 99db679eb6ce4905d9c4db3347b442d0ccd48fce..418e7324ea9985da3db7fdcd7ded9110e4f78ca1 100644 --- a/runtime/starpu/include/runtime_workspace.h +++ b/runtime/starpu/include/runtime_workspace.h @@ -16,35 +16,35 @@ * @date 2011-06-01 * */ -#ifndef _MORSE_STARPU_WORKSPACE_H_ -#define _MORSE_STARPU_WORKSPACE_H_ +#ifndef _CHAMELEON_STARPU_WORKSPACE_H_ +#define _CHAMELEON_STARPU_WORKSPACE_H_ /* * Allocate workspace in host memory: CPU for any worker * or allocate workspace in worker's memory: main memory for cpu workers, * and embedded memory for CUDA devices. */ -#define MORSE_HOST_MEM 0 -#define MORSE_WORKER_MEM 1 +#define CHAMELEON_HOST_MEM 0 +#define CHAMELEON_WORKER_MEM 1 -struct morse_starpu_ws_s { +struct chameleon_starpu_ws_s { size_t size; int memory_location; int which_workers; void *workspaces[STARPU_NMAXWORKERS]; }; -typedef struct morse_starpu_ws_s MORSE_starpu_ws_t; +typedef struct chameleon_starpu_ws_s CHAMELEON_starpu_ws_t; /* * This function creates a workspace on each type of worker in "which_workers" - * (eg. MORSE_CUDA|MORSE_CPU for all CPU and GPU workers). The + * (eg. CHAMELEON_CUDA|CHAMELEON_CPU for all CPU and GPU workers). The * memory_location argument indicates whether this should be a buffer in host - * memory or in worker's memory (MORSE_HOST_MEM or MORSE_WORKER_MEM). This function + * memory or in worker's memory (CHAMELEON_HOST_MEM or CHAMELEON_WORKER_MEM). This function * returns 0 upon successful completion. */ -int RUNTIME_starpu_ws_alloc ( MORSE_starpu_ws_t **workspace, size_t size, int which_workers, int memory_location); -int RUNTIME_starpu_ws_free ( MORSE_starpu_ws_t *workspace); -void *RUNTIME_starpu_ws_getlocal( MORSE_starpu_ws_t *workspace); +int RUNTIME_starpu_ws_alloc ( CHAMELEON_starpu_ws_t **workspace, size_t size, int which_workers, int memory_location); +int RUNTIME_starpu_ws_free ( CHAMELEON_starpu_ws_t *workspace); +void *RUNTIME_starpu_ws_getlocal( CHAMELEON_starpu_ws_t *workspace); -#endif /* _MORSE_STARPU_WORKSPACE_H_ */ +#endif /* _CHAMELEON_STARPU_WORKSPACE_H_ */ diff --git a/simucore/CMakeLists.txt b/simucore/CMakeLists.txt index ed27d8bd150828d457635e42eb8dd17f51e4e92d..d660de78ccf6527d68e1da494242b1f8c8a85deb 100755 --- a/simucore/CMakeLists.txt +++ b/simucore/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt index 16dca146879bf43b29f5d25c0d9593deff853449..df43187fe6930f2487c073c2142caa9917381238 100644 --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -32,7 +32,7 @@ endif() # ------------------------ #add_subdirectory(lin) -# Generate morse auxiliary testing sources for all possible precisions +# Generate chameleon auxiliary testing sources for all possible precisions # -------------------------------------------------------------------- set(TESTING_HDRS_GENERATED "") set(ZHDR @@ -45,7 +45,7 @@ precisions_rules_py(TESTING_HDRS_GENERATED "${ZHDR}" add_custom_target(testing_include ALL SOURCES ${TESTING_HDRS_GENERATED}) set(CHAMELEON_SOURCES_TARGETS "${CHAMELEON_SOURCES_TARGETS};testing_include" CACHE INTERNAL "List of targets of sources") -# Generate morse testing sources for all possible precisions +# Generate chameleon testing sources for all possible precisions # ---------------------------------------------------------- set(ZSRC testing_zauxiliary.c diff --git a/testing/chameleon_testing.py b/testing/chameleon_testing.py index 27f5e8d2e98f6f34e4faea22189502323d378e5d..430c6cda95c003bda94a43ffa865c3777e695184 100755 --- a/testing/chameleon_testing.py +++ b/testing/chameleon_testing.py @@ -3,12 +3,12 @@ ############################################################################### -# morse_testing.py [nbcores] +# chameleon_testing.py [nbcores] # nbcores is a optional argument to give the number of cores to run the testing # Example: -# ./morse_testing.py +# ./chameleon_testing.py # No argument, so will run on half of the core if the machine has more than 2 cores -# ./morse_testing.py nbcores +# ./chameleon_testing.py nbcores # Will run on nbcores ############################################################################### @@ -103,7 +103,7 @@ except IOError: f = sys.stdout print " " -print "---------------- Testing MORSE Routines ----------------" +print "---------------- Testing CHAMELEON Routines ----------------" print " " print "-- Number of cores available =", ncpus_av print "-- Number of cores used for testing =", ncpus diff --git a/testing/lin/CMakeLists.txt b/testing/lin/CMakeLists.txt index a87ead145a8407744c5704f5dd61a36513f83aec..e8f05f7c7bf369784eb416c980eb3b726fb4af2b 100644 --- a/testing/lin/CMakeLists.txt +++ b/testing/lin/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -163,48 +163,48 @@ list(APPEND libs_for_tests ${CMAKE_Fortran_LDFLAGS}) # Define precisions to compile # ---------------------------- if(CHAMELEON_PREC_S) - add_executable(morse_xlintsts ${ALINTST} ${SLINTST} ${SCLNTST}) - set_property(TARGET morse_xlintsts PROPERTY LINKER_LANGUAGE Fortran) - target_link_libraries(morse_xlintsts ${libs_for_tests}) - install(TARGETS morse_xlintsts + add_executable(chameleon_xlintsts ${ALINTST} ${SLINTST} ${SCLNTST}) + set_property(TARGET chameleon_xlintsts PROPERTY LINKER_LANGUAGE Fortran) + target_link_libraries(chameleon_xlintsts ${libs_for_tests}) + install(TARGETS chameleon_xlintsts DESTINATION bin/testing/lin) endif() if(CHAMELEON_PREC_S) - add_executable(morse_xlintstd ${ALINTST} ${DLINTST} ${DZLNTST}) - set_property(TARGET morse_xlintstd PROPERTY LINKER_LANGUAGE Fortran) - target_link_libraries(morse_xlintstd ${libs_for_tests}) - install(TARGETS morse_xlintstd + add_executable(chameleon_xlintstd ${ALINTST} ${DLINTST} ${DZLNTST}) + set_property(TARGET chameleon_xlintstd PROPERTY LINKER_LANGUAGE Fortran) + target_link_libraries(chameleon_xlintstd ${libs_for_tests}) + install(TARGETS chameleon_xlintstd DESTINATION bin/testing/lin) endif() if(CHAMELEON_PREC_C) - add_executable(morse_xlintstc ${ALINTST} ${CLINTST} ${SCLNTST}) - set_property(TARGET morse_xlintstc PROPERTY LINKER_LANGUAGE Fortran) - target_link_libraries(morse_xlintstc ${libs_for_tests}) - install(TARGETS morse_xlintstc + add_executable(chameleon_xlintstc ${ALINTST} ${CLINTST} ${SCLNTST}) + set_property(TARGET chameleon_xlintstc PROPERTY LINKER_LANGUAGE Fortran) + target_link_libraries(chameleon_xlintstc ${libs_for_tests}) + install(TARGETS chameleon_xlintstc DESTINATION bin/testing/lin) endif() if(CHAMELEON_PREC_Z) - add_executable(morse_xlintstz ${ALINTST} ${ZLINTST} ${DZLNTST}) - set_property(TARGET morse_xlintstz PROPERTY LINKER_LANGUAGE Fortran) - target_link_libraries(morse_xlintstz ${libs_for_tests}) - install(TARGETS morse_xlintstz + add_executable(chameleon_xlintstz ${ALINTST} ${ZLINTST} ${DZLNTST}) + set_property(TARGET chameleon_xlintstz PROPERTY LINKER_LANGUAGE Fortran) + target_link_libraries(chameleon_xlintstz ${libs_for_tests}) + install(TARGETS chameleon_xlintstz DESTINATION bin/testing/lin) endif() # Copy launcher # ------------- add_custom_target(lin_launcher ALL - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/morse_lintesting.py - ${CMAKE_CURRENT_BINARY_DIR}/morse_lintesting.py) + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/chameleon_lintesting.py + ${CMAKE_CURRENT_BINARY_DIR}/chameleon_lintesting.py) # Add tests (C/CPP) # ----------------- add_test(NAME lapack_testing COMMAND ${PYTHON_EXECUTABLE} - ${CMAKE_CURRENT_BINARY_DIR}/morse_lintesting.py + ${CMAKE_CURRENT_BINARY_DIR}/chameleon_lintesting.py ) ### diff --git a/testing/lin/cchkaa.f b/testing/lin/cchkaa.f index 4dbf605c0f2d221436859e5f5c58b376f631ff43..df530ab01e50860f11f17d6f1fe6fda82d764ddd 100644 --- a/testing/lin/cchkaa.f +++ b/testing/lin/cchkaa.f @@ -37,9 +37,9 @@ PROGRAM CCHKAA * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * -* -- MORSE test routine (From LAPACK version 3.1.1) -- +* -- CHAMELEON test routine (From LAPACK version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. * January 2007 * @@ -51,11 +51,11 @@ * * The program must be driven by a short data file. The first 14 records * specify problem dimensions and program options using list-directed -* input. The remaining lines specify the MORSE test paths and the +* input. The remaining lines specify the CHAMELEON test paths and the * number of matrix types to use in testing. An annotated example of a * data file can be obtained by deleting the first 3 characters from the * following 38 lines: -* Data file for testing COMPLEX MORSE linear equation routines +* Data file for testing COMPLEX CHAMELEON linear equation routines * 1 Number of values of NP * 16 Values of NP (number of cores) * 1 Values of SCHED (0: STATIC, 1:DYNAMIC) @@ -71,7 +71,7 @@ * 3 Number of values of RANK * 30 50 90 Values of rank (as a % of N) * 30.0 Threshold value of test ratio -* T Put T to test the MORSE routines +* T Put T to test the CHAMELEON routines * T Put T to test the driver routines * T Put T to test the error exits * CGE 11 List types on next line if 0 < NTYPES < 11 @@ -195,7 +195,7 @@ * * Report values of parameters version. * - CALL MORSE_VERSION( VERS_MAJOR, VERS_MINOR, VERS_PATCH, INFO) + CALL CHAMELEON_VERSION( VERS_MAJOR, VERS_MINOR, VERS_PATCH, INFO) WRITE( NOUT, FMT = 9994 ) VERS_MAJOR, VERS_MINOR, VERS_PATCH * * Read a dummy line. @@ -401,7 +401,7 @@ READ( NIN, FMT = * )THRESH WRITE( NOUT, FMT = 9992 )THRESH * -* Read the flag that indicates whether to test the MORSE routines. +* Read the flag that indicates whether to test the CHAMELEON routines. * READ( NIN, FMT = * )TSTCHK * @@ -429,19 +429,19 @@ WRITE( NOUT, FMT = * ) NRHS = NSVAL( 1 ) * -* Initialize MORSE +* Initialize CHAMELEON * - CALL MORSE_INIT( NPVAL(NNP), INFO ) + CALL CHAMELEON_INIT( NPVAL(NNP), INFO ) * IF( SCHED .EQ. 1 ) THEN - CALL MORSE_SET(MORSE_SCHEDULING_MODE, - $ MORSE_DYNAMIC_SCHEDULING, INFO ) + CALL CHAMELEON_SET(CHAMELEON_SCHEDULING_MODE, + $ CHAMELEON_DYNAMIC_SCHEDULING, INFO ) ELSE - CALL MORSE_SET(MORSE_SCHEDULING_MODE, - $ MORSE_STATIC_SCHEDULING, INFO ) + CALL CHAMELEON_SET(CHAMELEON_SCHEDULING_MODE, + $ CHAMELEON_STATIC_SCHEDULING, INFO ) ENDIF * - CALL MORSE_DISABLE( MORSE_AUTOTUNING, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_AUTOTUNING, INFO ) * 80 CONTINUE * @@ -604,9 +604,9 @@ 140 CONTINUE CLOSE ( NIN ) * -* Finalize MORSE +* Finalize CHAMELEON * - CALL MORSE_FINALIZE( INFO ) + CALL CHAMELEON_FINALIZE( INFO ) * * S2 = SECOND( ) WRITE( NOUT, FMT = 9998 ) @@ -619,8 +619,8 @@ C 9997 FORMAT( ' Total time used = ', F12.2, ' seconds', / ) $ I6 ) 9995 FORMAT( ' Invalid input value: ', A4, '=', I6, '; must be <=', $ I6 ) - 9994 FORMAT( ' Tests of the COMPLEX MORSE routines ', - $ / ' MORSE VERSION ', I1, '.', I1, '.', I1, + 9994 FORMAT( ' Tests of the COMPLEX CHAMELEON routines ', + $ / ' CHAMELEON VERSION ', I1, '.', I1, '.', I1, $ / / ' The following parameter values will be used:' ) 9993 FORMAT( 4X, A4, ': ', 10I6, / 11X, 10I6 ) 9992 FORMAT( / ' Routines pass computational tests if test ratio is ', diff --git a/testing/lin/cchkge.f b/testing/lin/cchkge.f index d73c24e79ed6688db870642167a309f874aa547b..786277580b23575581e9e8b53bc3a94a1e3b0e95 100644 --- a/testing/lin/cchkge.f +++ b/testing/lin/cchkge.f @@ -39,7 +39,7 @@ $ IBVAL, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, $ AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -159,14 +159,14 @@ INTEGER I, IM, IMAT, IN, INB, INFO, IOFF, IRHS, ITRAN, $ IZERO, K, KL, KU, LDA, LWORK, M, MODE, N, NB, $ NERRS, NFAIL, NIMAT, NRHS, NRUN, NT, IB, - $ MORSE_TRANS + $ CHAMELEON_TRANS REAL AINVNM, ANORM, ANORMI, ANORMO, CNDNUM, DUMMY, $ RCOND, RCONDC, RCONDI, RCONDO c$$$ INTEGER HL( 2 ), HPIV( 2 ) * .. * .. Local Arrays .. CHARACTER TRANSS( NTRAN ) - INTEGER ISEED( 4 ), ISEEDY( 4 ), MORSE_TRANSS( NTRAN ) + INTEGER ISEED( 4 ), ISEEDY( 4 ), CHAMELEON_TRANSS( NTRAN ) REAL RESULT( NTESTS ) * .. * .. External Functions .. @@ -195,7 +195,7 @@ c$$$ INTEGER HL( 2 ), HPIV( 2 ) DATA ISEEDY / 1988, 1989, 1990, 1991 / , * $ TRANSS / 'N', 'T', 'C' / $ TRANSS / 'N' / - $ MORSE_TRANSS / MORSENOTRANS / + $ CHAMELEON_TRANSS / CHAMELEONNOTRANS / * .. * .. Executable Statements .. * @@ -306,21 +306,21 @@ c$$$ INTEGER HL( 2 ), HPIV( 2 ) IF ( (MAX(M, N) / 25) .GT. NB ) THEN GOTO 90 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO ) * * ALLOCATE HL and HPIV * -c$$$ CALL MORSE_ALLOC_WORKSPACE_CGETRF_INCPIV( +c$$$ CALL CHAMELEON_ALLOC_WORKSPACE_CGETRF_INCPIV( c$$$ $ M, N, HL, HPIV, INFO ) * * Compute the LU factorization of the matrix. * CALL CLACPY( 'Full', M, N, A, LDA, AFAC, LDA ) SRNAMT = 'CGETRF' -c$$$ CALL MORSE_CGETRF_INCPIV( M, N, AFAC, LDA, HL, +c$$$ CALL CHAMELEON_CGETRF_INCPIV( M, N, AFAC, LDA, HL, c$$$ $ HPIV, INFO ) - CALL MORSE_CGETRF( M, N, AFAC, LDA, + CALL CHAMELEON_CGETRF( M, N, AFAC, LDA, $ IWORK, INFO ) * * Check error code from CGETRF. @@ -372,7 +372,7 @@ c$$$ $ HPIV, INFO ) * DO 50 ITRAN = 1, NTRAN TRANS = TRANSS( ITRAN ) - MORSE_TRANS = MORSE_TRANSS( ITRAN ) + CHAMELEON_TRANS = CHAMELEON_TRANSS( ITRAN ) IF( ITRAN.EQ.1 ) THEN RCONDC = RCONDO ELSE @@ -390,10 +390,10 @@ c$$$ $ HPIV, INFO ) * CALL CLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) SRNAMT = 'CGETRS' -c$$$ CALL MORSE_CGETRS_INCPIV( MORSE_TRANS, N, +c$$$ CALL CHAMELEON_CGETRS_INCPIV( CHAMELEON_TRANS, N, c$$$ $ NRHS, AFAC, LDA, HL, HPIV, c$$$ $ X, LDA, INFO ) - CALL MORSE_CGETRS( MORSE_TRANS, N, + CALL CHAMELEON_CGETRS( CHAMELEON_TRANS, N, $ NRHS, AFAC, LDA, IWORK, $ X, LDA, INFO ) * @@ -435,8 +435,8 @@ c$$$ $ X, LDA, INFO ) * * DEALLOCATE HL and HPIV * -c$$$ CALL MORSE_DEALLOC_HANDLE( HL, INFO ) -c$$$ CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) 90 CONTINUE 100 CONTINUE * diff --git a/testing/lin/cchklq.f b/testing/lin/cchklq.f index 1396905121a82c5abcc49bebd4a178fbc2972ab6..0b374ffa59af2b2e28dda03083cd4b16cb5b6499 100644 --- a/testing/lin/cchklq.f +++ b/testing/lin/cchklq.f @@ -40,7 +40,7 @@ $ AL, AC, B, X, XACT, TAU, WORK, RWORK, IWORK, $ NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -270,12 +270,12 @@ * DO 45 IRH = 0, 1 IF (IRH .EQ. 0) THEN - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_FLAT_HOUSEHOLDER, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamFlatHouseholder, INFO ) ELSE - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_TREE_HOUSEHOLDER, INFO ) - CALL MORSE_SET(MORSE_HOUSEHOLDER_SIZE, + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamTreeHouseholder, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_SIZE, $ RHBLK, INFO) END IF * @@ -295,12 +295,12 @@ IF ( (MAX(M, N) / 10) .GT. NB ) THEN GOTO 30 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO) * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_CGELQF( M, N, HT, + CALL CHAMELEON_ALLOC_WORKSPACE_CGELQF( M, N, HT, $ INFO ) * DO I = 1, NTESTS @@ -354,7 +354,7 @@ CALL CLACPY( 'Full', M, NRHS, B, LDA, X, $ LDA ) SRNAMT = 'CGELQS' - CALL MORSE_CGELQS( M, N, NRHS, AF, LDA, HT, + CALL CHAMELEON_CGELQS( M, N, NRHS, AF, LDA, HT, $ X, LDA, INFO ) * * Check error code from CGELQS. @@ -394,7 +394,7 @@ * * Deallocate T * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) 30 CONTINUE 40 CONTINUE 45 CONTINUE diff --git a/testing/lin/cchkpo.f b/testing/lin/cchkpo.f index d00a126ceef6932bd3aece41b536293958879f42..0946ade1986359a5af4ac1ee54f0869f0e2f0e22 100644 --- a/testing/lin/cchkpo.f +++ b/testing/lin/cchkpo.f @@ -39,7 +39,7 @@ $ THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, $ XACT, WORK, RWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -139,12 +139,12 @@ CHARACTER*3 PATH INTEGER I, IMAT, IN, INB, INFO, IOFF, IRHS, IUPLO, $ IZERO, K, KL, KU, LDA, MODE, N, NB, NERRS, - $ NFAIL, NIMAT, NRHS, NRUN, MORSE_UPLO + $ NFAIL, NIMAT, NRHS, NRUN, CHAMELEON_UPLO REAL ANORM, CNDNUM, RCOND, RCONDC * .. * .. Local Arrays .. CHARACTER UPLOS( 2 ) - INTEGER MORSE_UPLOS( 2 ) + INTEGER CHAMELEON_UPLOS( 2 ) INTEGER ISEED( 4 ), ISEEDY( 4 ) REAL RESULT( NTESTS ) * .. @@ -173,7 +173,7 @@ * .. Data statements .. DATA ISEEDY / 1988, 1989, 1990, 1991 / DATA UPLOS / 'U', 'L' / - DATA MORSE_UPLOS / MORSEUPPER, MORSELOWER / + DATA CHAMELEON_UPLOS / CHAMELEONUPPER, CHAMELEONLOWER / * .. * .. Executable Statements .. * @@ -222,7 +222,7 @@ * DO 100 IUPLO = 1, 2 UPLO = UPLOS( IUPLO ) - MORSE_UPLO = MORSE_UPLOS( IUPLO ) + CHAMELEON_UPLO = CHAMELEON_UPLOS( IUPLO ) * * Set up parameters with CLATB4 and generate a test matrix * with CLATMS. @@ -294,13 +294,13 @@ IF ( (N / 25) .GT. NB ) THEN GOTO 90 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) * * Compute the L*L' or U'*U factorization of the matrix. * CALL CLACPY( UPLO, N, N, A, LDA, AFAC, LDA ) SRNAMT = 'CPOTRF' - CALL MORSE_CPOTRF( MORSE_UPLO, N, AFAC, LDA, INFO ) + CALL CHAMELEON_CPOTRF( CHAMELEON_UPLO, N, AFAC, LDA, INFO ) * * Check error code from CPOTRF. * @@ -328,7 +328,7 @@ * CALL CLACPY( UPLO, N, N, AFAC, LDA, AINV, LDA ) SRNAMT = 'CPOTRI' - CALL MORSE_CPOTRI( MORSE_UPLO, N, AINV, LDA, + CALL CHAMELEON_CPOTRI( CHAMELEON_UPLO, N, AINV, LDA, $ INFO ) * * Check error code from CPOTRI. @@ -373,7 +373,7 @@ CALL CLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) * SRNAMT = 'CPOTRS' - CALL MORSE_CPOTRS( MORSE_UPLO, N, NRHS, AFAC, + CALL CHAMELEON_CPOTRS( CHAMELEON_UPLO, N, NRHS, AFAC, $ LDA, X, LDA, INFO ) * * Check error code from CPOTRS. diff --git a/testing/lin/cchkqr.f b/testing/lin/cchkqr.f index 1d2c49df8805f9e4d60d8b273a6ebaace9e5bf77..643f6a5e923fc0a3becf41b361f1036bde0879bd 100644 --- a/testing/lin/cchkqr.f +++ b/testing/lin/cchkqr.f @@ -40,7 +40,7 @@ $ AR, AC, B, X, XACT, TAU, WORK, RWORK, IWORK, $ NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -274,12 +274,12 @@ * DO 45 IRH = 0, 1 IF (IRH .EQ. 0) THEN - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_FLAT_HOUSEHOLDER, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamFlatHouseholder, INFO ) ELSE - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_TREE_HOUSEHOLDER, INFO ) - CALL MORSE_SET(MORSE_HOUSEHOLDER_SIZE, + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamTreeHouseholder, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_SIZE, $ RHBLK, INFO) END IF * @@ -299,12 +299,12 @@ IF ( (MAX(M, N) / 10) .GT. NB ) THEN GOTO 30 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO) * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_CGEQRF( M, N, HT, + CALL CHAMELEON_ALLOC_WORKSPACE_CGEQRF( M, N, HT, $ INFO ) * DO I = 1, NTESTS @@ -355,7 +355,7 @@ CALL CLACPY( 'Full', M, NRHS, B, LDA, X, $ LDA ) SRNAMT = 'CGEQRS' - CALL MORSE_CGEQRS( M, N, NRHS, AF, LDA, HT, + CALL CHAMELEON_CGEQRS( M, N, NRHS, AF, LDA, HT, $ X, LDA, INFO ) * * Check error code from CGEQRS. @@ -388,7 +388,7 @@ * * Deallocate T * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) 30 CONTINUE 40 CONTINUE 45 CONTINUE diff --git a/testing/lin/cdrvge.f b/testing/lin/cdrvge.f index 05e1a4934b511e499df0ba6335c774a40302662b..9bd369e4b752ca8cd2644f95199c4bcd82009b08 100644 --- a/testing/lin/cdrvge.f +++ b/testing/lin/cdrvge.f @@ -39,7 +39,7 @@ $ A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, $ RWORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -136,7 +136,7 @@ CHARACTER DIST, EQUED, FACT, TRANS, TYPE, XTYPE CHARACTER*3 PATH INTEGER HL( 2 ), HPIV( 2 ) - INTEGER MORSE_TRANS, IB + INTEGER CHAMELEON_TRANS, IB INTEGER I, IEQUED, IFACT, IMAT, IN, INFO, IOFF, ITRAN, $ IZERO, K, K1, KL, KU, LDA, LWORK, MODE, N, NB, $ NBMIN, NERRS, NFACT, NFAIL, NIMAT, NRUN, NT @@ -146,7 +146,7 @@ * .. * .. Local Arrays .. CHARACTER EQUEDS( 4 ), FACTS( 3 ), TRANSS( NTRAN ) - INTEGER ISEED( 4 ), ISEEDY( 4 ), MORSE_TRANSS( NTRAN ) + INTEGER ISEED( 4 ), ISEEDY( 4 ), CHAMELEON_TRANSS( NTRAN ) REAL RDUM( 1 ), RESULT( NTESTS ) * .. * .. External Functions .. @@ -176,7 +176,7 @@ DATA ISEEDY / 1988, 1989, 1990, 1991 / * DATA TRANSS / 'N', 'T', 'C' / DATA TRANSS / 'N' / - DATA MORSE_TRANSS / MORSENOTRANS / + DATA CHAMELEON_TRANSS / CHAMELEONNOTRANS / DATA FACTS / 'F', 'N', 'E' / DATA EQUEDS / 'N', 'R', 'C', 'B' / * .. @@ -208,8 +208,8 @@ NBMIN = 32 CALL XLAENV( 1, NB ) CALL XLAENV( 2, NBMIN ) - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO ) * * Do for each value of N in NVAL * @@ -223,7 +223,7 @@ * * ALLOCATE L and IPIV * -c$$$ CALL MORSE_ALLOC_WORKSPACE_CGETRF_INCPIV( +c$$$ CALL CHAMELEON_ALLOC_WORKSPACE_CGETRF_INCPIV( c$$$ $ N, N, HL, HPIV, INFO ) * * @@ -357,9 +357,9 @@ c$$$ $ N, N, HL, HPIV, INFO ) * * Factor the matrix A. * -c$$$ CALL MORSE_CGETRF_INCPIV( N, N, AFAC, LDA, +c$$$ CALL CHAMELEON_CGETRF_INCPIV( N, N, AFAC, LDA, c$$$ $ HL, HPIV, INFO ) - CALL MORSE_CGETRF( N, N, AFAC, LDA, + CALL CHAMELEON_CGETRF( N, N, AFAC, LDA, $ IWORK, INFO ) END IF * @@ -368,7 +368,7 @@ c$$$ $ HL, HPIV, INFO ) * Do for each value of TRANS. * TRANS = TRANSS( ITRAN ) - MORSE_TRANS = MORSE_TRANSS( ITRAN ) + CHAMELEON_TRANS = CHAMELEON_TRANSS( ITRAN ) IF( ITRAN.EQ.1 ) THEN RCONDC = RCONDO ELSE @@ -399,9 +399,9 @@ c$$$ $ HL, HPIV, INFO ) CALL CLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) * SRNAMT = 'CGESV ' -c$$$ CALL MORSE_CGESV_INCPIV( N, NRHS, AFAC, LDA, +c$$$ CALL CHAMELEON_CGESV_INCPIV( N, NRHS, AFAC, LDA, c$$$ $ HL, HPIV, X, LDA, INFO ) - CALL MORSE_CGESV( N, NRHS, AFAC, LDA, + CALL CHAMELEON_CGESV( N, NRHS, AFAC, LDA, $ IWORK, X, LDA, INFO ) * * Check error code from CGESV . @@ -450,8 +450,8 @@ c$$$ $ HL, HPIV, X, LDA, INFO ) * * DEALLOCATE HL and HPIV * -c$$$ CALL MORSE_DEALLOC_HANDLE( HL, INFO ) -c$$$ CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) 90 CONTINUE * * Print a summary of the results. diff --git a/testing/lin/cdrvls.f b/testing/lin/cdrvls.f index 71c7eaff7f416ead6f05cf4d7eb34d4f52f8e0af..ac7703bbdc3b13809ab45d6d16b864fbcaa7445a 100644 --- a/testing/lin/cdrvls.f +++ b/testing/lin/cdrvls.f @@ -40,7 +40,7 @@ $ B, COPYB, C, S, COPYS, WORK, RWORK, IWORK, $ NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -176,7 +176,7 @@ $ ISCALE, ITRAN, ITYPE, J, K, LDA, LDB, LDWORK, $ LWLSY, LWORK, M, MNMIN, N, NB, NCOLS, NERRS, $ NFAIL, NRHS, NROWS, NRUN, RANK, IB, - $ MORSE_TRANS + $ CHAMELEON_TRANS INTEGER HT( 2 ) REAL EPS, NORMA, NORMB, RCOND * .. @@ -275,25 +275,25 @@ IF ( (MAX(M, N) / 25) .GT. NB ) THEN GOTO 40 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, $ INFO ) * * Allocate T * - CALL MORSE_ALLOC_WORKSPACE_CGELS( M, N , HT, + CALL CHAMELEON_ALLOC_WORKSPACE_CGELS( M, N , HT, $ INFO ) * * DO 30 ITRAN = 1, 2 DO 30 ITRAN = 1, 1 IF( ITRAN.EQ.1 ) THEN TRANS = 'N' - MORSE_TRANS = MORSENOTRANS + CHAMELEON_TRANS = CHAMELEONNOTRANS NROWS = M NCOLS = N ELSE TRANS = 'C' - MORSE_TRANS = MORSECONJTRANS + CHAMELEON_TRANS = CHAMELEONCONJTRANS NROWS = N NCOLS = M END IF @@ -323,7 +323,7 @@ $ COPYB, LDB, B, LDB ) END IF SRNAMT = 'CGELS ' - CALL MORSE_CGELS( MORSE_TRANS, + CALL CHAMELEON_CGELS( CHAMELEON_TRANS, $ M, N, NRHS, $ A, LDA, HT, B, LDB, $ INFO ) @@ -380,7 +380,7 @@ * * Deallocate T * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) 40 CONTINUE END IF * diff --git a/testing/lin/cdrvpo.f b/testing/lin/cdrvpo.f index b39350f47b51c854305fcaa9822a94cffe3ef701..034c99643cf69fb59f351e17fc5c86f8b06d4347 100644 --- a/testing/lin/cdrvpo.f +++ b/testing/lin/cdrvpo.f @@ -39,7 +39,7 @@ $ A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, $ RWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -134,13 +134,13 @@ INTEGER I, IEQUED, IFACT, IMAT, IN, INFO, IOFF, IUPLO, $ IZERO, K, K1, KL, KU, LDA, MODE, N, NB, NBMIN, $ NERRS, NFACT, NFAIL, NIMAT, NRUN, NT, - $ MORSE_UPLO + $ CHAMELEON_UPLO REAL AINVNM, AMAX, ANORM, CNDNUM, RCOND, RCONDC, $ ROLDC, SCOND * .. * .. Local Arrays .. CHARACTER EQUEDS( 2 ), FACTS( 3 ), UPLOS( 2 ) - INTEGER ISEED( 4 ), ISEEDY( 4 ), MORSE_UPLOS( 2 ) + INTEGER ISEED( 4 ), ISEEDY( 4 ), CHAMELEON_UPLOS( 2 ) REAL RESULT( NTESTS ) * .. * .. External Functions .. @@ -169,7 +169,7 @@ * .. Data statements .. DATA ISEEDY / 1988, 1989, 1990, 1991 / DATA UPLOS / 'U', 'L' / - DATA MORSE_UPLOS / MORSEUPPER, MORSELOWER / + DATA CHAMELEON_UPLOS / CHAMELEONUPPER, CHAMELEONLOWER / DATA FACTS / 'F', 'N', 'E' / DATA EQUEDS / 'N', 'Y' / * .. @@ -198,7 +198,7 @@ NBMIN = 32 CALL XLAENV( 1, NB ) CALL XLAENV( 2, NBMIN ) - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) * * Do for each value of N in NVAL * @@ -227,7 +227,7 @@ * DO 110 IUPLO = 1, 2 UPLO = UPLOS( IUPLO ) - MORSE_UPLO = MORSE_UPLOS( IUPLO ) + CHAMELEON_UPLO = CHAMELEON_UPLOS( IUPLO ) * * Set up parameters with CLATB4 and generate a test matrix * with CLATMS. @@ -352,13 +352,13 @@ * * Factor the matrix A. * - CALL MORSE_CPOTRF( MORSE_UPLO, N, + CALL CHAMELEON_CPOTRF( CHAMELEON_UPLO, N, $ AFAC, LDA, INFO ) * * Form the inverse of A. * CALL CLACPY( UPLO, N, N, AFAC, LDA, A, LDA ) - CALL MORSE_CPOTRI( MORSE_UPLO, N, A, LDA, + CALL CHAMELEON_CPOTRI( CHAMELEON_UPLO, N, A, LDA, $ INFO ) * * Compute the 1-norm condition number of A. @@ -395,7 +395,7 @@ CALL CLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) * SRNAMT = 'CPOSV ' - CALL MORSE_CPOSV( MORSE_UPLO, N, NRHS, + CALL CHAMELEON_CPOSV( CHAMELEON_UPLO, N, NRHS, $ AFAC, LDA, X, LDA, INFO ) * * Check error code from CPOSV . diff --git a/testing/lin/cerrge.f b/testing/lin/cerrge.f index a2a3537f19c91f918b226773b954aceb34aa3f61..c61c1c408f49f6b8949b462dca22705cb48c772a 100644 --- a/testing/lin/cerrge.f +++ b/testing/lin/cerrge.f @@ -37,7 +37,7 @@ SUBROUTINE CERRGE( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -108,10 +108,10 @@ WRITE( NOUT, FMT = * ) C2 = PATH( 2: 3 ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -136,86 +136,86 @@ * * ALLOCATE L and IPIV * - CALL MORSE_ALLOC_WORKSPACE_CGETRF_INCPIV( + CALL CHAMELEON_ALLOC_WORKSPACE_CGETRF_INCPIV( $ 2, 1, HL, HPIV, INFO ) * * CGETRF * SRNAMT = 'CGETRF' INFOT = 1 - CALL MORSE_CGETRF_INCPIV( -1, 0, A, 1, HL, HPIV, INFO ) + CALL CHAMELEON_CGETRF_INCPIV( -1, 0, A, 1, HL, HPIV, INFO ) CALL CHKXER( 'CGETRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGETRF_INCPIV( 0, -1, A, 1, HL, HPIV, INFO ) + CALL CHAMELEON_CGETRF_INCPIV( 0, -1, A, 1, HL, HPIV, INFO ) CALL CHKXER( 'CGETRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_CGETRF_INCPIV( 2, 1, A, 1, HL, HPIV, INFO ) + CALL CHAMELEON_CGETRF_INCPIV( 2, 1, A, 1, HL, HPIV, INFO ) CALL CHKXER( 'CGETRF', INFOT, NOUT, INFO, OK ) * * CGETRS * SRNAMT = 'CGETRS' INFOT = 103 - CALL MORSE_CGETRS_INCPIV( '/', -1, 0, A, 1, HL, HPIV, + CALL CHAMELEON_CGETRS_INCPIV( '/', -1, 0, A, 1, HL, HPIV, $ B, 1, INFO ) CALL CHKXER( 'CGETRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGETRS_INCPIV( MORSENOTRANS, -1, 0, A, 1, HL, + CALL CHAMELEON_CGETRS_INCPIV( CHAMELEONNOTRANS, -1, 0, A, 1, HL, $ HPIV, B, 1, INFO ) CALL CHKXER( 'CGETRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CGETRS_INCPIV( MORSENOTRANS, 0, -1, A, 1, HL, + CALL CHAMELEON_CGETRS_INCPIV( CHAMELEONNOTRANS, 0, -1, A, 1, HL, $ HPIV, B, 1, INFO ) CALL CHKXER( 'CGETRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_CGETRS_INCPIV( MORSENOTRANS, 2, 1, A, 1, HL, + CALL CHAMELEON_CGETRS_INCPIV( CHAMELEONNOTRANS, 2, 1, A, 1, HL, $ HPIV, B, 2, INFO ) CALL CHKXER( 'CGETRS', INFOT, NOUT, INFO, OK ) INFOT = 9 - CALL MORSE_CGETRS_INCPIV( MORSENOTRANS, 2, 1, A, 2, HL, + CALL CHAMELEON_CGETRS_INCPIV( CHAMELEONNOTRANS, 2, 1, A, 2, HL, $ HPIV, B, 1, INFO ) CALL CHKXER( 'CGETRS', INFOT, NOUT, INFO, OK ) * * DEALLOCATE L and IPIV * - CALL MORSE_DEALLOC_HANDLE( HL, INFO ) - CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) * * LAPACK Interface * CGETRF * SRNAMT = 'CGETRF' INFOT = 1 - CALL MORSE_CGETRF( -1, 0, A, 1, IP, INFO ) + CALL CHAMELEON_CGETRF( -1, 0, A, 1, IP, INFO ) CALL CHKXER( 'CGETRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGETRF( 0, -1, A, 1, IP, INFO ) + CALL CHAMELEON_CGETRF( 0, -1, A, 1, IP, INFO ) CALL CHKXER( 'CGETRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_CGETRF( 2, 1, A, 1, IP, INFO ) + CALL CHAMELEON_CGETRF( 2, 1, A, 1, IP, INFO ) CALL CHKXER( 'CGETRF', INFOT, NOUT, INFO, OK ) * * CGETRS * SRNAMT = 'CGETRS' INFOT = 1 - CALL MORSE_CGETRS( '/', 0, 0, A, 1, IP, + CALL CHAMELEON_CGETRS( '/', 0, 0, A, 1, IP, $ B, 1, INFO ) CALL CHKXER( 'CGETRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGETRS( MORSENOTRANS, -1, 0, A, 1, IP, + CALL CHAMELEON_CGETRS( CHAMELEONNOTRANS, -1, 0, A, 1, IP, $ B, 1, INFO ) CALL CHKXER( 'CGETRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CGETRS( MORSENOTRANS, 0, -1, A, 1, IP, + CALL CHAMELEON_CGETRS( CHAMELEONNOTRANS, 0, -1, A, 1, IP, $ B, 1, INFO ) CALL CHKXER( 'CGETRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_CGETRS( MORSENOTRANS, 2, 1, A, 1, IP, + CALL CHAMELEON_CGETRS( CHAMELEONNOTRANS, 2, 1, A, 1, IP, $ B, 2, INFO ) CALL CHKXER( 'CGETRS', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_CGETRS( MORSENOTRANS, 2, 1, A, 2, IP, + CALL CHAMELEON_CGETRS( CHAMELEONNOTRANS, 2, 1, A, 2, IP, $ B, 1, INFO ) CALL CHKXER( 'CGETRS', INFOT, NOUT, INFO, OK ) * @@ -225,10 +225,10 @@ * CALL ALAESM( PATH, OK, NOUT ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/cerrlq.f b/testing/lin/cerrlq.f index 2fb935a4049bcb0118cb1927f8a2b548a1b8a881..dc948d082129b2c443b1567e8036ef30ffc50070 100644 --- a/testing/lin/cerrlq.f +++ b/testing/lin/cerrlq.f @@ -37,7 +37,7 @@ SUBROUTINE CERRLQ( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -98,10 +98,10 @@ NOUT = NUNIT WRITE( NOUT, FMT = * ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -118,7 +118,7 @@ * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_CGELQF( 2, 2, HT, INFO ) + CALL CHAMELEON_ALLOC_WORKSPACE_CGELQF( 2, 2, HT, INFO ) * * Error exits for LQ factorization * @@ -126,105 +126,105 @@ * SRNAMT = 'CGELQF' INFOT = 1 - CALL MORSE_CGELQF( -1, 0, A, 1, HT, INFO ) + CALL CHAMELEON_CGELQF( -1, 0, A, 1, HT, INFO ) CALL CHKXER( 'CGELQF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGELQF( 0, -1, A, 1, HT, INFO ) + CALL CHAMELEON_CGELQF( 0, -1, A, 1, HT, INFO ) CALL CHKXER( 'CGELQF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_CGELQF( 2, 1, A, 1, HT, INFO ) + CALL CHAMELEON_CGELQF( 2, 1, A, 1, HT, INFO ) CALL CHKXER( 'CGELQF', INFOT, NOUT, INFO, OK ) * * CGELQS * SRNAMT = 'CGELQS' INFOT = 1 - CALL MORSE_CGELQS( -1, 0, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_CGELQS( -1, 0, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'CGELQS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGELQS( 0, -1, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_CGELQS( 0, -1, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'CGELQS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGELQS( 2, 1, 0, A, 2, HT, B, 1, INFO ) + CALL CHAMELEON_CGELQS( 2, 1, 0, A, 2, HT, B, 1, INFO ) CALL CHKXER( 'CGELQS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CGELQS( 0, 0, -1, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_CGELQS( 0, 0, -1, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'CGELQS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_CGELQS( 2, 2, 0, A, 1, HT, B, 2, INFO ) + CALL CHAMELEON_CGELQS( 2, 2, 0, A, 1, HT, B, 2, INFO ) CALL CHKXER( 'CGELQS', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_CGELQS( 1, 2, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_CGELQS( 1, 2, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'CGELQS', INFOT, NOUT, INFO, OK ) * * CUNGLQ * SRNAMT = 'CUNGLQ' INFOT = 1 - CALL MORSE_CUNGLQ( -1, 0, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_CUNGLQ( -1, 0, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'CUNGLQ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CUNGLQ( 0, -1, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_CUNGLQ( 0, -1, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'CUNGLQ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CUNGLQ( 2, 1, 0, A, 2, HT, W, 2, INFO ) + CALL CHAMELEON_CUNGLQ( 2, 1, 0, A, 2, HT, W, 2, INFO ) CALL CHKXER( 'CUNGLQ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CUNGLQ( 0, 0, -1, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_CUNGLQ( 0, 0, -1, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'CUNGLQ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CUNGLQ( 1, 1, 2, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_CUNGLQ( 1, 1, 2, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'CUNGLQ', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_CUNGLQ( 2, 2, 0, A, 1, HT, W, 2, INFO ) + CALL CHAMELEON_CUNGLQ( 2, 2, 0, A, 1, HT, W, 2, INFO ) CALL CHKXER( 'CUNGLQ', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_CUNGLQ( 2, 2, 0, A, 2, HT, W, 1, INFO ) + CALL CHAMELEON_CUNGLQ( 2, 2, 0, A, 2, HT, W, 1, INFO ) CALL CHKXER( 'CUNGLQ', INFOT, NOUT, INFO, OK ) * * CUNMLQ * SRNAMT = 'CUNMLQ' INFOT = 1 - CALL MORSE_CUNMLQ( '/', MORSECONJTRANS, 0, 0, 0, A, 1, HT, AF, + CALL CHAMELEON_CUNMLQ( '/', CHAMELEONCONJTRANS, 0, 0, 0, A, 1, HT, AF, $ 1, INFO ) CALL CHKXER( 'CUNMLQ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CUNMLQ( MORSELEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, + CALL CHAMELEON_CUNMLQ( CHAMELEONLEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, $ INFO ) CALL CHKXER( 'CUNMLQ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CUNMLQ( MORSELEFT, MORSECONJTRANS, -1, 0, 0, A, 1, + CALL CHAMELEON_CUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, -1, 0, 0, A, 1, $ HT, AF, 1, INFO ) CALL CHKXER( 'CUNMLQ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_CUNMLQ( MORSELEFT, MORSECONJTRANS, 0, -1, 0, A, 1, + CALL CHAMELEON_CUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, 0, -1, 0, A, 1, $ HT, AF, 1, INFO ) CALL CHKXER( 'CUNMLQ', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_CUNMLQ( MORSELEFT, MORSECONJTRANS, 0, 0, -1, A, 1, + CALL CHAMELEON_CUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, 0, 0, -1, A, 1, $ HT, AF, 1, INFO ) CALL CHKXER( 'CUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_CUNMLQ( MORSELEFT, MORSECONJTRANS, 0, 1, 1, A, 1, HT, AF, 1, INFO ) +* CALL CHAMELEON_CUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, 0, 1, 1, A, 1, HT, AF, 1, INFO ) * CALL CHKXER( 'CUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_CUNMLQ( MORSERIGHT, MORSECONJTRANS, 1, 0, 1, A, 1, HT, AF, 1, INFO ) +* CALL CHAMELEON_CUNMLQ( CHAMELEONRIGHT, CHAMELEONCONJTRANS, 1, 0, 1, A, 1, HT, AF, 1, INFO ) * CALL CHKXER( 'CUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_CUNMLQ( MORSELEFT, MORSECONJTRANS, 2, 0, 2, A, 1, HT, AF, 2, INFO ) +* CALL CHAMELEON_CUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, 2, 0, 2, A, 1, HT, AF, 2, INFO ) * CALL CHKXER( 'CUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_CUNMLQ( MORSERIGHT, MORSECONJTRANS, 0, 2, 2, A, 1, HT, AF, 1, INFO ) +* CALL CHAMELEON_CUNMLQ( CHAMELEONRIGHT, CHAMELEONCONJTRANS, 0, 2, 2, A, 1, HT, AF, 1, INFO ) * CALL CHKXER( 'CUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 10 -* CALL MORSE_CUNMLQ( MORSELEFT, MORSECONJTRANS, 2, 1, 0, A, 2, HT, AF, 1, INFO ) +* CALL CHAMELEON_CUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, 2, 1, 0, A, 2, HT, AF, 1, INFO ) * CALL CHKXER( 'CUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 12 -* CALL MORSE_CUNMLQ( MORSELEFT, MORSECONJTRANS, 1, 2, 0, A, 1, HT, AF, 1, INFO ) +* CALL CHAMELEON_CUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, 1, 2, 0, A, 1, HT, AF, 1, INFO ) * CALL CHKXER( 'CUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 12 -* CALL MORSE_CUNMLQ( MORSERIGHT, MORSECONJTRANS, 2, 1, 0, A, 1, HT, AF, 2, INFO ) +* CALL CHAMELEON_CUNMLQ( CHAMELEONRIGHT, CHAMELEONCONJTRANS, 2, 1, 0, A, 1, HT, AF, 2, INFO ) * CALL CHKXER( 'CUNMLQ', INFOT, NOUT, INFO, OK ) * * Print a summary line. @@ -234,12 +234,12 @@ * * Deallocate HT * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/cerrls.f b/testing/lin/cerrls.f index 5143c6de146873c1ea5c6324ca7c0b3f2fd3771f..89d85fff4c2a538691cc0e866ce29c09fd114df6 100644 --- a/testing/lin/cerrls.f +++ b/testing/lin/cerrls.f @@ -37,7 +37,7 @@ SUBROUTINE CERRLS( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -108,10 +108,10 @@ OK = .TRUE. WRITE( NOUT, FMT = * ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Test error exits for the least squares driver routines. * @@ -119,34 +119,34 @@ * * CGELS * - CALL MORSE_ALLOC_WORKSPACE_CGELS( 2, 2, HT, INFO ) + CALL CHAMELEON_ALLOC_WORKSPACE_CGELS( 2, 2, HT, INFO ) * SRNAMT = 'CGELS ' INFOT = 103 - CALL MORSE_CGELS( '/', 0, 0, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_CGELS( '/', 0, 0, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'CGELS ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGELS( MORSENOTRANS, -1, 0, 0, A, 1, HT, + CALL CHAMELEON_CGELS( CHAMELEONNOTRANS, -1, 0, 0, A, 1, HT, $ B, 1, INFO ) CALL CHKXER( 'CGELS ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CGELS( MORSENOTRANS, 0, -1, 0, A, 1, HT, + CALL CHAMELEON_CGELS( CHAMELEONNOTRANS, 0, -1, 0, A, 1, HT, $ B, 1, INFO ) CALL CHKXER( 'CGELS ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_CGELS( MORSENOTRANS, 0, 0, -1, A, 1, HT, + CALL CHAMELEON_CGELS( CHAMELEONNOTRANS, 0, 0, -1, A, 1, HT, $ B, 1, INFO ) CALL CHKXER( 'CGELS ', INFOT, NOUT, INFO, OK ) INFOT = 6 - CALL MORSE_CGELS( MORSENOTRANS, 2, 0, 0, A, 1, HT, + CALL CHAMELEON_CGELS( CHAMELEONNOTRANS, 2, 0, 0, A, 1, HT, $ B, 2, INFO ) CALL CHKXER( 'CGELS ', INFOT, NOUT, INFO, OK ) INFOT = 9 - CALL MORSE_CGELS( MORSENOTRANS, 2, 0, 0, A, 2, HT, + CALL CHAMELEON_CGELS( CHAMELEONNOTRANS, 2, 0, 0, A, 2, HT, $ B, 1, INFO ) CALL CHKXER( 'CGELS ', INFOT, NOUT, INFO, OK ) * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) * END IF * @@ -154,10 +154,10 @@ * CALL ALAESM( PATH, OK, NOUT ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/cerrpo.f b/testing/lin/cerrpo.f index 56170352185cd607779ec7b026e4f8adfc8256c9..6833586773514658105b4e7362533abbf9b9907a 100644 --- a/testing/lin/cerrpo.f +++ b/testing/lin/cerrpo.f @@ -37,7 +37,7 @@ SUBROUTINE CERRPO( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -107,10 +107,10 @@ WRITE( NOUT, FMT = * ) C2 = PATH( 2: 3 ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -137,42 +137,42 @@ * SRNAMT = 'CPOTRF' INFOT = 1 - CALL MORSE_CPOTRF( '/', 0, A, 1, INFO ) + CALL CHAMELEON_CPOTRF( '/', 0, A, 1, INFO ) CALL CHKXER( 'CPOTRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CPOTRF( MORSEUPPER, -1, A, 1, INFO ) + CALL CHAMELEON_CPOTRF( CHAMELEONUPPER, -1, A, 1, INFO ) CALL CHKXER( 'CPOTRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_CPOTRF( MORSEUPPER, 2, A, 1, INFO ) + CALL CHAMELEON_CPOTRF( CHAMELEONUPPER, 2, A, 1, INFO ) CALL CHKXER( 'CPOTRF', INFOT, NOUT, INFO, OK ) * * CPOTRS * SRNAMT = 'CPOTRS' INFOT = 1 - CALL MORSE_CPOTRS( '/', 0, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_CPOTRS( '/', 0, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'CPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CPOTRS( MORSEUPPER, -1, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_CPOTRS( CHAMELEONUPPER, -1, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'CPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CPOTRS( MORSEUPPER, 0, -1, A, 1, B, 1, INFO ) + CALL CHAMELEON_CPOTRS( CHAMELEONUPPER, 0, -1, A, 1, B, 1, INFO ) CALL CHKXER( 'CPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_CPOTRS( MORSEUPPER, 2, 1, A, 1, B, 2, INFO ) + CALL CHAMELEON_CPOTRS( CHAMELEONUPPER, 2, 1, A, 1, B, 2, INFO ) CALL CHKXER( 'CPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_CPOTRS( MORSEUPPER, 2, 1, A, 2, B, 1, INFO ) + CALL CHAMELEON_CPOTRS( CHAMELEONUPPER, 2, 1, A, 2, B, 1, INFO ) END IF * * Print a summary line. * CALL ALAESM( PATH, OK, NOUT ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/cerrqr.f b/testing/lin/cerrqr.f index b8b3ace412003e947cc3807d72492ee6fbd5e02c..cfae5213fb561ac5dfc874a55875b7fcf6dce087 100644 --- a/testing/lin/cerrqr.f +++ b/testing/lin/cerrqr.f @@ -37,7 +37,7 @@ SUBROUTINE CERRQR( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -98,10 +98,10 @@ NOUT = NUNIT WRITE( NOUT, FMT = * ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -118,7 +118,7 @@ * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_CGEQRF( 2, 2, HT, INFO ) + CALL CHAMELEON_ALLOC_WORKSPACE_CGEQRF( 2, 2, HT, INFO ) * * Error exits for QR factorization * @@ -126,107 +126,107 @@ * SRNAMT = 'CGEQRF' INFOT = 1 - CALL MORSE_CGEQRF( -1, 0, A, 1, HT, INFO ) + CALL CHAMELEON_CGEQRF( -1, 0, A, 1, HT, INFO ) CALL CHKXER( 'CGEQRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGEQRF( 0, -1, A, 1, HT, INFO ) + CALL CHAMELEON_CGEQRF( 0, -1, A, 1, HT, INFO ) CALL CHKXER( 'CGEQRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_CGEQRF( 2, 1, A, 1, HT, INFO ) + CALL CHAMELEON_CGEQRF( 2, 1, A, 1, HT, INFO ) CALL CHKXER( 'CGEQRF', INFOT, NOUT, INFO, OK ) * * CGEQRS * SRNAMT = 'CGEQRS' INFOT = 1 - CALL MORSE_CGEQRS( -1, 0, 0, A, 1, X, B, 1, INFO ) + CALL CHAMELEON_CGEQRS( -1, 0, 0, A, 1, X, B, 1, INFO ) CALL CHKXER( 'CGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGEQRS( 0, -1, 0, A, 1, X, B, 1, INFO ) + CALL CHAMELEON_CGEQRS( 0, -1, 0, A, 1, X, B, 1, INFO ) CALL CHKXER( 'CGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGEQRS( 1, 2, 0, A, 2, X, B, 2, INFO ) + CALL CHAMELEON_CGEQRS( 1, 2, 0, A, 2, X, B, 2, INFO ) CALL CHKXER( 'CGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CGEQRS( 0, 0, -1, A, 1, X, B, 1, INFO ) + CALL CHAMELEON_CGEQRS( 0, 0, -1, A, 1, X, B, 1, INFO ) CALL CHKXER( 'CGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_CGEQRS( 2, 1, 0, A, 1, X, B, 2, INFO ) + CALL CHAMELEON_CGEQRS( 2, 1, 0, A, 1, X, B, 2, INFO ) CALL CHKXER( 'CGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_CGEQRS( 2, 1, 0, A, 2, X, B, 1, INFO ) + CALL CHAMELEON_CGEQRS( 2, 1, 0, A, 2, X, B, 1, INFO ) CALL CHKXER( 'CGEQRS', INFOT, NOUT, INFO, OK ) * * CUNGQR * SRNAMT = 'CUNGQR' INFOT = 1 - CALL MORSE_CUNGQR( -1, 0, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_CUNGQR( -1, 0, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'CUNGQR', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CUNGQR( 0, -1, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_CUNGQR( 0, -1, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'CUNGQR', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CUNGQR( 1, 2, 0, A, 1, HT, W, 2, INFO ) + CALL CHAMELEON_CUNGQR( 1, 2, 0, A, 1, HT, W, 2, INFO ) CALL CHKXER( 'CUNGQR', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CUNGQR( 0, 0, -1, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_CUNGQR( 0, 0, -1, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'CUNGQR', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CUNGQR( 1, 1, 2, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_CUNGQR( 1, 1, 2, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'CUNGQR', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_CUNGQR( 2, 2, 0, A, 1, HT, W, 2, INFO ) + CALL CHAMELEON_CUNGQR( 2, 2, 0, A, 1, HT, W, 2, INFO ) CALL CHKXER( 'CUNGQR', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_CUNGQR( 2, 2, 0, A, 2, HT, W, 1, INFO ) + CALL CHAMELEON_CUNGQR( 2, 2, 0, A, 2, HT, W, 1, INFO ) CALL CHKXER( 'CUNGQR', INFOT, NOUT, INFO, OK ) * -* MORSE_CUNMQR +* CHAMELEON_CUNMQR * SRNAMT = 'CUNMQR' INFOT = 1 - CALL MORSE_CUNMQR( '/', MORSECONJTRANS, 0, 0, 0, A, 1, HT, AF, + CALL CHAMELEON_CUNMQR( '/', CHAMELEONCONJTRANS, 0, 0, 0, A, 1, HT, AF, $ 1, INFO ) CALL CHKXER( 'CUNMQR', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CUNMQR( MORSELEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, + CALL CHAMELEON_CUNMQR( CHAMELEONLEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, $ INFO ) CALL CHKXER( 'CUNMQR', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CUNMQR( MORSELEFT, MORSECONJTRANS, -1, 0, 0, A, 1, + CALL CHAMELEON_CUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, -1, 0, 0, A, 1, $ HT, AF, 1, INFO ) CALL CHKXER( 'CUNMQR', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_CUNMQR( MORSELEFT, MORSECONJTRANS, 0, -1, 0, A, 1, + CALL CHAMELEON_CUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 0, -1, 0, A, 1, $ HT, AF, 1, INFO ) CALL CHKXER( 'CUNMQR', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_CUNMQR( MORSELEFT, MORSECONJTRANS, 0, 0, -1, A, 1, + CALL CHAMELEON_CUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 0, 0, -1, A, 1, $ HT, AF, 1, INFO ) CALL CHKXER( 'CUNMQR', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_CUNMQR( MORSELEFT, MORSECONJTRANS, 0, 1, 1, A, 1, HT, +* CALL CHAMELEON_CUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 0, 1, 1, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'CUNMQR', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_CUNMQR( MORSELEFT, MORSECONJTRANS, 1, 0, 1, A, 1, HT, +* CALL CHAMELEON_CUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 1, 0, 1, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'CUNMQR', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_CUNMQR( MORSELEFT, MORSECONJTRANS, 2, 1, 0, A, 1, HT, +* CALL CHAMELEON_CUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 2, 1, 0, A, 1, HT, * 4 AF, 2, INFO ) * CALL CHKXER( 'CUNMQR', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_CUNMQR( MORSELEFT, MORSECONJTRANS, 1, 2, 0, A, 1, HT, +* CALL CHAMELEON_CUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 1, 2, 0, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'CUNMQR', INFOT, NOUT, INFO, OK ) * INFOT = 10 -* CALL MORSE_CUNMQR( MORSELEFT, MORSECONJTRANS, 1, 2, 0, A, 1, HT, +* CALL CHAMELEON_CUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 1, 2, 0, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'CUNMQR', INFOT, NOUT, INFO, OK ) * INFOT = 10 -* CALL MORSE_CUNMQR( MORSELEFT, MORSECONJTRANS, 2, 1, 0, A, 1, HT, +* CALL CHAMELEON_CUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 2, 1, 0, A, 1, HT, * 4 AF, 2, INFO ) * CALL CHKXER( 'CUNMQR', INFOT, NOUT, INFO, OK ) * @@ -236,12 +236,12 @@ * * Deallocate HT * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/cerrvx.f b/testing/lin/cerrvx.f index 513ea6e15573bbf71796870e3a18266c382981c1..386802713decf95356233797204279148d4400d0 100644 --- a/testing/lin/cerrvx.f +++ b/testing/lin/cerrvx.f @@ -37,7 +37,7 @@ SUBROUTINE CERRVX( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -111,10 +111,10 @@ WRITE( NOUT, FMT = * ) C2 = PATH( 2: 3 ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -139,7 +139,7 @@ * * ALLOCATE HL and HPIV * - CALL MORSE_ALLOC_WORKSPACE_CGETRF_INCPIV( + CALL CHAMELEON_ALLOC_WORKSPACE_CGETRF_INCPIV( $ 2, 1, HL, HPIV, INFO ) * * @@ -147,38 +147,38 @@ * SRNAMT = 'CGESV ' INFOT = 1 - CALL MORSE_CGESV_INCPIV( -1, 0, A, 1, HL, HPIV, B, 1, INFO ) + CALL CHAMELEON_CGESV_INCPIV( -1, 0, A, 1, HL, HPIV, B, 1, INFO ) CALL CHKXER( 'CGESV ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGESV_INCPIV( 0, -1, A, 1, HL, HPIV, B, 1, INFO ) + CALL CHAMELEON_CGESV_INCPIV( 0, -1, A, 1, HL, HPIV, B, 1, INFO ) CALL CHKXER( 'CGESV ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_CGESV_INCPIV( 2, 1, A, 1, HL, HPIV, B, 2, INFO ) + CALL CHAMELEON_CGESV_INCPIV( 2, 1, A, 1, HL, HPIV, B, 2, INFO ) CALL CHKXER( 'CGESV ', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_CGESV_INCPIV( 2, 1, A, 2, HL, HPIV, B, 1, INFO ) + CALL CHAMELEON_CGESV_INCPIV( 2, 1, A, 2, HL, HPIV, B, 1, INFO ) CALL CHKXER( 'CGESV ', INFOT, NOUT, INFO, OK ) * * DEALLOCATE HL and HPIV * - CALL MORSE_DEALLOC_HANDLE( HL, INFO ) - CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) * * * CGESV * SRNAMT = 'CGESV ' INFOT = 1 - CALL MORSE_CGESV( -1, 0, A, 1, IWORK, B, 1, INFO ) + CALL CHAMELEON_CGESV( -1, 0, A, 1, IWORK, B, 1, INFO ) CALL CHKXER( 'CGESV ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CGESV( 0, -1, A, 1, IWORK, B, 1, INFO ) + CALL CHAMELEON_CGESV( 0, -1, A, 1, IWORK, B, 1, INFO ) CALL CHKXER( 'CGESV ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_CGESV( 2, 1, A, 1, IWORK, B, 2, INFO ) + CALL CHAMELEON_CGESV( 2, 1, A, 1, IWORK, B, 2, INFO ) CALL CHKXER( 'CGESV ', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_CGESV( 2, 1, A, 2, IWORK, B, 1, INFO ) + CALL CHAMELEON_CGESV( 2, 1, A, 2, IWORK, B, 1, INFO ) CALL CHKXER( 'CGESV ', INFOT, NOUT, INFO, OK ) * ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN @@ -187,19 +187,19 @@ * SRNAMT = 'CPOSV ' INFOT = 1 - CALL MORSE_CPOSV( '/', 0, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_CPOSV( '/', 0, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'CPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_CPOSV( MORSEUPPER, -1, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_CPOSV( CHAMELEONUPPER, -1, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'CPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_CPOSV( MORSEUPPER, 0, -1, A, 1, B, 1, INFO ) + CALL CHAMELEON_CPOSV( CHAMELEONUPPER, 0, -1, A, 1, B, 1, INFO ) CALL CHKXER( 'CPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_CPOSV( MORSEUPPER, 2, 0, A, 1, B, 2, INFO ) + CALL CHAMELEON_CPOSV( CHAMELEONUPPER, 2, 0, A, 1, B, 2, INFO ) CALL CHKXER( 'CPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_CPOSV( MORSEUPPER, 2, 0, A, 2, B, 1, INFO ) + CALL CHAMELEON_CPOSV( CHAMELEONUPPER, 2, 0, A, 2, B, 1, INFO ) CALL CHKXER( 'CPOSV ', INFOT, NOUT, INFO, OK ) * * CPOSVX @@ -261,10 +261,10 @@ 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ', $ 'exits ***' ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/morse_lintesting.py b/testing/lin/chameleon_lintesting.py similarity index 86% rename from testing/lin/morse_lintesting.py rename to testing/lin/chameleon_lintesting.py index 13f83e04fc3c6d73933dfb479a6483c4102ae7e8..66e351d93a3aa34bd8840c1420ca52e439e35822 100755 --- a/testing/lin/morse_lintesting.py +++ b/testing/lin/chameleon_lintesting.py @@ -12,7 +12,7 @@ f.close() os.environ["PATH"] = os.environ["PATH"]+":." print ' ' -print '---------------- LAPACK LIN Testing with MORSE ----------------' +print '---------------- LAPACK LIN Testing with CHAMELEON ----------------' print ' ' print '-- Detailed results are stored in', filename @@ -28,7 +28,7 @@ for dtype in range(4): print " " sys.stdout.flush() # make sure progress of testing is shown f = open(filename, "a") - test1 = os.popen("morse_xlintst%s < %stest.in" % (letter, letter)) + test1 = os.popen("chameleon_xlintst%s < %stest.in" % (letter, letter)) for line in test1.readlines(): f.write(str(line)) if "passed" in line : print line, diff --git a/testing/lin/clqt01.f b/testing/lin/clqt01.f index 41c4295099be4af06332cb36bffb8aac968dc390..28673d9c8dbe5c3abe2f18da32b62e2c5ee5841d 100644 --- a/testing/lin/clqt01.f +++ b/testing/lin/clqt01.f @@ -38,7 +38,7 @@ SUBROUTINE CLQT01( M, N, A, AF, Q, L, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -144,7 +144,7 @@ * Factorize the matrix A in the array AF. * SRNAMT = 'CGELQF' - CALL MORSE_CGELQF( M, N, AF, LDA, T, INFO ) + CALL CHAMELEON_CGELQF( M, N, AF, LDA, T, INFO ) * * Copy details of Q * @@ -153,7 +153,7 @@ * Generate the n-by-n matrix Q * SRNAMT = 'CUNGLQ' - CALL MORSE_CUNGLQ( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_CUNGLQ( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) * * Copy L * diff --git a/testing/lin/clqt02.f b/testing/lin/clqt02.f index a603738eb30a6a058fa265109e1c4dd05c9a17f5..472c4ee20fd7b596a61811aa57bfccd08b9799b4 100644 --- a/testing/lin/clqt02.f +++ b/testing/lin/clqt02.f @@ -38,7 +38,7 @@ SUBROUTINE CLQT02( M, N, K, A, AF, Q, L, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -149,7 +149,7 @@ * Generate the first n columns of the matrix Q * SRNAMT = 'CUNGLQ' - CALL MORSE_CUNGLQ( M, N, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_CUNGLQ( M, N, K, AF, LDA, T, Q, LDA, INFO ) * * Copy L(1:k,1:m) * diff --git a/testing/lin/clqt03.f b/testing/lin/clqt03.f index 9539260d086134b27ca260234303adc74f5b4e2e..377028f3fa5ef399efd87838fd88c987693e0703 100644 --- a/testing/lin/clqt03.f +++ b/testing/lin/clqt03.f @@ -38,7 +38,7 @@ SUBROUTINE CLQT03( M, N, K, AF, C, CC, Q, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -122,7 +122,7 @@ * .. Local Scalars .. CHARACTER SIDE, TRANS INTEGER INFO, ISIDE, ITRANS, J, MC, NC - INTEGER MORSE_SIDE, MORSE_TRANS + INTEGER CHAMELEON_SIDE, CHAMELEON_TRANS REAL CNORM, EPS, RESID * .. * .. External Functions .. @@ -164,17 +164,17 @@ * Generate the n-by-n matrix Q * SRNAMT = 'CUNGLQ' - CALL MORSE_CUNGLQ( N, N, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_CUNGLQ( N, N, K, AF, LDA, T, Q, LDA, INFO ) * DO 30 ISIDE = 1, 2 IF( ISIDE.EQ.1 ) THEN SIDE = 'L' - MORSE_SIDE = MORSELEFT + CHAMELEON_SIDE = CHAMELEONLEFT MC = N NC = M ELSE SIDE = 'R' - MORSE_SIDE = MORSERIGHT + CHAMELEON_SIDE = CHAMELEONRIGHT MC = M NC = N END IF @@ -193,10 +193,10 @@ * ONLY CONJTRANS SUPPORTED !!!! IF( ITRANS.EQ.1 ) THEN TRANS = 'N' - MORSE_TRANS = MORSENOTRANS + CHAMELEON_TRANS = CHAMELEONNOTRANS ELSE TRANS = 'C' - MORSE_TRANS = MORSECONJTRANS + CHAMELEON_TRANS = CHAMELEONCONJTRANS END IF * * Copy C @@ -206,7 +206,7 @@ * Apply Q or Q' to C * SRNAMT = 'CUNMLQ' - CALL MORSE_CUNMLQ( MORSE_SIDE, MORSE_TRANS, MC, NC, K, + CALL CHAMELEON_CUNMLQ( CHAMELEON_SIDE, CHAMELEON_TRANS, MC, NC, K, $ AF, LDA, T, CC, LDA, INFO ) * * Form explicit product and subtract diff --git a/testing/lin/cporfs.f b/testing/lin/cporfs.f index aa437e2c5e1d8b72e736425e58db7902ed82ca6d..14708b5d324cb5aa82f7b241ad6cca67a3727ca8 100644 --- a/testing/lin/cporfs.f +++ b/testing/lin/cporfs.f @@ -38,7 +38,7 @@ SUBROUTINE CPORFS( UPLO, N, NRHS, A, LDA, AF, LDAF, B, LDB, X, $ LDX, FERR, BERR, WORK, RWORK, INFO ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK routine (version 3.2) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -154,7 +154,7 @@ * .. * .. Local Scalars .. LOGICAL UPPER - INTEGER COUNT, I, J, K, KASE, NZ, MORSE_UPLO + INTEGER COUNT, I, J, K, KASE, NZ, CHAMELEON_UPLO REAL EPS, LSTRES, S, SAFE1, SAFE2, SAFMIN, XK COMPLEX ZDUM * .. @@ -215,9 +215,9 @@ END IF * IF ( LSAME( UPLO, 'U' ) ) THEN - MORSE_UPLO = MORSEUPPER + CHAMELEON_UPLO = CHAMELEONUPPER ELSE - MORSE_UPLO = MORSELOWER + CHAMELEON_UPLO = CHAMELEONLOWER ENDIF * * NZ = maximum number of nonzero elements in each row of A, plus 1 @@ -302,7 +302,7 @@ * * Update solution and try again. * - CALL MORSE_CPOTRS( MORSE_UPLO, N, 1, AF, LDAF, + CALL CHAMELEON_CPOTRS( CHAMELEON_UPLO, N, 1, AF, LDAF, $ WORK, N, INFO ) CALL CAXPY( N, ONE, WORK, 1, X( 1, J ), 1 ) LSTRES = BERR( J ) @@ -349,7 +349,7 @@ * * Multiply by diag(W)*inv(A'). * - CALL MORSE_CPOTRS( MORSE_UPLO, N, 1, AF, LDAF, + CALL CHAMELEON_CPOTRS( CHAMELEON_UPLO, N, 1, AF, LDAF, 4 WORK, N, INFO ) DO 110 I = 1, N WORK( I ) = RWORK( I )*WORK( I ) @@ -361,7 +361,7 @@ DO 120 I = 1, N WORK( I ) = RWORK( I )*WORK( I ) 120 CONTINUE - CALL MORSE_CPOTRS( MORSE_UPLO, N, 1, AF, LDAF, + CALL CHAMELEON_CPOTRS( CHAMELEON_UPLO, N, 1, AF, LDAF, $ WORK( N+1 ), N, INFO ) END IF GO TO 100 diff --git a/testing/lin/cposvx.f b/testing/lin/cposvx.f index 53efc768e0696d7961f46649925d56309d905085..950a1b514c52628505877ae67437f5789782811c 100644 --- a/testing/lin/cposvx.f +++ b/testing/lin/cposvx.f @@ -39,7 +39,7 @@ $ S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, $ RWORK, INFO ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK driver routine (version 3.2) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -255,7 +255,7 @@ LOGICAL EQUIL, NOFACT, RCEQU INTEGER I, INFEQU, J REAL AMAX, ANORM, BIGNUM, SCOND, SMAX, SMIN, SMLNUM - INTEGER MORSE_UPLO + INTEGER CHAMELEON_UPLO * .. * .. External Functions .. LOGICAL LSAME @@ -333,9 +333,9 @@ END IF * IF( LSAME( UPLO, 'U' ) ) THEN - MORSE_UPLO = MORSEUPPER + CHAMELEON_UPLO = CHAMELEONUPPER ELSE - MORSE_UPLO = MORSELOWER + CHAMELEON_UPLO = CHAMELEONLOWER ENDIF * IF( EQUIL ) THEN @@ -367,7 +367,7 @@ * Compute the Cholesky factorization A = U'*U or A = L*L'. * CALL CLACPY( UPLO, N, N, A, LDA, AF, LDAF ) - CALL MORSE_CPOTRF( MORSE_UPLO, N, AF, LDAF, INFO ) + CALL CHAMELEON_CPOTRF( CHAMELEON_UPLO, N, AF, LDAF, INFO ) * * Return if INFO is non-zero. * @@ -388,7 +388,7 @@ * Compute the solution matrix X. * CALL CLACPY( 'Full', N, NRHS, B, LDB, X, LDX ) - CALL MORSE_CPOTRS( MORSE_UPLO, N, NRHS, AF, LDAF, X, LDX, INFO ) + CALL CHAMELEON_CPOTRS( CHAMELEON_UPLO, N, NRHS, AF, LDAF, X, LDX, INFO ) * * Use iterative refinement to improve the computed solution and * compute error bounds and backward error estimates for it. diff --git a/testing/lin/cqrt01.f b/testing/lin/cqrt01.f index 7c4c5c88497467bc925dfa7f6213dff001004d26..35685ca8dd2172dddc46ba2e77171feb63072bb0 100644 --- a/testing/lin/cqrt01.f +++ b/testing/lin/cqrt01.f @@ -38,7 +38,7 @@ SUBROUTINE CQRT01( M, N, A, AF, Q, R, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -144,7 +144,7 @@ * Factorize the matrix A in the array AF. * SRNAMT = 'CGEQRF' - CALL MORSE_CGEQRF( M, N, AF, LDA, T, INFO ) + CALL CHAMELEON_CGEQRF( M, N, AF, LDA, T, INFO ) * * Copy details of Q * @@ -153,7 +153,7 @@ * Generate the m-by-m matrix Q * SRNAMT = 'CUNGQR' - CALL MORSE_CUNGQR( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_CUNGQR( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) * * Copy R * diff --git a/testing/lin/cqrt02.f b/testing/lin/cqrt02.f index b33cf95657e05dbe22724a4ea2649ada943badac..6cec0fa0037e51fd020ebb2fa4f3076e93b1fbcd 100644 --- a/testing/lin/cqrt02.f +++ b/testing/lin/cqrt02.f @@ -38,7 +38,7 @@ SUBROUTINE CQRT02( M, N, K, A, AF, Q, R, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -149,7 +149,7 @@ * Generate the first n columns of the matrix Q * SRNAMT = 'CUNGQR' - CALL MORSE_CUNGQR( M, N, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_CUNGQR( M, N, K, AF, LDA, T, Q, LDA, INFO ) * * Copy R(1:n,1:k) * diff --git a/testing/lin/cqrt03.f b/testing/lin/cqrt03.f index 9ce1df4a7a4d8ec424e4be991d6ffe69b8999e81..435f52aa4d5c3fbe66d376de579ac7ccdd74160c 100644 --- a/testing/lin/cqrt03.f +++ b/testing/lin/cqrt03.f @@ -38,7 +38,7 @@ SUBROUTINE CQRT03( M, N, K, AF, C, CC, Q, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -122,7 +122,7 @@ * .. Local Scalars .. CHARACTER SIDE, TRANS INTEGER INFO, ISIDE, ITRANS, J, MC, NC - INTEGER MORSE_SIDE, MORSE_TRANS + INTEGER CHAMELEON_SIDE, CHAMELEON_TRANS REAL CNORM, EPS, RESID * .. * .. External Functions .. @@ -164,17 +164,17 @@ * Generate the m-by-m matrix Q * SRNAMT = 'CUNGQR' - CALL MORSE_CUNGQR( M, M, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_CUNGQR( M, M, K, AF, LDA, T, Q, LDA, INFO ) * DO 30 ISIDE = 1, 2 IF( ISIDE.EQ.1 ) THEN SIDE = 'L' - MORSE_SIDE = MORSELEFT + CHAMELEON_SIDE = CHAMELEONLEFT MC = M NC = N ELSE SIDE = 'R' - MORSE_SIDE = MORSERIGHT + CHAMELEON_SIDE = CHAMELEONRIGHT MC = N NC = M END IF @@ -191,10 +191,10 @@ DO 20 ITRANS = 1, 2 IF( ITRANS.EQ.1 ) THEN TRANS = 'N' - MORSE_TRANS = MORSENOTRANS + CHAMELEON_TRANS = CHAMELEONNOTRANS ELSE TRANS = 'C' - MORSE_TRANS = MORSECONJTRANS + CHAMELEON_TRANS = CHAMELEONCONJTRANS END IF * * Copy C @@ -204,7 +204,7 @@ * Apply Q or Q' to C * SRNAMT = 'CUNMQR' - CALL MORSE_CUNMQR( MORSE_SIDE, MORSE_TRANS, MC, NC, K, + CALL CHAMELEON_CUNMQR( CHAMELEON_SIDE, CHAMELEON_TRANS, MC, NC, K, $ AF, LDA, T, CC, LDA, INFO ) * * Form explicit product and subtract diff --git a/testing/lin/ctest.in b/testing/lin/ctest.in index 950a689da1abc35084c6424ddb137ce182acf8f9..4333a81fa413c1d265f0751a66d8bcd809aab76d 100644 --- a/testing/lin/ctest.in +++ b/testing/lin/ctest.in @@ -1,4 +1,4 @@ -Data file for testing REAL COMPLEX MORSE linear eqn. routines +Data file for testing REAL COMPLEX CHAMELEON linear eqn. routines 1 Number of values of NP 2 Values of NP (number of cores) 0 Values of SCHED (0: Static, 1:Dynamic) @@ -15,7 +15,7 @@ Data file for testing REAL COMPLEX MORSE linear eqn. routines 3 Number of values of RANK 30 50 90 Values of rank (as a % of N) 60.0 Threshold value of test ratio -T Put T to test the MORSE routines +T Put T to test the CHAMELEON routines T Put T to test the driver routines T Put T to test the error exits CGE 11 List types on next line if 0 < NTYPES < 11 diff --git a/testing/lin/ctestdyn.in b/testing/lin/ctestdyn.in index d07c4da336953ce6bbd85ce71d6dbc9a6615c872..17df04f148e8e45d07b733a9598234f601887b8b 100644 --- a/testing/lin/ctestdyn.in +++ b/testing/lin/ctestdyn.in @@ -1,4 +1,4 @@ -Data file for testing REAL COMPLEX MORSE linear eqn. routines +Data file for testing REAL COMPLEX CHAMELEON linear eqn. routines 1 Number of values of NP 2 Values of NP (number of cores) 1 Values of SCHED (0: Static, 1:Dynamic) @@ -15,7 +15,7 @@ Data file for testing REAL COMPLEX MORSE linear eqn. routines 3 Number of values of RANK 30 50 90 Values of rank (as a % of N) 60.0 Threshold value of test ratio -T Put T to test the MORSE routines +T Put T to test the CHAMELEON routines T Put T to test the driver routines T Put T to test the error exits CGE 11 List types on next line if 0 < NTYPES < 11 diff --git a/testing/lin/dchkaa.f b/testing/lin/dchkaa.f index 67626ff4c161bf645a41e5604b59fba1804cda8e..1fb8892990535e1369b04aaf767391c69dee2443 100644 --- a/testing/lin/dchkaa.f +++ b/testing/lin/dchkaa.f @@ -37,25 +37,25 @@ PROGRAM DCHKAA * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * -* -- MORSE test routine (from LAPACK version 3.1.1) -- +* -- CHAMELEON test routine (from LAPACK version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. * January 2007 * * Purpose * ======= * -* DCHKAA is the main test program for the DOUBLE PRECISION MORSE +* DCHKAA is the main test program for the DOUBLE PRECISION CHAMELEON * linear equation routines * * The program must be driven by a short data file. The first 14 records * specify problem dimensions and program options using list-directed -* input. The remaining lines specify the MORSE test paths and the +* input. The remaining lines specify the CHAMELEON test paths and the * number of matrix types to use in testing. An annotated example of a * data file can be obtained by deleting the first 3 characters from the * following 36 lines: -* Data file for testing DOUBLE PRECISION MORSE linear eqn. routines +* Data file for testing DOUBLE PRECISION CHAMELEON linear eqn. routines * 1 Number of values of NP * 16 Values of NP (number of cores) * 1 Values of SCHED (0: STATIC, 1:DYNAMIC) @@ -72,7 +72,7 @@ * 3 Number of values of RANK * 30 50 90 Values of rank (as a % of N) * 20.0 Threshold value of test ratio -* T Put T to test the MORSE routines +* T Put T to test the CHAMELEON routines * T Put T to test the driver routines * T Put T to test the error exits * DGE 11 List types on next line if 0 < NTYPES < 11 @@ -195,7 +195,7 @@ * * Report values of parameters version. * - CALL MORSE_VERSION( VERS_MAJOR, VERS_MINOR, VERS_PATCH, INFO) + CALL CHAMELEON_VERSION( VERS_MAJOR, VERS_MINOR, VERS_PATCH, INFO) WRITE( NOUT, FMT = 9994 ) VERS_MAJOR, VERS_MINOR, VERS_PATCH * * Read a dummy line. @@ -401,7 +401,7 @@ READ( NIN, FMT = * )THRESH WRITE( NOUT, FMT = 9992 )THRESH * -* Read the flag that indicates whether to test the MORSE routines. +* Read the flag that indicates whether to test the CHAMELEON routines. * READ( NIN, FMT = * )TSTCHK * @@ -428,19 +428,19 @@ WRITE( NOUT, FMT = 9991 )'precision', EPS WRITE( NOUT, FMT = * ) * -* Initialize MORSE +* Initialize CHAMELEON * - CALL MORSE_INIT( NPVAL(NNP), INFO ) + CALL CHAMELEON_INIT( NPVAL(NNP), INFO ) * IF( SCHED .EQ. 1 ) THEN - CALL MORSE_SET(MORSE_SCHEDULING_MODE, - $ MORSE_DYNAMIC_SCHEDULING, INFO ) + CALL CHAMELEON_SET(CHAMELEON_SCHEDULING_MODE, + $ CHAMELEON_DYNAMIC_SCHEDULING, INFO ) ELSE - CALL MORSE_SET(MORSE_SCHEDULING_MODE, - $ MORSE_STATIC_SCHEDULING, INFO ) + CALL CHAMELEON_SET(CHAMELEON_SCHEDULING_MODE, + $ CHAMELEON_STATIC_SCHEDULING, INFO ) ENDIF * - CALL MORSE_DISABLE( MORSE_AUTOTUNING, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_AUTOTUNING, INFO ) * * 80 CONTINUE @@ -606,9 +606,9 @@ 140 CONTINUE CLOSE ( NIN ) * -* Finalize MORSE +* Finalize CHAMELEON * - CALL MORSE_FINALIZE( INFO ) + CALL CHAMELEON_FINALIZE( INFO ) * * S2 = DSECND( ) WRITE( NOUT, FMT = 9998 ) @@ -621,8 +621,8 @@ $ I6 ) 9995 FORMAT( ' Invalid input value: ', A4, '=', I6, '; must be <=', $ I6 ) - 9994 FORMAT( ' Tests of the DOUBLE PRECISION MORSE routines ', - $ / ' MORSE VERSION ', I1, '.', I1, '.', I1, + 9994 FORMAT( ' Tests of the DOUBLE PRECISION CHAMELEON routines ', + $ / ' CHAMELEON VERSION ', I1, '.', I1, '.', I1, $ / / ' The following parameter values will be used:' ) 9993 FORMAT( 4X, A4, ': ', 10I6, / 11X, 10I6 ) 9992 FORMAT( / ' Routines pass computational tests if test ratio is ', diff --git a/testing/lin/dchkge.f b/testing/lin/dchkge.f index 21fa5a860a97d120457edbe76f3667be93290f93..78540b97579763c0768940a438c28eed72f82056 100644 --- a/testing/lin/dchkge.f +++ b/testing/lin/dchkge.f @@ -39,7 +39,7 @@ $ IBVAL, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, $ AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -157,11 +157,11 @@ DOUBLE PRECISION AINVNM, ANORM, ANORMI, ANORMO, CNDNUM, DUMMY, $ RCOND, RCONDC, RCONDI, RCONDO INTEGER HL( 2 ), HPIV( 2 ) - INTEGER MORSE_TRANS + INTEGER CHAMELEON_TRANS * .. * .. Local Arrays .. CHARACTER TRANSS( NTRAN ) - INTEGER ISEED( 4 ), ISEEDY( 4 ), MORSE_TRANSS( NTRAN ) + INTEGER ISEED( 4 ), ISEEDY( 4 ), CHAMELEON_TRANSS( NTRAN ) DOUBLE PRECISION RESULT( NTESTS ) * .. * .. External Functions .. @@ -190,7 +190,7 @@ DATA ISEEDY / 1988, 1989, 1990, 1991 / , * $ TRANSS / 'N', 'T', 'C' / $ TRANSS / 'N' /, - $ MORSE_TRANSS / MORSENOTRANS / + $ CHAMELEON_TRANSS / CHAMELEONNOTRANS / * .. * .. Executable Statements .. * @@ -295,21 +295,21 @@ IF ( (MAX(M, N) / 25) .GT. NB ) THEN GOTO 90 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO ) * * ALLOCATE HL and HPIV * -c$$$ CALL MORSE_ALLOC_WORKSPACE_DGETRF_INCPIV( +c$$$ CALL CHAMELEON_ALLOC_WORKSPACE_DGETRF_INCPIV( c$$$ $ M, N, HL, HPIV, INFO ) * * Compute the LU factorization of the matrix. * CALL DLACPY( 'Full', M, N, A, LDA, AFAC, LDA ) SRNAMT = 'DGETRF' -c$$$ CALL MORSE_DGETRF_INCPIV( M, N, AFAC, LDA, HL, HPIV, +c$$$ CALL CHAMELEON_DGETRF_INCPIV( M, N, AFAC, LDA, HL, HPIV, c$$$ $ INFO ) - CALL MORSE_DGETRF( M, N, AFAC, LDA, IWORK, + CALL CHAMELEON_DGETRF( M, N, AFAC, LDA, IWORK, $ INFO ) * * Check error code from DGETRF. @@ -361,7 +361,7 @@ c$$$ $ INFO ) * DO 50 ITRAN = 1, NTRAN TRANS = TRANSS( ITRAN ) - MORSE_TRANS = MORSE_TRANSS( ITRAN ) + CHAMELEON_TRANS = CHAMELEON_TRANSS( ITRAN ) IF( ITRAN.EQ.1 ) THEN RCONDC = RCONDO ELSE @@ -379,10 +379,10 @@ c$$$ $ INFO ) * CALL DLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) SRNAMT = 'DGETRS' -c$$$ CALL MORSE_DGETRS_INCPIV( MORSE_TRANS, N, +c$$$ CALL CHAMELEON_DGETRS_INCPIV( CHAMELEON_TRANS, N, c$$$ $ NRHS, AFAC, LDA, HL, HPIV, c$$$ $ X, LDA, INFO ) - CALL MORSE_DGETRS( MORSE_TRANS, N, + CALL CHAMELEON_DGETRS( CHAMELEON_TRANS, N, $ NRHS, AFAC, LDA, IWORK, $ X, LDA, INFO ) * @@ -425,8 +425,8 @@ c$$$ $ X, LDA, INFO ) * * DEALLOCATE HL and HPIV * -c$$$ CALL MORSE_DEALLOC_HANDLE( HL, INFO ) -c$$$ CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) 90 CONTINUE 100 CONTINUE 110 CONTINUE diff --git a/testing/lin/dchklq.f b/testing/lin/dchklq.f index d1c4dde304411cf4788085fd378208468ad0ef70..d40ccd767b013f0b311cc9ce0dcb820d3f5b27e9 100644 --- a/testing/lin/dchklq.f +++ b/testing/lin/dchklq.f @@ -40,7 +40,7 @@ $ AL, AC, B, X, XACT, TAU, WORK, RWORK, IWORK, $ NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -274,12 +274,12 @@ * DO 45 IRH = 0, 1 IF (IRH .EQ. 0) THEN - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_FLAT_HOUSEHOLDER, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamFlatHouseholder, INFO ) ELSE - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_TREE_HOUSEHOLDER, INFO ) - CALL MORSE_SET(MORSE_HOUSEHOLDER_SIZE, + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamTreeHouseholder, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_SIZE, $ RHBLK, INFO) END IF * @@ -299,12 +299,12 @@ IF ( (MAX(M, N) / 10) .GT. NB ) THEN GOTO 30 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO) * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_DGELQF( M, N, HT, + CALL CHAMELEON_ALLOC_WORKSPACE_DGELQF( M, N, HT, $ INFO ) * DO I = 1, NTESTS @@ -358,7 +358,7 @@ CALL DLACPY( 'Full', M, NRHS, B, LDA, X, $ LDA ) SRNAMT = 'DGELQS' - CALL MORSE_DGELQS( M, N, NRHS, AF, LDA, HT, + CALL CHAMELEON_DGELQS( M, N, NRHS, AF, LDA, HT, $ X, LDA, INFO ) * * Check error code from DGELQS. @@ -398,7 +398,7 @@ * * Deallocate T * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) 30 CONTINUE 40 CONTINUE 45 CONTINUE diff --git a/testing/lin/dchkpo.f b/testing/lin/dchkpo.f index becb886ed1bf833661b933e85be0637d892946be..4c3af1a48fae566fb221ee85fc4f3c94317285ea 100644 --- a/testing/lin/dchkpo.f +++ b/testing/lin/dchkpo.f @@ -39,7 +39,7 @@ $ THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, $ XACT, WORK, RWORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * * -- LAPACK test routine (version 3.1) -- @@ -142,12 +142,12 @@ INTEGER I, IMAT, IN, INB, INFO, IOFF, IRHS, IUPLO, $ IZERO, K, KL, KU, LDA, MODE, N, NB, NERRS, $ NFAIL, NIMAT, NRHS, NRUN - INTEGER MORSE_UPLO + INTEGER CHAMELEON_UPLO DOUBLE PRECISION ANORM, CNDNUM, RCOND, RCONDC * .. * .. Local Arrays .. CHARACTER UPLOS( 2 ) - INTEGER MORSE_UPLOS( 2 ) + INTEGER CHAMELEON_UPLOS( 2 ) INTEGER ISEED( 4 ), ISEEDY( 4 ) DOUBLE PRECISION RESULT( NTESTS ) * .. @@ -176,7 +176,7 @@ * .. Data statements .. DATA ISEEDY / 1988, 1989, 1990, 1991 / DATA UPLOS / 'U', 'L' / - DATA MORSE_UPLOS / MORSEUPPER, MORSELOWER / + DATA CHAMELEON_UPLOS / CHAMELEONUPPER, CHAMELEONLOWER / * .. * .. Executable Statements .. * @@ -226,7 +226,7 @@ * DO 100 IUPLO = 1, 2 UPLO = UPLOS( IUPLO ) - MORSE_UPLO = MORSE_UPLOS( IUPLO ) + CHAMELEON_UPLO = CHAMELEON_UPLOS( IUPLO ) * * Set up parameters with DLATB4 and generate a test matrix * with DLATMS. @@ -294,13 +294,13 @@ IF ( (N / 25) .GT. NB ) THEN GOTO 90 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) * * Compute the L*L' or U'*U factorization of the matrix. * CALL DLACPY( UPLO, N, N, A, LDA, AFAC, LDA ) SRNAMT = 'DPOTRF' - CALL MORSE_DPOTRF( MORSE_UPLO, N, AFAC, LDA, INFO ) + CALL CHAMELEON_DPOTRF( CHAMELEON_UPLO, N, AFAC, LDA, INFO ) * * Check error code from DPOTRF. * @@ -328,7 +328,7 @@ * CALL DLACPY( UPLO, N, N, AFAC, LDA, AINV, LDA ) SRNAMT = 'DPOTRI' - CALL MORSE_DPOTRI( MORSE_UPLO, N, AINV, LDA, + CALL CHAMELEON_DPOTRI( CHAMELEON_UPLO, N, AINV, LDA, $ INFO ) * * Check error code from DPOTRI. @@ -373,7 +373,7 @@ CALL DLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) * SRNAMT = 'DPOTRS' - CALL MORSE_DPOTRS( MORSE_UPLO, N, NRHS, AFAC, + CALL CHAMELEON_DPOTRS( CHAMELEON_UPLO, N, NRHS, AFAC, $ LDA, X, LDA, INFO ) * * diff --git a/testing/lin/dchkqr.f b/testing/lin/dchkqr.f index 7b511cb1bbb199b19e8554134f2f3de642562ba3..dbd56936b68f39b4989c1c65146d3a1fd934694c 100644 --- a/testing/lin/dchkqr.f +++ b/testing/lin/dchkqr.f @@ -40,7 +40,7 @@ $ AR, AC, B, X, XACT, TAU, WORK, RWORK, IWORK, $ NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -274,12 +274,12 @@ * DO 45 IRH = 0, 1 IF (IRH .EQ. 0) THEN - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_FLAT_HOUSEHOLDER, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamFlatHouseholder, INFO ) ELSE - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_TREE_HOUSEHOLDER, INFO ) - CALL MORSE_SET(MORSE_HOUSEHOLDER_SIZE, + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamTreeHouseholder, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_SIZE, $ RHBLK, INFO) END IF * @@ -299,12 +299,12 @@ IF ( (MAX(M, N) / 10) .GT. NB ) THEN GOTO 30 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO) * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_DGEQRF( M, N, HT, + CALL CHAMELEON_ALLOC_WORKSPACE_DGEQRF( M, N, HT, $ INFO ) * DO I = 1, NTESTS @@ -355,7 +355,7 @@ CALL DLACPY( 'Full', M, NRHS, B, LDA, X, $ LDA ) SRNAMT = 'DGEQRS' - CALL MORSE_DGEQRS( M, N, NRHS, AF, LDA, HT, + CALL CHAMELEON_DGEQRS( M, N, NRHS, AF, LDA, HT, $ X, LDA, INFO ) * Check error code from DGEQRS. @@ -388,7 +388,7 @@ * * Deallocate T * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) 30 CONTINUE 40 CONTINUE 45 CONTINUE diff --git a/testing/lin/ddrvge.f b/testing/lin/ddrvge.f index 0472c64ab47251429bdf22bd419cd7cc0846016e..fe7d2787f0611f854692d405ce65a753a49dcda2 100644 --- a/testing/lin/ddrvge.f +++ b/testing/lin/ddrvge.f @@ -39,7 +39,7 @@ $ A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, $ RWORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -140,14 +140,14 @@ $ IZERO, K, K1, KL, KU, LDA, LWORK, MODE, N, NB, $ NBMIN, NERRS, NFACT, NFAIL, NIMAT, NRUN, NT, IB INTEGER HL( 2 ), HPIV( 2 ) - INTEGER MORSE_TRANS + INTEGER CHAMELEON_TRANS DOUBLE PRECISION AINVNM, AMAX, ANORM, ANORMI, ANORMO, CNDNUM, $ COLCND, RCOND, RCONDC, RCONDI, RCONDO, ROLDC, $ ROLDI, ROLDO, ROWCND, RPVGRW * .. * .. Local Arrays .. CHARACTER EQUEDS( 4 ), FACTS( 3 ), TRANSS( NTRAN ) - INTEGER ISEED( 4 ), ISEEDY( 4 ), MORSE_TRANSS( NTRAN ) + INTEGER ISEED( 4 ), ISEEDY( 4 ), CHAMELEON_TRANSS( NTRAN ) DOUBLE PRECISION RESULT( NTESTS ) * .. * .. External Functions .. @@ -177,7 +177,7 @@ DATA ISEEDY / 1988, 1989, 1990, 1991 / * DATA TRANSS / 'N', 'T', 'C' / DATA TRANSS / 'N' / - DATA MORSE_TRANSS / MORSENOTRANS / + DATA CHAMELEON_TRANSS / CHAMELEONNOTRANS / DATA FACTS / 'F', 'N', 'E' / DATA EQUEDS / 'N', 'R', 'C', 'B' / * .. @@ -209,8 +209,8 @@ NBMIN = 32 CALL XLAENV( 1, NB ) CALL XLAENV( 2, NBMIN ) - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO ) * * Do for each value of N in NVAL * @@ -224,7 +224,7 @@ * * ALLOCATE L and IPIV * -c$$$ CALL MORSE_ALLOC_WORKSPACE_DGETRF_INCPIV( +c$$$ CALL CHAMELEON_ALLOC_WORKSPACE_DGETRF_INCPIV( c$$$ $ N, N, HL, HPIV, INFO ) * DO 80 IMAT = 1, NIMAT @@ -357,9 +357,9 @@ c$$$ $ N, N, HL, HPIV, INFO ) * * Factor the matrix A. * -c$$$ CALL MORSE_DGETRF_INCPIV( N, N, AFAC, LDA, +c$$$ CALL CHAMELEON_DGETRF_INCPIV( N, N, AFAC, LDA, c$$$ $ HL, HPIV, INFO ) - CALL MORSE_DGETRF( N, N, AFAC, LDA, + CALL CHAMELEON_DGETRF( N, N, AFAC, LDA, $ IWORK, INFO ) END IF * @@ -368,7 +368,7 @@ c$$$ $ HL, HPIV, INFO ) * Do for each value of TRANS. * TRANS = TRANSS( ITRAN ) - MORSE_TRANS = MORSE_TRANSS( ITRAN ) + CHAMELEON_TRANS = CHAMELEON_TRANSS( ITRAN ) IF( ITRAN.EQ.1 ) THEN RCONDC = RCONDO ELSE @@ -399,9 +399,9 @@ c$$$ $ HL, HPIV, INFO ) CALL DLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) * SRNAMT = 'DGESV ' -c$$$ CALL MORSE_DGESV_INCPIV( N, NRHS, AFAC, LDA, +c$$$ CALL CHAMELEON_DGESV_INCPIV( N, NRHS, AFAC, LDA, c$$$ $ HL, HPIV, X, LDA, INFO ) - CALL MORSE_DGESV( N, NRHS, AFAC, LDA, + CALL CHAMELEON_DGESV( N, NRHS, AFAC, LDA, $ IWORK, X, LDA, INFO ) * * Check error code from DGESV . @@ -448,8 +448,8 @@ c$$$ $ HL, HPIV, X, LDA, INFO ) * * DEALLOCATE HL and HPIV * -c$$$ CALL MORSE_DEALLOC_HANDLE( HL, INFO ) -c$$$ CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) 90 CONTINUE * * Print a summary of the results. diff --git a/testing/lin/ddrvls.f b/testing/lin/ddrvls.f index af37f8a8e1589beb8fa03275edd64ab0061c9b19..389acdc2b12bd8691c56aa63e67c3e11453f3e9b 100644 --- a/testing/lin/ddrvls.f +++ b/testing/lin/ddrvls.f @@ -39,7 +39,7 @@ $ NBVAL, NXVAL, THRESH, TSTERR, A, COPYA, B, $ COPYB, C, S, COPYS, IBVAL, WORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -169,7 +169,7 @@ $ ISCALE, ITRAN, ITYPE, J, K, LDA, LDB, LDWORK, $ LWLSY, LWORK, M, MNMIN, N, NB, IB, NCOLS, $ NERRS, NFAIL, NLVL, NRHS, NROWS, NRUN, RANK, - $ MORSE_TRANS + $ CHAMELEON_TRANS INTEGER HT( 2 ) DOUBLE PRECISION EPS, NORMA, NORMB, RCOND * .. @@ -274,28 +274,28 @@ IF ( (MAX(M, N) / 25) .GT. NB ) THEN GOTO 40 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, $ INFO ) * * Allocate T * - CALL MORSE_ALLOC_WORKSPACE_DGELS( M, N , HT, + CALL CHAMELEON_ALLOC_WORKSPACE_DGELS( M, N , HT, $ INFO ) * * DO 30 ITRAN = 1, 2 DO 30 ITRAN = 1, 1 * -* ONLY MORSENOTRANS supported ! +* ONLY CHAMELEONNOTRANS supported ! * IF( ITRAN.EQ.1 ) THEN TRANS = 'N' - MORSE_TRANS = MORSENOTRANS + CHAMELEON_TRANS = CHAMELEONNOTRANS NROWS = M NCOLS = N ELSE TRANS = 'T' - MORSE_TRANS = MORSETRANS + CHAMELEON_TRANS = CHAMELEONTRANS NROWS = N NCOLS = M END IF @@ -326,7 +326,7 @@ END IF SRNAMT = 'DGELS ' * - CALL MORSE_DGELS( MORSE_TRANS, + CALL CHAMELEON_DGELS( CHAMELEON_TRANS, $ M, N, NRHS, $ A, LDA, HT, B, LDB, $ INFO ) @@ -383,7 +383,7 @@ * * Deallocate T * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) 40 CONTINUE END IF * diff --git a/testing/lin/ddrvpo.f b/testing/lin/ddrvpo.f index e78e9ebdc730f12ea263179bc5b899728fe696f9..787231fda06ca048e3e1723a3377bb607ceaef5d 100644 --- a/testing/lin/ddrvpo.f +++ b/testing/lin/ddrvpo.f @@ -39,7 +39,7 @@ $ A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, $ RWORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -136,13 +136,13 @@ INTEGER I, IEQUED, IFACT, IMAT, IN, INFO, IOFF, IUPLO, $ IZERO, K, K1, KL, KU, LDA, MODE, N, NB, NBMIN, $ NERRS, NFACT, NFAIL, NIMAT, NRUN, NT, - $ MORSE_UPLO + $ CHAMELEON_UPLO DOUBLE PRECISION AINVNM, AMAX, ANORM, CNDNUM, RCOND, RCONDC, $ ROLDC, SCOND * .. * .. Local Arrays .. CHARACTER EQUEDS( 2 ), FACTS( 3 ), UPLOS( 2 ) - INTEGER ISEED( 4 ), ISEEDY( 4 ), MORSE_UPLOS( 2 ) + INTEGER ISEED( 4 ), ISEEDY( 4 ), CHAMELEON_UPLOS( 2 ) DOUBLE PRECISION RESULT( NTESTS ) * .. * .. External Functions .. @@ -171,7 +171,7 @@ * .. Data statements .. DATA ISEEDY / 1988, 1989, 1990, 1991 / DATA UPLOS / 'U', 'L' / - DATA MORSE_UPLOS / MORSEUPPER, MORSELOWER / + DATA CHAMELEON_UPLOS / CHAMELEONUPPER, CHAMELEONLOWER / DATA FACTS / 'F', 'N', 'E' / DATA EQUEDS / 'N', 'Y' / * .. @@ -200,7 +200,7 @@ NBMIN = 32 CALL XLAENV( 1, NB ) CALL XLAENV( 2, NBMIN ) - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) * * Do for each value of N in NVAL * @@ -229,7 +229,7 @@ * DO 110 IUPLO = 1, 2 UPLO = UPLOS( IUPLO ) - MORSE_UPLO = MORSE_UPLOS( IUPLO ) + CHAMELEON_UPLO = CHAMELEON_UPLOS( IUPLO ) * * Set up parameters with DLATB4 and generate a test matrix * with DLATMS. @@ -350,13 +350,13 @@ * * Factor the matrix A. * - CALL MORSE_DPOTRF( MORSE_UPLO, N, + CALL CHAMELEON_DPOTRF( CHAMELEON_UPLO, N, $ AFAC, LDA, INFO ) * * Form the inverse of A. * CALL DLACPY( UPLO, N, N, AFAC, LDA, A, LDA ) - CALL MORSE_DPOTRI( MORSE_UPLO, N, A, LDA, + CALL CHAMELEON_DPOTRI( CHAMELEON_UPLO, N, A, LDA, $ INFO ) * * Compute the 1-norm condition number of A. @@ -393,7 +393,7 @@ CALL DLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) * SRNAMT = 'DPOSV ' - CALL MORSE_DPOSV( MORSE_UPLO, N, NRHS, + CALL CHAMELEON_DPOSV( CHAMELEON_UPLO, N, NRHS, $ AFAC, LDA, X, LDA, INFO ) * * Check error code from DPOSV . diff --git a/testing/lin/derrge.f b/testing/lin/derrge.f index ced7a6414b67cef15196142f3528e7987be158e6..179b985f61a46691795f60f0d18ddb8ac406d9a3 100644 --- a/testing/lin/derrge.f +++ b/testing/lin/derrge.f @@ -37,7 +37,7 @@ SUBROUTINE DERRGE( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -106,10 +106,10 @@ WRITE( NOUT, FMT = * ) C2 = PATH( 2: 3 ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -132,7 +132,7 @@ * * ALLOCATE L and IPIV * - CALL MORSE_ALLOC_WORKSPACE_DGETRF_INCPIV( + CALL CHAMELEON_ALLOC_WORKSPACE_DGETRF_INCPIV( $ 2, 1, HL, HPIV, INFO ) * * @@ -143,79 +143,79 @@ * SRNAMT = 'DGETRF' INFOT = 1 - CALL MORSE_DGETRF_INCPIV( -1, 0, A, 1, HL, HPIV, INFO ) + CALL CHAMELEON_DGETRF_INCPIV( -1, 0, A, 1, HL, HPIV, INFO ) CALL CHKXER( 'DGETRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGETRF_INCPIV( 0, -1, A, 1, HL, HPIV, INFO ) + CALL CHAMELEON_DGETRF_INCPIV( 0, -1, A, 1, HL, HPIV, INFO ) CALL CHKXER( 'DGETRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_DGETRF_INCPIV( 2, 1, A, 1, HL, HPIV, INFO ) + CALL CHAMELEON_DGETRF_INCPIV( 2, 1, A, 1, HL, HPIV, INFO ) CALL CHKXER( 'DGETRF', INFOT, NOUT, INFO, OK ) * * DGETRS * SRNAMT = 'DGETRS' INFOT = 103 - CALL MORSE_DGETRS_INCPIV( '/', -1, 0, A, 1, HL, HPIV, + CALL CHAMELEON_DGETRS_INCPIV( '/', -1, 0, A, 1, HL, HPIV, $ B, 1, INFO ) CALL CHKXER( 'DGETRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGETRS_INCPIV( MORSENOTRANS, -1, 0, A, 1, HL, + CALL CHAMELEON_DGETRS_INCPIV( CHAMELEONNOTRANS, -1, 0, A, 1, HL, $ HPIV, B, 1, INFO ) CALL CHKXER( 'DGETRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DGETRS_INCPIV( MORSENOTRANS, 0, -1, A, 1, HL, + CALL CHAMELEON_DGETRS_INCPIV( CHAMELEONNOTRANS, 0, -1, A, 1, HL, $ HPIV, B, 1, INFO ) CALL CHKXER( 'DGETRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_DGETRS_INCPIV( MORSENOTRANS, 2, 1, A, 1, HL, + CALL CHAMELEON_DGETRS_INCPIV( CHAMELEONNOTRANS, 2, 1, A, 1, HL, $ HPIV, B, 2, INFO ) CALL CHKXER( 'DGETRS', INFOT, NOUT, INFO, OK ) INFOT = 9 - CALL MORSE_DGETRS_INCPIV( MORSENOTRANS, 2, 1, A, 2, HL, + CALL CHAMELEON_DGETRS_INCPIV( CHAMELEONNOTRANS, 2, 1, A, 2, HL, $ HPIV, B, 1, INFO ) CALL CHKXER( 'DGETRS', INFOT, NOUT, INFO, OK ) * * DEALLOCATE L and IPIV * - CALL MORSE_DEALLOC_HANDLE( HL, INFO ) - CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) * * LAPACK Interface * DGETRF * SRNAMT = 'DGETRF' INFOT = 1 - CALL MORSE_DGETRF( -1, 0, A, 1, IP, INFO ) + CALL CHAMELEON_DGETRF( -1, 0, A, 1, IP, INFO ) CALL CHKXER( 'DGETRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGETRF( 0, -1, A, 1, IP, INFO ) + CALL CHAMELEON_DGETRF( 0, -1, A, 1, IP, INFO ) CALL CHKXER( 'DGETRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_DGETRF( 2, 1, A, 1, IP, INFO ) + CALL CHAMELEON_DGETRF( 2, 1, A, 1, IP, INFO ) CALL CHKXER( 'DGETRF', INFOT, NOUT, INFO, OK ) * * DGETRS * SRNAMT = 'DGETRS' INFOT = 1 - CALL MORSE_DGETRS( '/', 0, 0, A, 1, IP, + CALL CHAMELEON_DGETRS( '/', 0, 0, A, 1, IP, $ B, 1, INFO ) CALL CHKXER( 'DGETRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGETRS( MORSENOTRANS, -1, 0, A, 1, IP, + CALL CHAMELEON_DGETRS( CHAMELEONNOTRANS, -1, 0, A, 1, IP, $ B, 1, INFO ) CALL CHKXER( 'DGETRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DGETRS( MORSENOTRANS, 0, -1, A, 1, IP, + CALL CHAMELEON_DGETRS( CHAMELEONNOTRANS, 0, -1, A, 1, IP, $ B, 1, INFO ) CALL CHKXER( 'DGETRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_DGETRS( MORSENOTRANS, 2, 1, A, 1, IP, + CALL CHAMELEON_DGETRS( CHAMELEONNOTRANS, 2, 1, A, 1, IP, $ B, 2, INFO ) CALL CHKXER( 'DGETRS', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_DGETRS( MORSENOTRANS, 2, 1, A, 2, IP, + CALL CHAMELEON_DGETRS( CHAMELEONNOTRANS, 2, 1, A, 2, IP, $ B, 1, INFO ) CALL CHKXER( 'DGETRS', INFOT, NOUT, INFO, OK ) * @@ -225,10 +225,10 @@ * CALL ALAESM( PATH, OK, NOUT ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/derrlq.f b/testing/lin/derrlq.f index 24bfdd1676a66fc35af5b2f77ecd77c9d5a00ba4..4d02403d16471ee1d15e86f06b3a5e11d576cb58 100644 --- a/testing/lin/derrlq.f +++ b/testing/lin/derrlq.f @@ -37,7 +37,7 @@ SUBROUTINE DERRLQ( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -98,10 +98,10 @@ NOUT = NUNIT WRITE( NOUT, FMT = * ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -118,119 +118,119 @@ * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_DGELQF( 2, 2, HT, INFO ) + CALL CHAMELEON_ALLOC_WORKSPACE_DGELQF( 2, 2, HT, INFO ) * * Error exits for LQ factorization * -* MORSE_DGELQF +* CHAMELEON_DGELQF * SRNAMT = 'DGELQF' INFOT = 1 - CALL MORSE_DGELQF( -1, 0, A, 1, HT, INFO ) + CALL CHAMELEON_DGELQF( -1, 0, A, 1, HT, INFO ) CALL CHKXER( 'DGELQF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGELQF( 0, -1, A, 1, HT, INFO ) + CALL CHAMELEON_DGELQF( 0, -1, A, 1, HT, INFO ) CALL CHKXER( 'DGELQF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_DGELQF( 2, 1, A, 1, HT, INFO ) + CALL CHAMELEON_DGELQF( 2, 1, A, 1, HT, INFO ) CALL CHKXER( 'DGELQF', INFOT, NOUT, INFO, OK ) * * DGELQS * SRNAMT = 'DGELQS' INFOT = 1 - CALL MORSE_DGELQS( -1, 0, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_DGELQS( -1, 0, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'DGELQS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGELQS( 0, -1, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_DGELQS( 0, -1, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'DGELQS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGELQS( 2, 1, 0, A, 2, HT, B, 1, INFO ) + CALL CHAMELEON_DGELQS( 2, 1, 0, A, 2, HT, B, 1, INFO ) CALL CHKXER( 'DGELQS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DGELQS( 0, 0, -1, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_DGELQS( 0, 0, -1, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'DGELQS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_DGELQS( 2, 2, 0, A, 1, HT, B, 2, INFO ) + CALL CHAMELEON_DGELQS( 2, 2, 0, A, 1, HT, B, 2, INFO ) CALL CHKXER( 'DGELQS', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_DGELQS( 1, 2, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_DGELQS( 1, 2, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'DGELQS', INFOT, NOUT, INFO, OK ) * * DORGLQ * SRNAMT = 'DORGLQ' INFOT = 1 - CALL MORSE_DORGLQ( -1, 0, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_DORGLQ( -1, 0, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'DORGLQ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DORGLQ( 0, -1, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_DORGLQ( 0, -1, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'DORGLQ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DORGLQ( 2, 1, 0, A, 2, HT, W, 2, INFO ) + CALL CHAMELEON_DORGLQ( 2, 1, 0, A, 2, HT, W, 2, INFO ) CALL CHKXER( 'DORGLQ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DORGLQ( 0, 0, -1, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_DORGLQ( 0, 0, -1, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'DORGLQ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DORGLQ( 1, 1, 2, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_DORGLQ( 1, 1, 2, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'DORGLQ', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_DORGLQ( 2, 2, 0, A, 1, HT, W, 2, INFO ) + CALL CHAMELEON_DORGLQ( 2, 2, 0, A, 1, HT, W, 2, INFO ) CALL CHKXER( 'DORGLQ', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_DORGLQ( 2, 2, 0, A, 2, HT, W, 1, INFO ) + CALL CHAMELEON_DORGLQ( 2, 2, 0, A, 2, HT, W, 1, INFO ) CALL CHKXER( 'DORGLQ', INFOT, NOUT, INFO, OK ) * -* MORSE_DORMLQ +* CHAMELEON_DORMLQ * SRNAMT = 'DORMLQ' INFOT = 1 - CALL MORSE_DORMLQ( '/', MORSETRANS, 0, 0, 0, A, 1, HT, AF, 1, + CALL CHAMELEON_DORMLQ( '/', CHAMELEONTRANS, 0, 0, 0, A, 1, HT, AF, 1, $ INFO ) CALL CHKXER( 'DORMLQ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DORMLQ( MORSELEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, + CALL CHAMELEON_DORMLQ( CHAMELEONLEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, $ INFO ) CALL CHKXER( 'DORMLQ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DORMLQ( MORSELEFT, MORSETRANS, -1, 0, 0, A, 1, HT, + CALL CHAMELEON_DORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, -1, 0, 0, A, 1, HT, $ AF, 1, INFO ) CALL CHKXER( 'DORMLQ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_DORMLQ( MORSELEFT, MORSETRANS, 0, -1, 0, A, 1, HT, + CALL CHAMELEON_DORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, 0, -1, 0, A, 1, HT, $ AF, 1, INFO ) CALL CHKXER( 'DORMLQ', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_DORMLQ( MORSELEFT, MORSETRANS, 0, 0, -1, A, 1, HT, + CALL CHAMELEON_DORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, 0, 0, -1, A, 1, HT, $ AF, 1, INFO ) CALL CHKXER( 'DORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_DORMLQ( MORSELEFT, MORSETRANS, 0, 1, 1, A, 1, HT, AF, 1, +* CALL CHAMELEON_DORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, 0, 1, 1, A, 1, HT, AF, 1, * $ INFO ) * CALL CHKXER( 'DORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_DORMLQ( MORSERIGHT, MORSETRANS, 1, 0, 1, A, 1, HT, AF, 1, +* CALL CHAMELEON_DORMLQ( CHAMELEONRIGHT, CHAMELEONTRANS, 1, 0, 1, A, 1, HT, AF, 1, * $ INFO ) * CALL CHKXER( 'DORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_DORMLQ( MORSELEFT, MORSETRANS, 2, 0, 2, A, 1, HT, AF, 2, +* CALL CHAMELEON_DORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, 2, 0, 2, A, 1, HT, AF, 2, * $ INFO ) * CALL CHKXER( 'DORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_DORMLQ( MORSERIGHT, MORSETRANS, 0, 2, 2, A, 1, HT, AF, 1, +* CALL CHAMELEON_DORMLQ( CHAMELEONRIGHT, CHAMELEONTRANS, 0, 2, 2, A, 1, HT, AF, 1, * $ INFO ) * CALL CHKXER( 'DORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 10 -* CALL MORSE_DORMLQ( MORSELEFT, MORSETRANS, 2, 1, 0, A, 2, HT, AF, 1, +* CALL CHAMELEON_DORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, 2, 1, 0, A, 2, HT, AF, 1, * $ INFO ) * CALL CHKXER( 'DORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 12 -* CALL MORSE_DORMLQ( MORSELEFT, MORSETRANS, 1, 2, 0, A, 1, HT, AF, 1, +* CALL CHAMELEON_DORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, 1, 2, 0, A, 1, HT, AF, 1, * $ INFO ) * CALL CHKXER( 'DORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 12 -* CALL MORSE_DORMLQ( MORSERIGHT, MORSETRANS, 2, 1, 0, A, 1, HT, AF, 2, +* CALL CHAMELEON_DORMLQ( CHAMELEONRIGHT, CHAMELEONTRANS, 2, 1, 0, A, 1, HT, AF, 2, * $ INFO ) * CALL CHKXER( 'DORMLQ', INFOT, NOUT, INFO, OK ) * @@ -241,12 +241,12 @@ * * Deallocate HT * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/derrls.f b/testing/lin/derrls.f index 8ecc0d3591aa03398403c0d04c01f1205db58af1..f322c264f6ebecca99fd47c8e491a423bdabdcad 100644 --- a/testing/lin/derrls.f +++ b/testing/lin/derrls.f @@ -37,7 +37,7 @@ SUBROUTINE DERRLS( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -108,10 +108,10 @@ A( 2, 1 ) = 4.0D+0 OK = .TRUE. * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * IF( LSAMEN( 2, C2, 'LS' ) ) THEN * @@ -119,34 +119,34 @@ * * DGELS * - CALL MORSE_ALLOC_WORKSPACE_DGELS( 2, 2, HT, INFO ) + CALL CHAMELEON_ALLOC_WORKSPACE_DGELS( 2, 2, HT, INFO ) * SRNAMT = 'DGELS ' INFOT = 103 - CALL MORSE_DGELS( '/', 0, 0, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_DGELS( '/', 0, 0, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'DGELS ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGELS( MORSENOTRANS, -1, 0, 0, A, 1, HT, + CALL CHAMELEON_DGELS( CHAMELEONNOTRANS, -1, 0, 0, A, 1, HT, $ B, 1, INFO ) CALL CHKXER( 'DGELS ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DGELS( MORSENOTRANS, 0, -1, 0, A, 1, HT, + CALL CHAMELEON_DGELS( CHAMELEONNOTRANS, 0, -1, 0, A, 1, HT, $ B, 1, INFO ) CALL CHKXER( 'DGELS ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_DGELS( MORSENOTRANS, 0, 0, -1, A, 1, HT, + CALL CHAMELEON_DGELS( CHAMELEONNOTRANS, 0, 0, -1, A, 1, HT, $ B, 1, INFO ) CALL CHKXER( 'DGELS ', INFOT, NOUT, INFO, OK ) INFOT = 6 - CALL MORSE_DGELS( MORSENOTRANS, 2, 0, 0, A, 1, HT, + CALL CHAMELEON_DGELS( CHAMELEONNOTRANS, 2, 0, 0, A, 1, HT, $ B, 2, INFO ) CALL CHKXER( 'DGELS ', INFOT, NOUT, INFO, OK ) INFOT = 9 - CALL MORSE_DGELS( MORSENOTRANS, 2, 0, 0, A, 2, HT, + CALL CHAMELEON_DGELS( CHAMELEONNOTRANS, 2, 0, 0, A, 2, HT, $ B, 1, INFO ) CALL CHKXER( 'DGELS ', INFOT, NOUT, INFO, OK ) * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) * END IF * @@ -154,10 +154,10 @@ * CALL ALAESM( PATH, OK, NOUT ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/derrpo.f b/testing/lin/derrpo.f index a1e780b32cde07de2a1048a78518b0a38fa13380..b135fce45da02393114b04d7256e60c4cca96c17 100644 --- a/testing/lin/derrpo.f +++ b/testing/lin/derrpo.f @@ -37,7 +37,7 @@ SUBROUTINE DERRPO( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * * -- LAPACK test routine (version 3.1) -- @@ -105,10 +105,10 @@ WRITE( NOUT, FMT = * ) C2 = PATH( 2: 3 ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -135,32 +135,32 @@ * SRNAMT = 'DPOTRF' INFOT = 1 - CALL MORSE_DPOTRF( '/', 0, A, 1, INFO ) + CALL CHAMELEON_DPOTRF( '/', 0, A, 1, INFO ) CALL CHKXER( 'DPOTRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DPOTRF( MORSEUPPER, -1, A, 1, INFO ) + CALL CHAMELEON_DPOTRF( CHAMELEONUPPER, -1, A, 1, INFO ) CALL CHKXER( 'DPOTRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_DPOTRF( MORSEUPPER, 2, A, 1, INFO ) + CALL CHAMELEON_DPOTRF( CHAMELEONUPPER, 2, A, 1, INFO ) CALL CHKXER( 'DPOTRF', INFOT, NOUT, INFO, OK ) * * DPOTRS * SRNAMT = 'DPOTRS' INFOT = 1 - CALL MORSE_DPOTRS( '/', 0, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_DPOTRS( '/', 0, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'DPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DPOTRS( MORSEUPPER, -1, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_DPOTRS( CHAMELEONUPPER, -1, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'DPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DPOTRS( MORSEUPPER, 0, -1, A, 1, B, 1, INFO ) + CALL CHAMELEON_DPOTRS( CHAMELEONUPPER, 0, -1, A, 1, B, 1, INFO ) CALL CHKXER( 'DPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_DPOTRS( MORSEUPPER, 2, 1, A, 1, B, 2, INFO ) + CALL CHAMELEON_DPOTRS( CHAMELEONUPPER, 2, 1, A, 1, B, 2, INFO ) CALL CHKXER( 'DPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_DPOTRS( MORSEUPPER, 2, 1, A, 2, B, 1, INFO ) + CALL CHAMELEON_DPOTRS( CHAMELEONUPPER, 2, 1, A, 2, B, 1, INFO ) CALL CHKXER( 'DPOTRS', INFOT, NOUT, INFO, OK ) END IF * @@ -168,10 +168,10 @@ * CALL ALAESM( PATH, OK, NOUT ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/derrqr.f b/testing/lin/derrqr.f index 5957ab1549b3ff8c65669977812e5efba7a46653..6f1eb3c40a835b9291585a0493c387a36b532627 100644 --- a/testing/lin/derrqr.f +++ b/testing/lin/derrqr.f @@ -37,7 +37,7 @@ SUBROUTINE DERRQR( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -98,10 +98,10 @@ NOUT = NUNIT WRITE( NOUT, FMT = * ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -118,116 +118,116 @@ * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_DGEQRF( 2, 2, HT, INFO ) + CALL CHAMELEON_ALLOC_WORKSPACE_DGEQRF( 2, 2, HT, INFO ) * * Error exits for QR factorization * -* MORSE_DGEQRF +* CHAMELEON_DGEQRF * SRNAMT = 'DGEQRF' INFOT = 1 - CALL MORSE_DGEQRF( -1, 0, A, 1, HT, INFO ) + CALL CHAMELEON_DGEQRF( -1, 0, A, 1, HT, INFO ) CALL CHKXER( 'DGEQRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGEQRF( 0, -1, A, 1, HT, INFO ) + CALL CHAMELEON_DGEQRF( 0, -1, A, 1, HT, INFO ) CALL CHKXER( 'DGEQRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_DGEQRF( 2, 1, A, 1, HT, INFO ) + CALL CHAMELEON_DGEQRF( 2, 1, A, 1, HT, INFO ) CALL CHKXER( 'DGEQRF', INFOT, NOUT, INFO, OK ) * * DGEQRS * SRNAMT = 'DGEQRS' INFOT = 1 - CALL MORSE_DGEQRS( -1, 0, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_DGEQRS( -1, 0, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'DGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGEQRS( 0, -1, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_DGEQRS( 0, -1, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'DGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGEQRS( 1, 2, 0, A, 2, HT, B, 2, INFO ) + CALL CHAMELEON_DGEQRS( 1, 2, 0, A, 2, HT, B, 2, INFO ) CALL CHKXER( 'DGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DGEQRS( 0, 0, -1, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_DGEQRS( 0, 0, -1, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'DGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_DGEQRS( 2, 1, 0, A, 1, HT, B, 2, INFO ) + CALL CHAMELEON_DGEQRS( 2, 1, 0, A, 1, HT, B, 2, INFO ) CALL CHKXER( 'DGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_DGEQRS( 2, 1, 0, A, 2, HT, B, 1, INFO ) + CALL CHAMELEON_DGEQRS( 2, 1, 0, A, 2, HT, B, 1, INFO ) CALL CHKXER( 'DGEQRS', INFOT, NOUT, INFO, OK ) * * DORGQR * SRNAMT = 'DORGQR' INFOT = 1 - CALL MORSE_DORGQR( -1, 0, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_DORGQR( -1, 0, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'DORGQR', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DORGQR( 0, -1, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_DORGQR( 0, -1, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'DORGQR', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DORGQR( 1, 2, 0, A, 1, HT, W, 2, INFO ) + CALL CHAMELEON_DORGQR( 1, 2, 0, A, 1, HT, W, 2, INFO ) CALL CHKXER( 'DORGQR', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DORGQR( 0, 0, -1, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_DORGQR( 0, 0, -1, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'DORGQR', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DORGQR( 1, 1, 2, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_DORGQR( 1, 1, 2, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'DORGQR', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_DORGQR( 2, 2, 0, A, 1, HT, W, 2, INFO ) + CALL CHAMELEON_DORGQR( 2, 2, 0, A, 1, HT, W, 2, INFO ) CALL CHKXER( 'DORGQR', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_DORGQR( 2, 2, 0, A, 2, HT, W, 1, INFO ) + CALL CHAMELEON_DORGQR( 2, 2, 0, A, 2, HT, W, 1, INFO ) CALL CHKXER( 'DORGQR', INFOT, NOUT, INFO, OK ) * -* MORSE_DORMQR +* CHAMELEON_DORMQR * SRNAMT = 'DORMQR' INFOT = 1 - CALL MORSE_DORMQR( '/', MORSETRANS, 0, 0, 0, A, 1, HT, AF, 1, + CALL CHAMELEON_DORMQR( '/', CHAMELEONTRANS, 0, 0, 0, A, 1, HT, AF, 1, $ INFO ) CALL CHKXER( 'DORMQR', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DORMQR( MORSELEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, + CALL CHAMELEON_DORMQR( CHAMELEONLEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, $ INFO ) CALL CHKXER( 'DORMQR', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DORMQR( MORSELEFT, MORSETRANS, -1, 0, 0, A, 1, HT, + CALL CHAMELEON_DORMQR( CHAMELEONLEFT, CHAMELEONTRANS, -1, 0, 0, A, 1, HT, $ AF, 1, INFO ) CALL CHKXER( 'DORMQR', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_DORMQR( MORSELEFT, MORSETRANS, 0, -1, 0, A, 1, HT, + CALL CHAMELEON_DORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 0, -1, 0, A, 1, HT, $ AF, 1, INFO ) CALL CHKXER( 'DORMQR', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_DORMQR( MORSELEFT, MORSETRANS, 0, 0, -1, A, 1, HT, + CALL CHAMELEON_DORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 0, 0, -1, A, 1, HT, $ AF, 1, INFO ) CALL CHKXER( 'DORMQR', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_DORMQR( MORSELEFT, MORSETRANS, 0, 1, 1, A, 1, HT, +* CALL CHAMELEON_DORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 0, 1, 1, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'DORMQR', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_DORMQR( MORSELEFT, MORSETRANS, 1, 0, 1, A, 1, HT, +* CALL CHAMELEON_DORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 1, 0, 1, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'DORMQR', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_DORMQR( MORSELEFT, MORSETRANS, 2, 1, 0, A, 1, HT, +* CALL CHAMELEON_DORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 2, 1, 0, A, 1, HT, * 4 AF, 2, INFO ) * CALL CHKXER( 'DORMQR', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_DORMQR( MORSELEFT, MORSETRANS, 1, 2, 0, A, 1, HT, +* CALL CHAMELEON_DORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 1, 2, 0, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'DORMQR', INFOT, NOUT, INFO, OK ) * INFOT = 10 -* CALL MORSE_DORMQR( MORSELEFT, MORSETRANS, 1, 2, 0, A, 1, HT, +* CALL CHAMELEON_DORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 1, 2, 0, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'DORMQR', INFOT, NOUT, INFO, OK ) * INFOT = 10 -* CALL MORSE_DORMQR( MORSELEFT, MORSETRANS, 2, 1, 0, A, 1, HT, +* CALL CHAMELEON_DORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 2, 1, 0, A, 1, HT, * 4 AF, 2, INFO ) * CALL CHKXER( 'DORMQR', INFOT, NOUT, INFO, OK ) * @@ -237,12 +237,12 @@ * * Deallocate HT * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/derrvx.f b/testing/lin/derrvx.f index 01912024fb9235ec466fe364116edf4902d5f79a..e71dcc696ebf576297c1e897551b43678074518b 100644 --- a/testing/lin/derrvx.f +++ b/testing/lin/derrvx.f @@ -37,7 +37,7 @@ SUBROUTINE DERRVX( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -110,10 +110,10 @@ WRITE( NOUT, FMT = * ) C2 = PATH( 2: 3 ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -138,45 +138,45 @@ * * ALLOCATE HL and HPIV * - CALL MORSE_ALLOC_WORKSPACE_DGETRF_INCPIV( + CALL CHAMELEON_ALLOC_WORKSPACE_DGETRF_INCPIV( $ 2, 1, HL, HPIV, INFO ) * -* MORSE_DGESV +* CHAMELEON_DGESV * SRNAMT = 'DGESV ' INFOT = 1 - CALL MORSE_DGESV_INCPIV( -1, 0, A, 1, HL, HPIV, B, 1, INFO ) + CALL CHAMELEON_DGESV_INCPIV( -1, 0, A, 1, HL, HPIV, B, 1, INFO ) CALL CHKXER( 'DGESV ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGESV_INCPIV( 0, -1, A, 1, HL, HPIV, B, 1, INFO ) + CALL CHAMELEON_DGESV_INCPIV( 0, -1, A, 1, HL, HPIV, B, 1, INFO ) CALL CHKXER( 'DGESV ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_DGESV_INCPIV( 2, 1, A, 1, HL, HPIV, B, 2, INFO ) + CALL CHAMELEON_DGESV_INCPIV( 2, 1, A, 1, HL, HPIV, B, 2, INFO ) CALL CHKXER( 'DGESV ', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_DGESV_INCPIV( 2, 1, A, 2, HL, HPIV, B, 1, INFO ) + CALL CHAMELEON_DGESV_INCPIV( 2, 1, A, 2, HL, HPIV, B, 1, INFO ) CALL CHKXER( 'DGESV ', INFOT, NOUT, INFO, OK ) * * DEALLOCATE HL and HPIV * - CALL MORSE_DEALLOC_HANDLE( HL, INFO ) - CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) * * * DGESV * SRNAMT = 'DGESV ' INFOT = 1 - CALL MORSE_DGESV( -1, 0, A, 1, IWORK, B, 1, INFO ) + CALL CHAMELEON_DGESV( -1, 0, A, 1, IWORK, B, 1, INFO ) CALL CHKXER( 'DGESV ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DGESV( 0, -1, A, 1, IWORK, B, 1, INFO ) + CALL CHAMELEON_DGESV( 0, -1, A, 1, IWORK, B, 1, INFO ) CALL CHKXER( 'DGESV ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_DGESV( 2, 1, A, 1, IWORK, B, 2, INFO ) + CALL CHAMELEON_DGESV( 2, 1, A, 1, IWORK, B, 2, INFO ) CALL CHKXER( 'DGESV ', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_DGESV( 2, 1, A, 2, IWORK, B, 1, INFO ) + CALL CHAMELEON_DGESV( 2, 1, A, 2, IWORK, B, 1, INFO ) CALL CHKXER( 'DGESV ', INFOT, NOUT, INFO, OK ) * ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN @@ -185,19 +185,19 @@ * SRNAMT = 'DPOSV ' INFOT = 1 - CALL MORSE_DPOSV( '/', 0, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_DPOSV( '/', 0, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'DPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_DPOSV( MORSEUPPER, -1, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_DPOSV( CHAMELEONUPPER, -1, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'DPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_DPOSV( MORSEUPPER, 0, -1, A, 1, B, 1, INFO ) + CALL CHAMELEON_DPOSV( CHAMELEONUPPER, 0, -1, A, 1, B, 1, INFO ) CALL CHKXER( 'DPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_DPOSV( MORSEUPPER, 2, 0, A, 1, B, 2, INFO ) + CALL CHAMELEON_DPOSV( CHAMELEONUPPER, 2, 0, A, 1, B, 2, INFO ) CALL CHKXER( 'DPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_DPOSV( MORSEUPPER, 2, 0, A, 2, B, 1, INFO ) + CALL CHAMELEON_DPOSV( CHAMELEONUPPER, 2, 0, A, 2, B, 1, INFO ) CALL CHKXER( 'DPOSV ', INFOT, NOUT, INFO, OK ) * * DPOSVX @@ -259,10 +259,10 @@ 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ', $ 'exits ***' ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/dlqt01.f b/testing/lin/dlqt01.f index 19d4e912dbc0d8b40a42308a9a78837d17d779b8..167f23fad2d32b5bebf10c8c9a5ac6096da9bb4c 100644 --- a/testing/lin/dlqt01.f +++ b/testing/lin/dlqt01.f @@ -38,7 +38,7 @@ SUBROUTINE DLQT01( M, N, A, AF, Q, L, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -144,7 +144,7 @@ * Factorize the matrix A in the array AF. * SRNAMT = 'DGELQF' - CALL MORSE_DGELQF( M, N, AF, LDA, T, INFO ) + CALL CHAMELEON_DGELQF( M, N, AF, LDA, T, INFO ) * * Copy details of Q * @@ -153,7 +153,7 @@ * Generate the n-by-n matrix Q * SRNAMT = 'DORGLQ' - CALL MORSE_DORGLQ( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_DORGLQ( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) * * Copy L * diff --git a/testing/lin/dlqt02.f b/testing/lin/dlqt02.f index 1d4cef11bec3716fa199049952cecbd5e8ea37f2..fb2ebc8ec41f5276e6381841dcf7d34c8e87ca5c 100644 --- a/testing/lin/dlqt02.f +++ b/testing/lin/dlqt02.f @@ -38,7 +38,7 @@ SUBROUTINE DLQT02( M, N, K, A, AF, Q, L, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -149,7 +149,7 @@ * Generate the first n columns of the matrix Q * SRNAMT = 'DORGLQ' - CALL MORSE_DORGLQ( M, N, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_DORGLQ( M, N, K, AF, LDA, T, Q, LDA, INFO ) * * Copy L(1:k,1:m) * diff --git a/testing/lin/dlqt03.f b/testing/lin/dlqt03.f index a678abb39942352e25c25b3c00ec6a4b77f75283..cc8f498fa52f8646c5378e5c0dd77dba65ca8e96 100644 --- a/testing/lin/dlqt03.f +++ b/testing/lin/dlqt03.f @@ -38,7 +38,7 @@ SUBROUTINE DLQT03( M, N, K, AF, C, CC, Q, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -123,7 +123,7 @@ * .. Local Scalars .. CHARACTER SIDE, TRANS INTEGER INFO, ISIDE, ITRANS, J, MC, NC - INTEGER MORSE_SIDE, MORSE_TRANS + INTEGER CHAMELEON_SIDE, CHAMELEON_TRANS DOUBLE PRECISION CNORM, EPS, RESID * .. * .. External Functions .. @@ -164,17 +164,17 @@ * Generate the n-by-n matrix Q * SRNAMT = 'DORGLQ' - CALL MORSE_DORGLQ( N, N, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_DORGLQ( N, N, K, AF, LDA, T, Q, LDA, INFO ) * DO 30 ISIDE = 1, 2 IF( ISIDE.EQ.1 ) THEN SIDE = 'L' - MORSE_SIDE = MORSELEFT + CHAMELEON_SIDE = CHAMELEONLEFT MC = N NC = M ELSE SIDE = 'R' - MORSE_SIDE = MORSERIGHT + CHAMELEON_SIDE = CHAMELEONRIGHT MC = M NC = N END IF @@ -191,10 +191,10 @@ DO 20 ITRANS = 1, 2 IF( ITRANS.EQ.1 ) THEN TRANS = 'N' - MORSE_TRANS = MORSENOTRANS + CHAMELEON_TRANS = CHAMELEONNOTRANS ELSE TRANS = 'T' - MORSE_TRANS = MORSETRANS + CHAMELEON_TRANS = CHAMELEONTRANS END IF * * Copy C @@ -204,7 +204,7 @@ * Apply Q or Q' to C * SRNAMT = 'DORMLQ' - CALL MORSE_DORMLQ( MORSE_SIDE, MORSE_TRANS, MC, NC, K, + CALL CHAMELEON_DORMLQ( CHAMELEON_SIDE, CHAMELEON_TRANS, MC, NC, K, $ AF, LDA, T, CC, LDA, INFO ) * * Form explicit product and subtract diff --git a/testing/lin/dporfs.f b/testing/lin/dporfs.f index 05d707b40e9fcdfaabc19163629112982ce88e7f..3a14966380e643851c885f0f8c0223a62e90d0ad 100644 --- a/testing/lin/dporfs.f +++ b/testing/lin/dporfs.f @@ -38,7 +38,7 @@ SUBROUTINE DPORFS( UPLO, N, NRHS, A, LDA, AF, LDAF, B, LDB, X, $ LDX, FERR, BERR, WORK, IWORK, INFO ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK routine (version 3.2) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -154,7 +154,7 @@ * .. * .. Local Scalars .. LOGICAL UPPER - INTEGER COUNT, I, J, K, KASE, NZ, MORSE_UPLO + INTEGER COUNT, I, J, K, KASE, NZ, CHAMELEON_UPLO DOUBLE PRECISION EPS, LSTRES, S, SAFE1, SAFE2, SAFMIN, XK * .. * .. Local Arrays .. @@ -208,9 +208,9 @@ END IF * IF ( LSAME( UPLO, 'U' ) ) THEN - MORSE_UPLO = MORSEUPPER + CHAMELEON_UPLO = CHAMELEONUPPER ELSE - MORSE_UPLO = MORSELOWER + CHAMELEON_UPLO = CHAMELEONLOWER ENDIF * * NZ = maximum number of nonzero elements in each row of A, plus 1 @@ -296,7 +296,7 @@ * * Update solution and try again. * - CALL MORSE_DPOTRS( MORSE_UPLO, N, 1, AF, LDAF, + CALL CHAMELEON_DPOTRS( CHAMELEON_UPLO, N, 1, AF, LDAF, $ WORK( N+1 ), N, INFO ) CALL DAXPY( N, ONE, WORK( N+1 ), 1, X( 1, J ), 1 ) LSTRES = BERR( J ) @@ -343,7 +343,7 @@ * * Multiply by diag(W)*inv(A'). * - CALL MORSE_DPOTRS( MORSE_UPLO, N, 1, AF, LDAF, + CALL CHAMELEON_DPOTRS( CHAMELEON_UPLO, N, 1, AF, LDAF, 4 WORK( N+1 ), N, INFO ) DO 110 I = 1, N WORK( N+I ) = WORK( I )*WORK( N+I ) @@ -355,7 +355,7 @@ DO 120 I = 1, N WORK( N+I ) = WORK( I )*WORK( N+I ) 120 CONTINUE - CALL MORSE_DPOTRS( MORSE_UPLO, N, 1, AF, LDAF, + CALL CHAMELEON_DPOTRS( CHAMELEON_UPLO, N, 1, AF, LDAF, $ WORK( N+1 ), N, INFO ) END IF GO TO 100 diff --git a/testing/lin/dposvx.f b/testing/lin/dposvx.f index 71e6380125b21acf2179b9fe798249d04812d9b0..aeca6aee098c20c774b0f430ce3f659d4b85391e 100644 --- a/testing/lin/dposvx.f +++ b/testing/lin/dposvx.f @@ -39,7 +39,7 @@ $ S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, $ IWORK, INFO ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK driver routine (version 3.2) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -48,7 +48,7 @@ * .. Scalar Arguments .. CHARACTER EQUED, FACT, UPLO INTEGER INFO, LDA, LDAF, LDB, LDX, N, NRHS - INTEGER MORSE_UPLO + INTEGER CHAMELEON_UPLO DOUBLE PRECISION RCOND * .. * .. Array Arguments .. @@ -334,9 +334,9 @@ END IF * IF( LSAME( UPLO, 'U' ) ) THEN - MORSE_UPLO = MORSEUPPER + CHAMELEON_UPLO = CHAMELEONUPPER ELSE - MORSE_UPLO = MORSELOWER + CHAMELEON_UPLO = CHAMELEONLOWER ENDIF * IF( EQUIL ) THEN @@ -368,7 +368,7 @@ * Compute the Cholesky factorization A = U'*U or A = L*L'. * CALL DLACPY( UPLO, N, N, A, LDA, AF, LDAF ) - CALL MORSE_DPOTRF( MORSE_UPLO, N, AF, LDAF, INFO ) + CALL CHAMELEON_DPOTRF( CHAMELEON_UPLO, N, AF, LDAF, INFO ) * * Return if INFO is non-zero. * @@ -389,7 +389,7 @@ * Compute the solution matrix X. * CALL DLACPY( 'Full', N, NRHS, B, LDB, X, LDX ) - CALL MORSE_DPOTRS( MORSE_UPLO, N, NRHS, AF, LDAF, X, LDX, INFO ) + CALL CHAMELEON_DPOTRS( CHAMELEON_UPLO, N, NRHS, AF, LDAF, X, LDX, INFO ) * * Use iterative refinement to improve the computed solution and * compute error bounds and backward error estimates for it. diff --git a/testing/lin/dqrt01.f b/testing/lin/dqrt01.f index eb73da1c87865a530279dcef90d6b8371a2e0f41..2e8405229407f19dec895eac818a5c62163d0f04 100644 --- a/testing/lin/dqrt01.f +++ b/testing/lin/dqrt01.f @@ -38,7 +38,7 @@ SUBROUTINE DQRT01( M, N, A, AF, Q, R, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -144,7 +144,7 @@ * Factorize the matrix A in the array AF. * SRNAMT = 'DGEQRF' - CALL MORSE_DGEQRF( M, N, AF, LDA, T, INFO ) + CALL CHAMELEON_DGEQRF( M, N, AF, LDA, T, INFO ) * * Copy details of Q * @@ -153,7 +153,7 @@ * Generate the m-by-m matrix Q * SRNAMT = 'DORGQR' - CALL MORSE_DORGQR( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_DORGQR( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) * * Copy R * diff --git a/testing/lin/dqrt02.f b/testing/lin/dqrt02.f index 665486b65d51b78a33523c3f87a4521f7cc0664b..33129678b2b6498ee803937664b3bb3ca5ef9e9d 100644 --- a/testing/lin/dqrt02.f +++ b/testing/lin/dqrt02.f @@ -38,7 +38,7 @@ SUBROUTINE DQRT02( M, N, K, A, AF, Q, R, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -149,7 +149,7 @@ * Generate the first n columns of the matrix Q * SRNAMT = 'DORGQR' - CALL MORSE_DORGQR( M, N, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_DORGQR( M, N, K, AF, LDA, T, Q, LDA, INFO ) * * Copy R(1:n,1:k) * diff --git a/testing/lin/dqrt03.f b/testing/lin/dqrt03.f index 83a42c66ac2bbb48685fbdeeaeea186d95961aa8..669d3722330657030352da39e4a8bb258afe6619 100644 --- a/testing/lin/dqrt03.f +++ b/testing/lin/dqrt03.f @@ -38,7 +38,7 @@ SUBROUTINE DQRT03( M, N, K, AF, C, CC, Q, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -123,7 +123,7 @@ * .. Local Scalars .. CHARACTER SIDE, TRANS INTEGER INFO, ISIDE, ITRANS, J, MC, NC - INTEGER MORSE_SIDE, MORSE_TRANS + INTEGER CHAMELEON_SIDE, CHAMELEON_TRANS DOUBLE PRECISION CNORM, EPS, RESID * .. * .. External Functions .. @@ -165,17 +165,17 @@ * Generate the m-by-m matrix Q * SRNAMT = 'DORGQR' - CALL MORSE_DORGQR( M, M, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_DORGQR( M, M, K, AF, LDA, T, Q, LDA, INFO ) * DO 30 ISIDE = 1, 2 IF( ISIDE.EQ.1 ) THEN SIDE = 'L' - MORSE_SIDE = MORSELEFT + CHAMELEON_SIDE = CHAMELEONLEFT MC = M NC = N ELSE SIDE = 'R' - MORSE_SIDE = MORSERIGHT + CHAMELEON_SIDE = CHAMELEONRIGHT MC = N NC = M END IF @@ -192,10 +192,10 @@ DO 20 ITRANS = 1, 2 IF( ITRANS.EQ.1 ) THEN TRANS = 'N' - MORSE_TRANS = MORSENOTRANS + CHAMELEON_TRANS = CHAMELEONNOTRANS ELSE TRANS = 'T' - MORSE_TRANS = MORSETRANS + CHAMELEON_TRANS = CHAMELEONTRANS END IF * * Copy C @@ -205,7 +205,7 @@ * Apply Q or Q' to C * SRNAMT = 'DORMQR' - CALL MORSE_DORMQR( MORSE_SIDE, MORSE_TRANS, MC, NC, K, + CALL CHAMELEON_DORMQR( CHAMELEON_SIDE, CHAMELEON_TRANS, MC, NC, K, $ AF, LDA, T, CC, LDA, INFO ) * * Form explicit product and subtract diff --git a/testing/lin/dtest.in b/testing/lin/dtest.in index 96ad5a715b9c62fc4a6c0784baf919f335fea1b5..15bb9ea420bcbfbd056df9473a92172cc9f0d282 100644 --- a/testing/lin/dtest.in +++ b/testing/lin/dtest.in @@ -1,4 +1,4 @@ -Data file for testing DOUBLE PRECISION MORSE linear eqn. routines +Data file for testing DOUBLE PRECISION CHAMELEON linear eqn. routines 1 Number of values of NP 2 Values of NP (number of cores) 0 Values of SCHED (0: Static, 1:Dynamic) @@ -15,7 +15,7 @@ Data file for testing DOUBLE PRECISION MORSE linear eqn. routines 3 Number of values of RANK 30 50 90 Values of rank (as a % of N) 60.0 Threshold value of test ratio -T Put T to test the MORSE routines +T Put T to test the CHAMELEON routines T Put T to test the driver routines T Put T to test the error exits DGE 11 List types on next line if 0 < NTYPES < 11 diff --git a/testing/lin/dtestdyn.in b/testing/lin/dtestdyn.in index c471fb6a74311898a84601022d0df96199bec087..f772bfc58f4ff6c0e6b01eed39108c716e47b7f0 100644 --- a/testing/lin/dtestdyn.in +++ b/testing/lin/dtestdyn.in @@ -1,4 +1,4 @@ -Data file for testing DOUBLE PRECISION MORSE linear eqn. routines +Data file for testing DOUBLE PRECISION CHAMELEON linear eqn. routines 1 Number of values of NP 2 Values of NP (number of cores) 1 Values of SCHED (0: Static, 1:Dynamic) @@ -15,7 +15,7 @@ Data file for testing DOUBLE PRECISION MORSE linear eqn. routines 3 Number of values of RANK 30 50 90 Values of rank (as a % of N) 60.0 Threshold value of test ratio -T Put T to test the MORSE routines +T Put T to test the CHAMELEON routines T Put T to test the driver routines T Put T to test the error exits DGE 11 List types on next line if 0 < NTYPES < 11 diff --git a/testing/lin/schkaa.f b/testing/lin/schkaa.f index bb8e6f836887ca88e2bfe3a9f0f4066dab482238..9987a53375c387194fdec3c6d5583113ff6593b6 100644 --- a/testing/lin/schkaa.f +++ b/testing/lin/schkaa.f @@ -37,25 +37,25 @@ PROGRAM SCHKAA * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * -* -- MORSE test routine (From LAPACK version 3.1.1) -- +* -- CHAMELEON test routine (From LAPACK version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. * January 2007 * * Purpose * ======= * -* SCHKAA is the main test program for the REAL MORSE +* SCHKAA is the main test program for the REAL CHAMELEON * linear equation routines * * The program must be driven by a short data file. The first 14 records * specify problem dimensions and program options using list-directed -* input. The remaining lines specify the MORSE test paths and the +* input. The remaining lines specify the CHAMELEON test paths and the * number of matrix types to use in testing. An annotated example of a * data file can be obtained by deleting the first 3 characters from the * following 36 lines: -* Data file for testing REAL MORSE linear eqn. routines +* Data file for testing REAL CHAMELEON linear eqn. routines * 1 Number of values of NP * 16 Values of NP (number of cores) * 1 Values of SCHED (0: STATIC, 1:DYNAMIC) @@ -71,7 +71,7 @@ * 3 Number of values of RANK * 30 50 90 Values of rank (as a % of N) * 20.0 Threshold value of test ratio -* T Put T to test the MORSE routines +* T Put T to test the CHAMELEON routines * T Put T to test the driver routines * T Put T to test the error exits * SGE 11 List types on next line if 0 < NTYPES < 11 @@ -193,7 +193,7 @@ * * Report values of parameters version. * - CALL MORSE_VERSION( VERS_MAJOR, VERS_MINOR, VERS_PATCH, INFO) + CALL CHAMELEON_VERSION( VERS_MAJOR, VERS_MINOR, VERS_PATCH, INFO) WRITE( NOUT, FMT = 9994 ) VERS_MAJOR, VERS_MINOR, VERS_PATCH * * Read a dummy line. @@ -399,7 +399,7 @@ READ( NIN, FMT = * )THRESH WRITE( NOUT, FMT = 9992 )THRESH * -* Read the flag that indicates whether to test the MORSE routines. +* Read the flag that indicates whether to test the CHAMELEON routines. * READ( NIN, FMT = * )TSTCHK * @@ -426,19 +426,19 @@ WRITE( NOUT, FMT = 9991 )'precision', EPS WRITE( NOUT, FMT = * ) * -* Initialize MORSE +* Initialize CHAMELEON * - CALL MORSE_INIT( NPVAL(NNP), INFO ) + CALL CHAMELEON_INIT( NPVAL(NNP), INFO ) * IF( SCHED .EQ. 1 ) THEN - CALL MORSE_SET(MORSE_SCHEDULING_MODE, - $ MORSE_DYNAMIC_SCHEDULING, INFO ) + CALL CHAMELEON_SET(CHAMELEON_SCHEDULING_MODE, + $ CHAMELEON_DYNAMIC_SCHEDULING, INFO ) ELSE - CALL MORSE_SET(MORSE_SCHEDULING_MODE, - $ MORSE_STATIC_SCHEDULING, INFO ) + CALL CHAMELEON_SET(CHAMELEON_SCHEDULING_MODE, + $ CHAMELEON_STATIC_SCHEDULING, INFO ) ENDIF * - CALL MORSE_DISABLE( MORSE_AUTOTUNING, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_AUTOTUNING, INFO ) * * 80 CONTINUE @@ -604,9 +604,9 @@ 140 CONTINUE CLOSE ( NIN ) * -* Finalize MORSE +* Finalize CHAMELEON * - CALL MORSE_FINALIZE( INFO ) + CALL CHAMELEON_FINALIZE( INFO ) * S2 = SECOND( ) WRITE( NOUT, FMT = 9998 ) * WRITE( NOUT, FMT = 9997 )S2 - S1 @@ -618,8 +618,8 @@ $ I6 ) 9995 FORMAT( ' Invalid input value: ', A4, '=', I6, '; must be <=', $ I6 ) - 9994 FORMAT( ' Tests of the REAL MORSE routines ', - $ / ' MORSE VERSION ', I1, '.', I1, '.', I1, + 9994 FORMAT( ' Tests of the REAL CHAMELEON routines ', + $ / ' CHAMELEON VERSION ', I1, '.', I1, '.', I1, $ / / ' The following parameter values will be used:' ) 9993 FORMAT( 4X, A4, ': ', 10I6, / 11X, 10I6 ) 9992 FORMAT( / ' Routines pass computational tests if test ratio is ', diff --git a/testing/lin/schkge.f b/testing/lin/schkge.f index 02759343adba9ed6f84d51f48bfc3544560def24..3e74b3fb9f505d5776e5e1ec0f5730ff4c3d62bd 100644 --- a/testing/lin/schkge.f +++ b/testing/lin/schkge.f @@ -39,7 +39,7 @@ $ IBVAL, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, $ AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -157,11 +157,11 @@ REAL AINVNM, ANORM, ANORMI, ANORMO, CNDNUM, DUMMY, $ RCOND, RCONDC, RCONDI, RCONDO INTEGER HL( 2 ), HPIV( 2 ) - INTEGER MORSE_TRANS + INTEGER CHAMELEON_TRANS * .. * .. Local Arrays .. CHARACTER TRANSS( NTRAN ) - INTEGER ISEED( 4 ), ISEEDY( 4 ), MORSE_TRANSS( NTRAN ) + INTEGER ISEED( 4 ), ISEEDY( 4 ), CHAMELEON_TRANSS( NTRAN ) REAL RESULT( NTESTS ) * .. * .. External Functions .. @@ -190,7 +190,7 @@ DATA ISEEDY / 1988, 1989, 1990, 1991 / , * $ TRANSS / 'N', 'T', 'C' / $ TRANSS / 'N' / - $ MORSE_TRANSS / MORSENOTRANS / + $ CHAMELEON_TRANSS / CHAMELEONNOTRANS / * .. * .. Executable Statements .. * @@ -295,21 +295,21 @@ IF ( (MAX(M, N) / 25) .GT. NB ) THEN GOTO 90 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO ) * * ALLOCATE HL and HPIV * -c$$$ CALL MORSE_ALLOC_WORKSPACE_SGETRF_INCPIV( +c$$$ CALL CHAMELEON_ALLOC_WORKSPACE_SGETRF_INCPIV( c$$$ $ M, N, HL, HPIV, INFO ) * * Compute the LU factorization of the matrix. * CALL SLACPY( 'Full', M, N, A, LDA, AFAC, LDA ) SRNAMT = 'SGETRF' -c$$$ CALL MORSE_SGETRF_INCPIV( M, N, AFAC, LDA, HL, HPIV, +c$$$ CALL CHAMELEON_SGETRF_INCPIV( M, N, AFAC, LDA, HL, HPIV, c$$$ $ INFO ) - CALL MORSE_SGETRF( M, N, AFAC, LDA, IWORK, + CALL CHAMELEON_SGETRF( M, N, AFAC, LDA, IWORK, $ INFO ) * * Check error code from SGETRF. @@ -361,7 +361,7 @@ c$$$ $ INFO ) * DO 50 ITRAN = 1, NTRAN TRANS = TRANSS( ITRAN ) - MORSE_TRANS = MORSE_TRANSS( ITRAN ) + CHAMELEON_TRANS = CHAMELEON_TRANSS( ITRAN ) IF( ITRAN.EQ.1 ) THEN RCONDC = RCONDO ELSE @@ -379,10 +379,10 @@ c$$$ $ INFO ) * CALL SLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) SRNAMT = 'SGETRS' -c$$$ CALL MORSE_SGETRS_INCPIV( MORSE_TRANS, N, +c$$$ CALL CHAMELEON_SGETRS_INCPIV( CHAMELEON_TRANS, N, c$$$ $ NRHS, AFAC, LDA, HL, HPIV, c$$$ $ X, LDA, INFO ) - CALL MORSE_SGETRS( MORSE_TRANS, N, + CALL CHAMELEON_SGETRS( CHAMELEON_TRANS, N, $ NRHS, AFAC, LDA, IWORK, $ X, LDA, INFO ) * @@ -424,8 +424,8 @@ c$$$ $ X, LDA, INFO ) * * DEALLOCATE HL and HPIV * -c$$$ CALL MORSE_DEALLOC_HANDLE( HL, INFO ) -c$$$ CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) 90 CONTINUE 100 CONTINUE 110 CONTINUE diff --git a/testing/lin/schklq.f b/testing/lin/schklq.f index d0d45849873da4b155a6ea64a03cc085b5bd6600..39ffca9430a77458a86a8afc139cddb21883bad5 100644 --- a/testing/lin/schklq.f +++ b/testing/lin/schklq.f @@ -40,7 +40,7 @@ $ AL, AC, B, X, XACT, TAU, WORK, RWORK, IWORK, $ NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -270,12 +270,12 @@ * DO 45 IRH = 0, 1 IF (IRH .EQ. 0) THEN - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_FLAT_HOUSEHOLDER, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamFlatHouseholder, INFO ) ELSE - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_TREE_HOUSEHOLDER, INFO ) - CALL MORSE_SET(MORSE_HOUSEHOLDER_SIZE, + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamTreeHouseholder, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_SIZE, $ RHBLK, INFO) END IF * @@ -295,12 +295,12 @@ IF ( (MAX(M, N) / 10) .GT. NB ) THEN GOTO 30 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO) * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_SGELQF( M, N, HT, + CALL CHAMELEON_ALLOC_WORKSPACE_SGELQF( M, N, HT, $ INFO ) * DO I = 1, NTESTS @@ -351,7 +351,7 @@ CALL SLACPY( 'Full', M, NRHS, B, LDA, X, $ LDA ) SRNAMT = 'SGELQS' - CALL MORSE_SGELQS( M, N, NRHS, AF, LDA, HT, + CALL CHAMELEON_SGELQS( M, N, NRHS, AF, LDA, HT, $ X, LDA, INFO ) * * Check error code from SGELQS. @@ -384,7 +384,7 @@ * * Deallocate T * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) 30 CONTINUE 40 CONTINUE 45 CONTINUE diff --git a/testing/lin/schkpo.f b/testing/lin/schkpo.f index a3fd37b3726c53380dec8a29f82b7e7fb61c6453..48a3f808a572a5d4d638185fa3f76a6a7886e571 100644 --- a/testing/lin/schkpo.f +++ b/testing/lin/schkpo.f @@ -39,7 +39,7 @@ $ THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, $ XACT, WORK, RWORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -141,12 +141,12 @@ INTEGER I, IMAT, IN, INB, INFO, IOFF, IRHS, IUPLO, $ IZERO, K, KL, KU, LDA, MODE, N, NB, NERRS, $ NFAIL, NIMAT, NRHS, NRUN - INTEGER MORSE_UPLO + INTEGER CHAMELEON_UPLO REAL ANORM, CNDNUM, RCOND, RCONDC * .. * .. Local Arrays .. CHARACTER UPLOS( 2 ) - INTEGER MORSE_UPLOS( 2 ) + INTEGER CHAMELEON_UPLOS( 2 ) INTEGER ISEED( 4 ), ISEEDY( 4 ) REAL RESULT( NTESTS ) * .. @@ -175,7 +175,7 @@ * .. Data statements .. DATA ISEEDY / 1988, 1989, 1990, 1991 / DATA UPLOS / 'U', 'L' / - DATA MORSE_UPLOS / MORSEUPPER, MORSELOWER / + DATA CHAMELEON_UPLOS / CHAMELEONUPPER, CHAMELEONLOWER / * .. * .. Executable Statements .. * @@ -225,7 +225,7 @@ * DO 100 IUPLO = 1, 2 UPLO = UPLOS( IUPLO ) - MORSE_UPLO = MORSE_UPLOS( IUPLO ) + CHAMELEON_UPLO = CHAMELEON_UPLOS( IUPLO ) * * Set up parameters with SLATB4 and generate a test matrix * with SLATMS. @@ -293,13 +293,13 @@ IF ( (N / 25) .GT. NB ) THEN GOTO 90 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) * * Compute the L*L' or U'*U factorization of the matrix. * CALL SLACPY( UPLO, N, N, A, LDA, AFAC, LDA ) SRNAMT = 'SPOTRF' - CALL MORSE_SPOTRF( MORSE_UPLO, N, AFAC, LDA, INFO ) + CALL CHAMELEON_SPOTRF( CHAMELEON_UPLO, N, AFAC, LDA, INFO ) * * Check error code from SPOTRF. * @@ -327,7 +327,7 @@ * CALL SLACPY( UPLO, N, N, AFAC, LDA, AINV, LDA ) SRNAMT = 'SPOTRI' - CALL MORSE_SPOTRI( MORSE_UPLO, N, AINV, LDA, + CALL CHAMELEON_SPOTRI( CHAMELEON_UPLO, N, AINV, LDA, $ INFO ) * * Check error code from SPOTRI. @@ -372,7 +372,7 @@ CALL SLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) * SRNAMT = 'SPOTRS' - CALL MORSE_SPOTRS( MORSE_UPLO, N, NRHS, AFAC, + CALL CHAMELEON_SPOTRS( CHAMELEON_UPLO, N, NRHS, AFAC, $ LDA, X, LDA, INFO ) * * Check error code from SPOTRS. diff --git a/testing/lin/schkqr.f b/testing/lin/schkqr.f index 15bee86424e6d0f74f18f588c6205c1ba6437326..67e5f281fb61a610d68eaf7cd9a7019937afccb4 100644 --- a/testing/lin/schkqr.f +++ b/testing/lin/schkqr.f @@ -40,7 +40,7 @@ $ AR, AC, B, X, XACT, TAU, WORK, RWORK, IWORK, $ NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -274,12 +274,12 @@ * DO 45 IRH = 0, 1 IF (IRH .EQ. 0) THEN - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_FLAT_HOUSEHOLDER, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamFlatHouseholder, INFO ) ELSE - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_TREE_HOUSEHOLDER, INFO ) - CALL MORSE_SET(MORSE_HOUSEHOLDER_SIZE, + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamTreeHouseholder, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_SIZE, $ RHBLK, INFO) END IF * @@ -299,12 +299,12 @@ IF ( (MAX(M, N) / 10) .GT. NB ) THEN GOTO 30 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO) * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_SGEQRF( M, N, HT, + CALL CHAMELEON_ALLOC_WORKSPACE_SGEQRF( M, N, HT, $ INFO ) * DO I = 1, NTESTS @@ -355,7 +355,7 @@ CALL SLACPY( 'Full', M, NRHS, B, LDA, X, $ LDA ) SRNAMT = 'SGEQRS' - CALL MORSE_SGEQRS( M, N, NRHS, AF, LDA, HT, + CALL CHAMELEON_SGEQRS( M, N, NRHS, AF, LDA, HT, $ X, LDA, INFO ) * * Check error code from SGEQRS. @@ -388,7 +388,7 @@ * * Deallocate T * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) * 30 CONTINUE 40 CONTINUE diff --git a/testing/lin/sdrvge.f b/testing/lin/sdrvge.f index 6b27680481eaa4060c313a85b0c159c909e42408..6f15937f28ab6bbf207277ca3429cd542f1e0517 100644 --- a/testing/lin/sdrvge.f +++ b/testing/lin/sdrvge.f @@ -39,7 +39,7 @@ $ A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, $ RWORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -139,14 +139,14 @@ $ IZERO, K, K1, KL, KU, LDA, LWORK, MODE, N, NB, $ NBMIN, NERRS, NFACT, NFAIL, NIMAT, NRUN, NT, IB INTEGER HL( 2 ), HPIV( 2 ) - INTEGER MORSE_TRANS + INTEGER CHAMELEON_TRANS REAL AINVNM, AMAX, ANORM, ANORMI, ANORMO, CNDNUM, $ COLCND, RCOND, RCONDC, RCONDI, RCONDO, ROLDC, $ ROLDI, ROLDO, ROWCND, RPVGRW * .. * .. Local Arrays .. CHARACTER EQUEDS( 4 ), FACTS( 3 ), TRANSS( NTRAN ) - INTEGER ISEED( 4 ), ISEEDY( 4 ), MORSE_TRANSS( NTRAN ) + INTEGER ISEED( 4 ), ISEEDY( 4 ), CHAMELEON_TRANSS( NTRAN ) REAL RESULT( NTESTS ) * .. * .. External Functions .. @@ -176,7 +176,7 @@ DATA ISEEDY / 1988, 1989, 1990, 1991 / * DATA TRANSS / 'N', 'T', 'C' / DATA TRANSS / 'N' / - DATA MORSE_TRANSS / MORSENOTRANS / + DATA CHAMELEON_TRANSS / CHAMELEONNOTRANS / DATA FACTS / 'F', 'N', 'E' / DATA EQUEDS / 'N', 'R', 'C', 'B' / * .. @@ -208,8 +208,8 @@ NBMIN = 32 CALL XLAENV( 1, NB ) CALL XLAENV( 2, NBMIN ) - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO ) * * Do for each value of N in NVAL * @@ -223,7 +223,7 @@ * * ALLOCATE L and IPIV * -c$$$ CALL MORSE_ALLOC_WORKSPACE_DGETRF_INCPIV( +c$$$ CALL CHAMELEON_ALLOC_WORKSPACE_DGETRF_INCPIV( c$$$ $ N, N, HL, HPIV, INFO ) * * @@ -357,9 +357,9 @@ c$$$ $ N, N, HL, HPIV, INFO ) * * Factor the matrix A. * -c$$$ CALL MORSE_SGETRF_INCPIV( N, N, AFAC, LDA, +c$$$ CALL CHAMELEON_SGETRF_INCPIV( N, N, AFAC, LDA, c$$$ $ HL, HPIV, INFO ) - CALL MORSE_SGETRF( N, N, AFAC, LDA, + CALL CHAMELEON_SGETRF( N, N, AFAC, LDA, $ IWORK, INFO ) END IF * @@ -368,7 +368,7 @@ c$$$ $ HL, HPIV, INFO ) * Do for each value of TRANS. * TRANS = TRANSS( ITRAN ) - MORSE_TRANS = MORSE_TRANSS( ITRAN ) + CHAMELEON_TRANS = CHAMELEON_TRANSS( ITRAN ) IF( ITRAN.EQ.1 ) THEN RCONDC = RCONDO ELSE @@ -399,9 +399,9 @@ c$$$ $ HL, HPIV, INFO ) CALL SLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) * SRNAMT = 'SGESV ' -c$$$ CALL MORSE_SGESV_INCPIV( N, NRHS, AFAC, LDA, +c$$$ CALL CHAMELEON_SGESV_INCPIV( N, NRHS, AFAC, LDA, c$$$ $ HL, HPIV, X, LDA, INFO ) - CALL MORSE_SGESV( N, NRHS, AFAC, LDA, + CALL CHAMELEON_SGESV( N, NRHS, AFAC, LDA, $ IWORK, X, LDA, INFO ) * * Check error code from SGESV . @@ -449,8 +449,8 @@ c$$$ $ HL, HPIV, X, LDA, INFO ) * * DEALLOCATE HL and HPIV * -c$$$ CALL MORSE_DEALLOC_HANDLE( HL, INFO ) -c$$$ CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) 90 CONTINUE * * Print a summary of the results. diff --git a/testing/lin/sdrvls.f b/testing/lin/sdrvls.f index 304584d9ea3631c0676638d75f1321d4d3c811b3..43c77cb0e69af286415d1fc58724e072eb4dc9fe 100644 --- a/testing/lin/sdrvls.f +++ b/testing/lin/sdrvls.f @@ -39,7 +39,7 @@ $ NBVAL, NXVAL, THRESH, TSTERR, A, COPYA, B, $ COPYB, C, S, COPYS, IBVAL, WORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -169,7 +169,7 @@ $ ISCALE, ITRAN, ITYPE, J, K, LDA, LDB, LDWORK, $ LWLSY, LWORK, M, MNMIN, N, NB, NCOLS, NERRS, $ NFAIL, NLVL, NRHS, NROWS, NRUN, RANK, IB, - $ MORSE_TRANS + $ CHAMELEON_TRANS INTEGER HT( 2 ) REAL EPS, NORMA, NORMB, RCOND * .. @@ -272,29 +272,29 @@ IF ( (MAX(M, N) / 25) .GT. NB ) THEN GOTO 40 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, $ INFO ) * * Allocate T * - CALL MORSE_ALLOC_WORKSPACE_SGELS( M, N , HT, + CALL CHAMELEON_ALLOC_WORKSPACE_SGELS( M, N , HT, $ INFO ) * * DO 30 ITRAN = 1, 2 DO 30 ITRAN = 1, 1 * -* ONLY MORSENOTRANS supported ! +* ONLY CHAMELEONNOTRANS supported ! * * IF( ITRAN.EQ.1 ) THEN TRANS = 'N' - MORSE_TRANS = MORSENOTRANS + CHAMELEON_TRANS = CHAMELEONNOTRANS NROWS = M NCOLS = N ELSE TRANS = 'T' - MORSE_TRANS = MORSETRANS + CHAMELEON_TRANS = CHAMELEONTRANS NROWS = N NCOLS = M END IF @@ -325,7 +325,7 @@ END IF SRNAMT = 'SGELS ' * - CALL MORSE_SGELS( MORSE_TRANS, + CALL CHAMELEON_SGELS( CHAMELEON_TRANS, $ M, N, NRHS, $ A, LDA, HT, B, LDB, $ INFO ) @@ -381,7 +381,7 @@ * * Deallocate T * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) 40 CONTINUE END IF 110 CONTINUE diff --git a/testing/lin/sdrvpo.f b/testing/lin/sdrvpo.f index 66f5934a8b17e85b11c232f3c0f022a72ec4fdc2..fe1d0957025231eddeb1747d487f05e6e87b632c 100644 --- a/testing/lin/sdrvpo.f +++ b/testing/lin/sdrvpo.f @@ -39,7 +39,7 @@ $ A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, $ RWORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -136,13 +136,13 @@ INTEGER I, IEQUED, IFACT, IMAT, IN, INFO, IOFF, IUPLO, $ IZERO, K, K1, KL, KU, LDA, MODE, N, NB, NBMIN, $ NERRS, NFACT, NFAIL, NIMAT, NRUN, NT, - $ MORSE_UPLO + $ CHAMELEON_UPLO REAL AINVNM, AMAX, ANORM, CNDNUM, RCOND, RCONDC, $ ROLDC, SCOND * .. * .. Local Arrays .. CHARACTER EQUEDS( 2 ), FACTS( 3 ), UPLOS( 2 ) - INTEGER ISEED( 4 ), ISEEDY( 4 ), MORSE_UPLOS( 2 ) + INTEGER ISEED( 4 ), ISEEDY( 4 ), CHAMELEON_UPLOS( 2 ) REAL RESULT( NTESTS ) * .. * .. External Functions .. @@ -171,7 +171,7 @@ * .. Data statements .. DATA ISEEDY / 1988, 1989, 1990, 1991 / DATA UPLOS / 'U', 'L' / - DATA MORSE_UPLOS / MORSEUPPER, MORSELOWER / + DATA CHAMELEON_UPLOS / CHAMELEONUPPER, CHAMELEONLOWER / DATA FACTS / 'F', 'N', 'E' / DATA EQUEDS / 'N', 'Y' / * .. @@ -200,7 +200,7 @@ NBMIN = 32 CALL XLAENV( 1, NB ) CALL XLAENV( 2, NBMIN ) - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) * * Do for each value of N in NVAL * @@ -229,7 +229,7 @@ * DO 110 IUPLO = 1, 2 UPLO = UPLOS( IUPLO ) - MORSE_UPLO = MORSE_UPLOS( IUPLO ) + CHAMELEON_UPLO = CHAMELEON_UPLOS( IUPLO ) * * Set up parameters with SLATB4 and generate a test matrix * with SLATMS. @@ -350,13 +350,13 @@ * * Factor the matrix A. * - CALL MORSE_SPOTRF( MORSE_UPLO, N, + CALL CHAMELEON_SPOTRF( CHAMELEON_UPLO, N, $ AFAC, LDA, INFO ) * * Form the inverse of A. * CALL SLACPY( UPLO, N, N, AFAC, LDA, A, LDA ) - CALL MORSE_SPOTRI( MORSE_UPLO, N, A, LDA, + CALL CHAMELEON_SPOTRI( CHAMELEON_UPLO, N, A, LDA, $ INFO ) * * Compute the 1-norm condition number of A. @@ -393,7 +393,7 @@ CALL SLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) * SRNAMT = 'SPOSV ' - CALL MORSE_SPOSV( MORSE_UPLO, N, NRHS, + CALL CHAMELEON_SPOSV( CHAMELEON_UPLO, N, NRHS, $ AFAC, LDA, X, LDA, INFO ) * * Check error code from SPOSV . diff --git a/testing/lin/serrge.f b/testing/lin/serrge.f index 915e21b714d78918158e6a98ad81255efff6c822..aebe3d7a9d4264bae590e29e3af237b9772149b5 100644 --- a/testing/lin/serrge.f +++ b/testing/lin/serrge.f @@ -37,7 +37,7 @@ SUBROUTINE SERRGE( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -107,10 +107,10 @@ WRITE( NOUT, FMT = * ) C2 = PATH( 2: 3 ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -133,7 +133,7 @@ * * ALLOCATE L and IPIV * - CALL MORSE_ALLOC_WORKSPACE_SGETRF_INCPIV( + CALL CHAMELEON_ALLOC_WORKSPACE_SGETRF_INCPIV( $ 2, 1, HL, HPIV, INFO ) * * Test error exits of the routines that use the LU decomposition @@ -143,78 +143,78 @@ * SRNAMT = 'SGETRF' INFOT = 1 - CALL MORSE_SGETRF_INCPIV( -1, 0, A, 1, HL, HPIV, INFO ) + CALL CHAMELEON_SGETRF_INCPIV( -1, 0, A, 1, HL, HPIV, INFO ) CALL CHKXER( 'SGETRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGETRF_INCPIV( 0, -1, A, 1, HL, HPIV, INFO ) + CALL CHAMELEON_SGETRF_INCPIV( 0, -1, A, 1, HL, HPIV, INFO ) CALL CHKXER( 'SGETRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_SGETRF_INCPIV( 2, 1, A, 1, HL, HPIV, INFO ) + CALL CHAMELEON_SGETRF_INCPIV( 2, 1, A, 1, HL, HPIV, INFO ) CALL CHKXER( 'SGETRF', INFOT, NOUT, INFO, OK ) * * SGETRS * SRNAMT = 'SGETRS' INFOT = 103 - CALL MORSE_SGETRS_INCPIV( '/', -1, 0, A, 1, HL, HPIV, + CALL CHAMELEON_SGETRS_INCPIV( '/', -1, 0, A, 1, HL, HPIV, $ B, 1, INFO ) CALL CHKXER( 'SGETRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGETRS_INCPIV( MORSENOTRANS, -1, 0, A, 1, HL, + CALL CHAMELEON_SGETRS_INCPIV( CHAMELEONNOTRANS, -1, 0, A, 1, HL, $ HPIV, B, 1, INFO ) CALL CHKXER( 'SGETRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SGETRS_INCPIV( MORSENOTRANS, 0, -1, A, 1, HL, + CALL CHAMELEON_SGETRS_INCPIV( CHAMELEONNOTRANS, 0, -1, A, 1, HL, $ HPIV, B, 1, INFO ) CALL CHKXER( 'SGETRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_SGETRS_INCPIV( MORSENOTRANS, 2, 1, A, 1, HL, + CALL CHAMELEON_SGETRS_INCPIV( CHAMELEONNOTRANS, 2, 1, A, 1, HL, $ HPIV, B, 2, INFO ) CALL CHKXER( 'SGETRS', INFOT, NOUT, INFO, OK ) INFOT = 9 - CALL MORSE_SGETRS_INCPIV( MORSENOTRANS, 2, 1, A, 2, HL, + CALL CHAMELEON_SGETRS_INCPIV( CHAMELEONNOTRANS, 2, 1, A, 2, HL, $ HPIV, B, 1, INFO ) CALL CHKXER( 'SGETRS', INFOT, NOUT, INFO, OK ) * * DEALLOCATE L and IPIV * - CALL MORSE_DEALLOC_HANDLE( HL, INFO ) - CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) * * LAPACK Interface * SGETRF * SRNAMT = 'SGETRF' INFOT = 1 - CALL MORSE_SGETRF( -1, 0, A, 1, IP, INFO ) + CALL CHAMELEON_SGETRF( -1, 0, A, 1, IP, INFO ) CALL CHKXER( 'SGETRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGETRF( 0, -1, A, 1, IP, INFO ) + CALL CHAMELEON_SGETRF( 0, -1, A, 1, IP, INFO ) CALL CHKXER( 'SGETRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_SGETRF( 2, 1, A, 1, IP, INFO ) + CALL CHAMELEON_SGETRF( 2, 1, A, 1, IP, INFO ) CALL CHKXER( 'SGETRF', INFOT, NOUT, INFO, OK ) * * SGETRS * SRNAMT = 'SGETRS' INFOT = 1 - CALL MORSE_SGETRS( '/', 0, 0, A, 1, IP, B, 1, INFO ) + CALL CHAMELEON_SGETRS( '/', 0, 0, A, 1, IP, B, 1, INFO ) CALL CHKXER( 'SGETRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGETRS( MORSENOTRANS, -1, 0, A, 1, IP, + CALL CHAMELEON_SGETRS( CHAMELEONNOTRANS, -1, 0, A, 1, IP, $ B, 1, INFO ) CALL CHKXER( 'SGETRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SGETRS( MORSENOTRANS, 0, -1, A, 1, IP, + CALL CHAMELEON_SGETRS( CHAMELEONNOTRANS, 0, -1, A, 1, IP, $ B, 1, INFO ) CALL CHKXER( 'SGETRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_SGETRS( MORSENOTRANS, 2, 1, A, 1, IP, + CALL CHAMELEON_SGETRS( CHAMELEONNOTRANS, 2, 1, A, 1, IP, $ B, 2, INFO ) CALL CHKXER( 'SGETRS', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_SGETRS( MORSENOTRANS, 2, 1, A, 2, IP, + CALL CHAMELEON_SGETRS( CHAMELEONNOTRANS, 2, 1, A, 2, IP, $ B, 1, INFO ) CALL CHKXER( 'SGETRS', INFOT, NOUT, INFO, OK ) @@ -224,10 +224,10 @@ * CALL ALAESM( PATH, OK, NOUT ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/serrlq.f b/testing/lin/serrlq.f index a899bbab986d1364c26eaaabdd4b45732fc149e8..8e7c3c6216e15c11d5059a4f95254608dc189842 100644 --- a/testing/lin/serrlq.f +++ b/testing/lin/serrlq.f @@ -37,7 +37,7 @@ SUBROUTINE SERRLQ( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -98,10 +98,10 @@ NOUT = NUNIT WRITE( NOUT, FMT = * ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -118,7 +118,7 @@ * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_SGELQF( 2, 2, HT, INFO ) + CALL CHAMELEON_ALLOC_WORKSPACE_SGELQF( 2, 2, HT, INFO ) * * Error exits for LQ factorization * @@ -126,105 +126,105 @@ * SRNAMT = 'SGELQF' INFOT = 1 - CALL MORSE_SGELQF( -1, 0, A, 1, HT, INFO ) + CALL CHAMELEON_SGELQF( -1, 0, A, 1, HT, INFO ) CALL CHKXER( 'SGELQF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGELQF( 0, -1, A, 1, HT, INFO ) + CALL CHAMELEON_SGELQF( 0, -1, A, 1, HT, INFO ) CALL CHKXER( 'SGELQF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_SGELQF( 2, 1, A, 1, HT, INFO ) + CALL CHAMELEON_SGELQF( 2, 1, A, 1, HT, INFO ) CALL CHKXER( 'SGELQF', INFOT, NOUT, INFO, OK ) * * SGELQS * SRNAMT = 'SGELQS' INFOT = 1 - CALL MORSE_SGELQS( -1, 0, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_SGELQS( -1, 0, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'SGELQS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGELQS( 0, -1, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_SGELQS( 0, -1, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'SGELQS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGELQS( 2, 1, 0, A, 2, HT, B, 1, INFO ) + CALL CHAMELEON_SGELQS( 2, 1, 0, A, 2, HT, B, 1, INFO ) CALL CHKXER( 'SGELQS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SGELQS( 0, 0, -1, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_SGELQS( 0, 0, -1, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'SGELQS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_SGELQS( 2, 2, 0, A, 1, HT, B, 2, INFO ) + CALL CHAMELEON_SGELQS( 2, 2, 0, A, 1, HT, B, 2, INFO ) CALL CHKXER( 'SGELQS', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_SGELQS( 1, 2, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_SGELQS( 1, 2, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'SGELQS', INFOT, NOUT, INFO, OK ) * * SORGLQ * SRNAMT = 'SORGLQ' INFOT = 1 - CALL MORSE_SORGLQ( -1, 0, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_SORGLQ( -1, 0, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'SORGLQ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SORGLQ( 0, -1, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_SORGLQ( 0, -1, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'SORGLQ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SORGLQ( 2, 1, 0, A, 2, HT, W, 2, INFO ) + CALL CHAMELEON_SORGLQ( 2, 1, 0, A, 2, HT, W, 2, INFO ) CALL CHKXER( 'SORGLQ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SORGLQ( 0, 0, -1, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_SORGLQ( 0, 0, -1, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'SORGLQ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SORGLQ( 1, 1, 2, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_SORGLQ( 1, 1, 2, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'SORGLQ', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_SORGLQ( 2, 2, 0, A, 1, HT, W, 2, INFO ) + CALL CHAMELEON_SORGLQ( 2, 2, 0, A, 1, HT, W, 2, INFO ) CALL CHKXER( 'SORGLQ', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_SORGLQ( 2, 2, 0, A, 2, HT, W, 1, INFO ) + CALL CHAMELEON_SORGLQ( 2, 2, 0, A, 2, HT, W, 1, INFO ) CALL CHKXER( 'SORGLQ', INFOT, NOUT, INFO, OK ) * * SORMLQ * SRNAMT = 'SORMLQ' INFOT = 1 - CALL MORSE_SORMLQ( '/', MORSETRANS, 0, 0, 0, A, 1, HT, AF, 1, + CALL CHAMELEON_SORMLQ( '/', CHAMELEONTRANS, 0, 0, 0, A, 1, HT, AF, 1, $ INFO ) CALL CHKXER( 'SORMLQ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SORMLQ( MORSELEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, + CALL CHAMELEON_SORMLQ( CHAMELEONLEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, $ INFO ) CALL CHKXER( 'SORMLQ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SORMLQ( MORSELEFT, MORSETRANS, -1, 0, 0, A, 1, HT, + CALL CHAMELEON_SORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, -1, 0, 0, A, 1, HT, $ AF, 1, INFO ) CALL CHKXER( 'SORMLQ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_SORMLQ( MORSELEFT, MORSETRANS, 0, -1, 0, A, 1, HT, + CALL CHAMELEON_SORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, 0, -1, 0, A, 1, HT, $ AF, 1, INFO ) CALL CHKXER( 'SORMLQ', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_SORMLQ( MORSELEFT, MORSETRANS, 0, 0, -1, A, 1, HT, + CALL CHAMELEON_SORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, 0, 0, -1, A, 1, HT, $ AF, 1, INFO ) CALL CHKXER( 'SORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_SORMLQ( MORSELEFT, MORSETRANS, 0, 1, 1, A, 1, HT, AF, 1, INFO ) +* CALL CHAMELEON_SORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, 0, 1, 1, A, 1, HT, AF, 1, INFO ) * CALL CHKXER( 'SORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_SORMLQ( MORSERIGHT, MORSETRANS, 1, 0, 1, A, 1, HT, AF, 1, INFO ) +* CALL CHAMELEON_SORMLQ( CHAMELEONRIGHT, CHAMELEONTRANS, 1, 0, 1, A, 1, HT, AF, 1, INFO ) * CALL CHKXER( 'SORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_SORMLQ( MORSELEFT, MORSETRANS, 2, 0, 2, A, 1, HT, AF, 2, INFO ) +* CALL CHAMELEON_SORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, 2, 0, 2, A, 1, HT, AF, 2, INFO ) * CALL CHKXER( 'SORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_SORMLQ( MORSERIGHT, MORSETRANS, 0, 2, 2, A, 1, HT, AF, 1, INFO ) +* CALL CHAMELEON_SORMLQ( CHAMELEONRIGHT, CHAMELEONTRANS, 0, 2, 2, A, 1, HT, AF, 1, INFO ) * CALL CHKXER( 'SORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 10 -* CALL MORSE_SORMLQ( MORSELEFT, MORSETRANS, 2, 1, 0, A, 2, HT, AF, 1, INFO ) +* CALL CHAMELEON_SORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, 2, 1, 0, A, 2, HT, AF, 1, INFO ) * CALL CHKXER( 'SORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 12 -* CALL MORSE_SORMLQ( MORSELEFT, MORSETRANS, 1, 2, 0, A, 1, HT, AF, 1, INFO ) +* CALL CHAMELEON_SORMLQ( CHAMELEONLEFT, CHAMELEONTRANS, 1, 2, 0, A, 1, HT, AF, 1, INFO ) * CALL CHKXER( 'SORMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 12 -* CALL MORSE_SORMLQ( MORSERIGHT, MORSETRANS, 2, 1, 0, A, 1, HT, AF, 2, INFO ) +* CALL CHAMELEON_SORMLQ( CHAMELEONRIGHT, CHAMELEONTRANS, 2, 1, 0, A, 1, HT, AF, 2, INFO ) * CALL CHKXER( 'SORMLQ', INFOT, NOUT, INFO, OK ) * * Print a summary line. @@ -233,12 +233,12 @@ * * Deallocate HT * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/serrls.f b/testing/lin/serrls.f index 1220563ef92dc2f7d7cacc22e975f49f1b0796ee..0602e5270bb08f75aa5fbd1a4e09c4c60060e861 100644 --- a/testing/lin/serrls.f +++ b/testing/lin/serrls.f @@ -37,7 +37,7 @@ SUBROUTINE SERRLS( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -108,10 +108,10 @@ A( 2, 1 ) = 4.0E+0 OK = .TRUE. * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * IF( LSAMEN( 2, C2, 'LS' ) ) THEN * @@ -119,34 +119,34 @@ * * SGELS * - CALL MORSE_ALLOC_WORKSPACE_SGELS( 2, 2, HT, INFO ) + CALL CHAMELEON_ALLOC_WORKSPACE_SGELS( 2, 2, HT, INFO ) * SRNAMT = 'SGELS ' INFOT = 103 - CALL MORSE_SGELS( '/', 0, 0, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_SGELS( '/', 0, 0, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'SGELS ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGELS( MORSENOTRANS, -1, 0, 0, A, 1, HT, + CALL CHAMELEON_SGELS( CHAMELEONNOTRANS, -1, 0, 0, A, 1, HT, $ B, 1, INFO ) CALL CHKXER( 'SGELS ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SGELS( MORSENOTRANS, 0, -1, 0, A, 1, HT, + CALL CHAMELEON_SGELS( CHAMELEONNOTRANS, 0, -1, 0, A, 1, HT, $ B, 1, INFO ) CALL CHKXER( 'SGELS ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_SGELS( MORSENOTRANS, 0, 0, -1, A, 1, HT, + CALL CHAMELEON_SGELS( CHAMELEONNOTRANS, 0, 0, -1, A, 1, HT, $ B, 1, INFO ) CALL CHKXER( 'SGELS ', INFOT, NOUT, INFO, OK ) INFOT = 6 - CALL MORSE_SGELS( MORSENOTRANS, 2, 0, 0, A, 1, HT, + CALL CHAMELEON_SGELS( CHAMELEONNOTRANS, 2, 0, 0, A, 1, HT, $ B, 2, INFO ) CALL CHKXER( 'SGELS ', INFOT, NOUT, INFO, OK ) INFOT = 9 - CALL MORSE_SGELS( MORSENOTRANS, 2, 0, 0, A, 2, HT, + CALL CHAMELEON_SGELS( CHAMELEONNOTRANS, 2, 0, 0, A, 2, HT, $ B, 1, INFO ) CALL CHKXER( 'SGELS ', INFOT, NOUT, INFO, OK ) * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) * END IF * @@ -154,10 +154,10 @@ * CALL ALAESM( PATH, OK, NOUT ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/serrpo.f b/testing/lin/serrpo.f index f194521d1ea98e72c4ac3141a0482591de19bb83..ce256a6f1ae5cbd22098154cd2059dbd4732b8d0 100644 --- a/testing/lin/serrpo.f +++ b/testing/lin/serrpo.f @@ -37,7 +37,7 @@ SUBROUTINE SERRPO( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -107,10 +107,10 @@ WRITE( NOUT, FMT = * ) C2 = PATH( 2: 3 ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -137,32 +137,32 @@ * SRNAMT = 'SPOTRF' INFOT = 1 - CALL MORSE_SPOTRF( '/', 0, A, 1, INFO ) + CALL CHAMELEON_SPOTRF( '/', 0, A, 1, INFO ) CALL CHKXER( 'SPOTRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SPOTRF( MORSEUPPER, -1, A, 1, INFO ) + CALL CHAMELEON_SPOTRF( CHAMELEONUPPER, -1, A, 1, INFO ) CALL CHKXER( 'SPOTRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_SPOTRF( MORSEUPPER, 2, A, 1, INFO ) + CALL CHAMELEON_SPOTRF( CHAMELEONUPPER, 2, A, 1, INFO ) CALL CHKXER( 'SPOTRF', INFOT, NOUT, INFO, OK ) * * SPOTRS * SRNAMT = 'SPOTRS' INFOT = 1 - CALL MORSE_SPOTRS( '/', 0, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_SPOTRS( '/', 0, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'SPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SPOTRS( MORSEUPPER, -1, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_SPOTRS( CHAMELEONUPPER, -1, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'SPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SPOTRS( MORSEUPPER, 0, -1, A, 1, B, 1, INFO ) + CALL CHAMELEON_SPOTRS( CHAMELEONUPPER, 0, -1, A, 1, B, 1, INFO ) CALL CHKXER( 'SPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_SPOTRS( MORSEUPPER, 2, 1, A, 1, B, 2, INFO ) + CALL CHAMELEON_SPOTRS( CHAMELEONUPPER, 2, 1, A, 1, B, 2, INFO ) CALL CHKXER( 'SPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_SPOTRS( MORSEUPPER, 2, 1, A, 2, B, 1, INFO ) + CALL CHAMELEON_SPOTRS( CHAMELEONUPPER, 2, 1, A, 2, B, 1, INFO ) CALL CHKXER( 'SPOTRS', INFOT, NOUT, INFO, OK ) END IF * @@ -170,10 +170,10 @@ * CALL ALAESM( PATH, OK, NOUT ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/serrqr.f b/testing/lin/serrqr.f index cb24b48a7b0de49883caf373002094e52fbdabd2..e1e110e4814b45a9e2b9aa3e5ce3673792371bb6 100644 --- a/testing/lin/serrqr.f +++ b/testing/lin/serrqr.f @@ -37,7 +37,7 @@ SUBROUTINE SERRQR( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -98,10 +98,10 @@ NOUT = NUNIT WRITE( NOUT, FMT = * ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -118,7 +118,7 @@ * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_SGEQRF( 2, 2, HT, INFO ) + CALL CHAMELEON_ALLOC_WORKSPACE_SGEQRF( 2, 2, HT, INFO ) * * Error exits for QR factorization @@ -127,13 +127,13 @@ * SRNAMT = 'SGEQRF' INFOT = 1 - CALL MORSE_SGEQRF( -1, 0, A, 1, HT, INFO ) + CALL CHAMELEON_SGEQRF( -1, 0, A, 1, HT, INFO ) CALL CHKXER( 'SGEQRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGEQRF( 0, -1, A, 1, HT, INFO ) + CALL CHAMELEON_SGEQRF( 0, -1, A, 1, HT, INFO ) CALL CHKXER( 'SGEQRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_SGEQRF( 2, 1, A, 1, HT, INFO ) + CALL CHAMELEON_SGEQRF( 2, 1, A, 1, HT, INFO ) CALL CHKXER( 'SGEQRF', INFOT, NOUT, INFO, OK ) * * SGEQRS @@ -141,94 +141,94 @@ * SRNAMT = 'SGEQRS' INFOT = 1 - CALL MORSE_SGEQRS( -1, 0, 0, A, 1, X, B, 1, INFO ) + CALL CHAMELEON_SGEQRS( -1, 0, 0, A, 1, X, B, 1, INFO ) CALL CHKXER( 'SGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGEQRS( 0, -1, 0, A, 1, X, B, 1, INFO ) + CALL CHAMELEON_SGEQRS( 0, -1, 0, A, 1, X, B, 1, INFO ) CALL CHKXER( 'SGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGEQRS( 1, 2, 0, A, 2, X, B, 2, INFO ) + CALL CHAMELEON_SGEQRS( 1, 2, 0, A, 2, X, B, 2, INFO ) CALL CHKXER( 'SGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SGEQRS( 0, 0, -1, A, 1, X, B, 1, INFO ) + CALL CHAMELEON_SGEQRS( 0, 0, -1, A, 1, X, B, 1, INFO ) CALL CHKXER( 'SGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_SGEQRS( 2, 1, 0, A, 1, X, B, 2, INFO ) + CALL CHAMELEON_SGEQRS( 2, 1, 0, A, 1, X, B, 2, INFO ) CALL CHKXER( 'SGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_SGEQRS( 2, 1, 0, A, 2, X, B, 1, INFO ) + CALL CHAMELEON_SGEQRS( 2, 1, 0, A, 2, X, B, 1, INFO ) CALL CHKXER( 'SGEQRS', INFOT, NOUT, INFO, OK ) * * SORGQR * SRNAMT = 'SORGQR' INFOT = 1 - CALL MORSE_SORGQR( -1, 0, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_SORGQR( -1, 0, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'SORGQR', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SORGQR( 0, -1, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_SORGQR( 0, -1, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'SORGQR', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SORGQR( 1, 2, 0, A, 1, HT, W, 2, INFO ) + CALL CHAMELEON_SORGQR( 1, 2, 0, A, 1, HT, W, 2, INFO ) CALL CHKXER( 'SORGQR', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SORGQR( 0, 0, -1, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_SORGQR( 0, 0, -1, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'SORGQR', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SORGQR( 1, 1, 2, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_SORGQR( 1, 1, 2, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'SORGQR', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_SORGQR( 2, 2, 0, A, 1, HT, W, 2, INFO ) + CALL CHAMELEON_SORGQR( 2, 2, 0, A, 1, HT, W, 2, INFO ) CALL CHKXER( 'SORGQR', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_SORGQR( 2, 2, 0, A, 2, HT, W, 1, INFO ) + CALL CHAMELEON_SORGQR( 2, 2, 0, A, 2, HT, W, 1, INFO ) CALL CHKXER( 'SORGQR', INFOT, NOUT, INFO, OK ) * -* MORSE_SORMQR +* CHAMELEON_SORMQR * SRNAMT = 'SORMQR' INFOT = 1 - CALL MORSE_SORMQR( '/', MORSETRANS, 0, 0, 0, A, 1, HT, AF, 1, + CALL CHAMELEON_SORMQR( '/', CHAMELEONTRANS, 0, 0, 0, A, 1, HT, AF, 1, 4 INFO ) CALL CHKXER( 'SORMQR', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SORMQR( MORSELEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, + CALL CHAMELEON_SORMQR( CHAMELEONLEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, 4 INFO ) CALL CHKXER( 'SORMQR', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SORMQR( MORSELEFT, MORSETRANS, -1, 0, 0, A, 1, HT, + CALL CHAMELEON_SORMQR( CHAMELEONLEFT, CHAMELEONTRANS, -1, 0, 0, A, 1, HT, 4 AF, 1, INFO ) CALL CHKXER( 'SORMQR', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_SORMQR( MORSELEFT, MORSETRANS, 0, -1, 0, A, 1, HT, + CALL CHAMELEON_SORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 0, -1, 0, A, 1, HT, 4 AF, 1, INFO ) CALL CHKXER( 'SORMQR', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_SORMQR( MORSELEFT, MORSETRANS, 0, 0, -1, A, 1, HT, + CALL CHAMELEON_SORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 0, 0, -1, A, 1, HT, 4 AF, 1, INFO ) CALL CHKXER( 'SORMQR', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_SORMQR( MORSELEFT, MORSETRANS, 0, 1, 1, A, 1, HT, +* CALL CHAMELEON_SORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 0, 1, 1, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'SORMQR', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_SORMQR( MORSELEFT, MORSETRANS, 1, 0, 1, A, 1, HT, +* CALL CHAMELEON_SORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 1, 0, 1, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'SORMQR', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_SORMQR( MORSELEFT, MORSETRANS, 2, 1, 0, A, 1, HT, +* CALL CHAMELEON_SORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 2, 1, 0, A, 1, HT, * 4 AF, 2, INFO ) * CALL CHKXER( 'SORMQR', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_SORMQR( MORSELEFT, MORSETRANS, 1, 2, 0, A, 1, HT, +* CALL CHAMELEON_SORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 1, 2, 0, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'SORMQR', INFOT, NOUT, INFO, OK ) * INFOT = 10 -* CALL MORSE_SORMQR( MORSELEFT, MORSETRANS, 1, 2, 0, A, 1, HT, +* CALL CHAMELEON_SORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 1, 2, 0, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'SORMQR', INFOT, NOUT, INFO, OK ) * INFOT = 10 -* CALL MORSE_SORMQR( MORSELEFT, MORSETRANS, 2, 1, 0, A, 1, HT, +* CALL CHAMELEON_SORMQR( CHAMELEONLEFT, CHAMELEONTRANS, 2, 1, 0, A, 1, HT, * 4 AF, 2, INFO ) * CALL CHKXER( 'SORMQR', INFOT, NOUT, INFO, OK ) * @@ -238,12 +238,12 @@ * * Deallocate HT * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/serrvx.f b/testing/lin/serrvx.f index bb801cb8aa2848d2e81d084b35394831627bd758..66bf68c5851d48e484736c87ef70daf699a7aaf4 100644 --- a/testing/lin/serrvx.f +++ b/testing/lin/serrvx.f @@ -37,7 +37,7 @@ SUBROUTINE SERRVX( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -110,10 +110,10 @@ WRITE( NOUT, FMT = * ) C2 = PATH( 2: 3 ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -138,45 +138,45 @@ * * ALLOCATE HL and HPIV * - CALL MORSE_ALLOC_WORKSPACE_SGETRF_INCPIV( + CALL CHAMELEON_ALLOC_WORKSPACE_SGETRF_INCPIV( $ 2, 1, HL, HPIV, INFO ) * -* MORSE_SGESV +* CHAMELEON_SGESV * SRNAMT = 'SGESV ' INFOT = 1 - CALL MORSE_SGESV_INCPIV( -1, 0, A, 1, HL, HPIV, B, 1, INFO ) + CALL CHAMELEON_SGESV_INCPIV( -1, 0, A, 1, HL, HPIV, B, 1, INFO ) CALL CHKXER( 'SGESV ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGESV_INCPIV( 0, -1, A, 1, HL, HPIV, B, 1, INFO ) + CALL CHAMELEON_SGESV_INCPIV( 0, -1, A, 1, HL, HPIV, B, 1, INFO ) CALL CHKXER( 'SGESV ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_SGESV_INCPIV( 2, 1, A, 1, HL, HPIV, B, 2, INFO ) + CALL CHAMELEON_SGESV_INCPIV( 2, 1, A, 1, HL, HPIV, B, 2, INFO ) CALL CHKXER( 'SGESV ', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_SGESV_INCPIV( 2, 1, A, 2, HL, HPIV, B, 1, INFO ) + CALL CHAMELEON_SGESV_INCPIV( 2, 1, A, 2, HL, HPIV, B, 1, INFO ) CALL CHKXER( 'SGESV ', INFOT, NOUT, INFO, OK ) * * DEALLOCATE HL and HPIV * - CALL MORSE_DEALLOC_HANDLE( HL, INFO ) - CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) * * * SGESV * SRNAMT = 'SGESV ' INFOT = 1 - CALL MORSE_SGESV( -1, 0, A, 1, IWORK, B, 1, INFO ) + CALL CHAMELEON_SGESV( -1, 0, A, 1, IWORK, B, 1, INFO ) CALL CHKXER( 'SGESV ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SGESV( 0, -1, A, 1, IWORK, B, 1, INFO ) + CALL CHAMELEON_SGESV( 0, -1, A, 1, IWORK, B, 1, INFO ) CALL CHKXER( 'SGESV ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_SGESV( 2, 1, A, 1, IWORK, B, 2, INFO ) + CALL CHAMELEON_SGESV( 2, 1, A, 1, IWORK, B, 2, INFO ) CALL CHKXER( 'SGESV ', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_SGESV( 2, 1, A, 2, IWORK, B, 1, INFO ) + CALL CHAMELEON_SGESV( 2, 1, A, 2, IWORK, B, 1, INFO ) CALL CHKXER( 'SGESV ', INFOT, NOUT, INFO, OK ) * ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN @@ -185,19 +185,19 @@ * SRNAMT = 'SPOSV ' INFOT = 1 - CALL MORSE_SPOSV( '/', 0, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_SPOSV( '/', 0, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'SPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_SPOSV( MORSEUPPER, -1, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_SPOSV( CHAMELEONUPPER, -1, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'SPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_SPOSV( MORSEUPPER, 0, -1, A, 1, B, 1, INFO ) + CALL CHAMELEON_SPOSV( CHAMELEONUPPER, 0, -1, A, 1, B, 1, INFO ) CALL CHKXER( 'SPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_SPOSV( MORSEUPPER, 2, 0, A, 1, B, 2, INFO ) + CALL CHAMELEON_SPOSV( CHAMELEONUPPER, 2, 0, A, 1, B, 2, INFO ) CALL CHKXER( 'SPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_SPOSV( MORSEUPPER, 2, 0, A, 2, B, 1, INFO ) + CALL CHAMELEON_SPOSV( CHAMELEONUPPER, 2, 0, A, 2, B, 1, INFO ) CALL CHKXER( 'SPOSV ', INFOT, NOUT, INFO, OK ) * * SPOSVX @@ -259,10 +259,10 @@ 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ', $ 'exits ***' ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/slqt01.f b/testing/lin/slqt01.f index 6ac8ab9e3f4f09468e5b0a222e174037d40d364c..32909e7c30067ec9aff352276cf3163a229b8a79 100644 --- a/testing/lin/slqt01.f +++ b/testing/lin/slqt01.f @@ -38,7 +38,7 @@ SUBROUTINE SLQT01( M, N, A, AF, Q, L, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -144,7 +144,7 @@ * Factorize the matrix A in the array AF. * SRNAMT = 'SGELQF' - CALL MORSE_SGELQF( M, N, AF, LDA, T, INFO ) + CALL CHAMELEON_SGELQF( M, N, AF, LDA, T, INFO ) * * Copy details of Q * @@ -153,7 +153,7 @@ * Generate the n-by-n matrix Q * SRNAMT = 'SORGLQ' - CALL MORSE_SORGLQ( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_SORGLQ( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) * * Copy L * diff --git a/testing/lin/slqt02.f b/testing/lin/slqt02.f index 6cc62d35adcf456afb60a620325ca1ea8b4b8d00..22a6f61e8655cc3ae641498df43a75135e408387 100644 --- a/testing/lin/slqt02.f +++ b/testing/lin/slqt02.f @@ -38,7 +38,7 @@ SUBROUTINE SLQT02( M, N, K, A, AF, Q, L, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -149,7 +149,7 @@ * Generate the first n columns of the matrix Q * SRNAMT = 'SORGLQ' - CALL MORSE_SORGLQ( M, N, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_SORGLQ( M, N, K, AF, LDA, T, Q, LDA, INFO ) * * Copy L(1:k,1:m) * diff --git a/testing/lin/slqt03.f b/testing/lin/slqt03.f index 1355702fccd7e706481e80acd3033a10f1725c35..a4f04ca02ebb19bb984233c5abf4a16568cb21bd 100644 --- a/testing/lin/slqt03.f +++ b/testing/lin/slqt03.f @@ -38,7 +38,7 @@ SUBROUTINE SLQT03( M, N, K, AF, C, CC, Q, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -123,7 +123,7 @@ * .. Local Scalars .. CHARACTER SIDE, TRANS INTEGER INFO, ISIDE, ITRANS, J, MC, NC - INTEGER MORSE_SIDE, MORSE_TRANS + INTEGER CHAMELEON_SIDE, CHAMELEON_TRANS REAL CNORM, EPS, RESID * .. * .. External Functions .. @@ -164,17 +164,17 @@ * Generate the n-by-n matrix Q * SRNAMT = 'SORGLQ' - CALL MORSE_SORGLQ( N, N, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_SORGLQ( N, N, K, AF, LDA, T, Q, LDA, INFO ) * DO 30 ISIDE = 1, 2 IF( ISIDE.EQ.1 ) THEN SIDE = 'L' - MORSE_SIDE = MORSELEFT + CHAMELEON_SIDE = CHAMELEONLEFT MC = N NC = M ELSE SIDE = 'R' - MORSE_SIDE = MORSERIGHT + CHAMELEON_SIDE = CHAMELEONRIGHT MC = M NC = N END IF @@ -192,10 +192,10 @@ DO 20 ITRANS = 1, 2 IF( ITRANS.EQ.1 ) THEN TRANS = 'N' - MORSE_TRANS = MORSENOTRANS + CHAMELEON_TRANS = CHAMELEONNOTRANS ELSE TRANS = 'T' - MORSE_TRANS = MORSETRANS + CHAMELEON_TRANS = CHAMELEONTRANS END IF * * Copy C @@ -205,7 +205,7 @@ * Apply Q or Q' to C * SRNAMT = 'SORMLQ' - CALL MORSE_SORMLQ( MORSE_SIDE, MORSE_TRANS, MC, NC, K, + CALL CHAMELEON_SORMLQ( CHAMELEON_SIDE, CHAMELEON_TRANS, MC, NC, K, $ AF, LDA, T, CC, LDA, INFO ) * diff --git a/testing/lin/sporfs.f b/testing/lin/sporfs.f index 844d08ba6f7d307e89479be14d4f44ac94210478..8dcdea76046fbc0807d4449a3aab69e2ab617e03 100644 --- a/testing/lin/sporfs.f +++ b/testing/lin/sporfs.f @@ -38,7 +38,7 @@ SUBROUTINE SPORFS( UPLO, N, NRHS, A, LDA, AF, LDAF, B, LDB, X, $ LDX, FERR, BERR, WORK, IWORK, INFO ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK routine (version 3.2) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -154,7 +154,7 @@ * .. * .. Local Scalars .. LOGICAL UPPER - INTEGER COUNT, I, J, K, KASE, NZ, MORSE_UPLO + INTEGER COUNT, I, J, K, KASE, NZ, CHAMELEON_UPLO REAL EPS, LSTRES, S, SAFE1, SAFE2, SAFMIN, XK * .. * .. Local Arrays .. @@ -208,9 +208,9 @@ END IF * IF ( LSAME( UPLO, 'U' ) ) THEN - MORSE_UPLO = MORSEUPPER + CHAMELEON_UPLO = CHAMELEONUPPER ELSE - MORSE_UPLO = MORSELOWER + CHAMELEON_UPLO = CHAMELEONLOWER ENDIF * * NZ = maximum number of nonzero elements in each row of A, plus 1 @@ -296,7 +296,7 @@ * * Update solution and try again. * - CALL MORSE_SPOTRS( MORSE_UPLO, N, 1, AF, LDAF, + CALL CHAMELEON_SPOTRS( CHAMELEON_UPLO, N, 1, AF, LDAF, $ WORK( N+1 ), N, INFO ) CALL SAXPY( N, ONE, WORK( N+1 ), 1, X( 1, J ), 1 ) LSTRES = BERR( J ) @@ -343,7 +343,7 @@ * * Multiply by diag(W)*inv(A'). * - CALL MORSE_SPOTRS( MORSE_UPLO, N, 1, AF, LDAF, + CALL CHAMELEON_SPOTRS( CHAMELEON_UPLO, N, 1, AF, LDAF, $ WORK( N+1 ), N, INFO ) DO 110 I = 1, N WORK( N+I ) = WORK( I )*WORK( N+I ) @@ -355,7 +355,7 @@ DO 120 I = 1, N WORK( N+I ) = WORK( I )*WORK( N+I ) 120 CONTINUE - CALL MORSE_SPOTRS( MORSE_UPLO, N, 1, AF, LDAF, + CALL CHAMELEON_SPOTRS( CHAMELEON_UPLO, N, 1, AF, LDAF, $ WORK( N+1 ), N, INFO ) END IF GO TO 100 diff --git a/testing/lin/sposvx.f b/testing/lin/sposvx.f index fefdc1d11ac15d28226c5b2da15b82cbd73fe79c..b8a94475a4a1e078716c782da412a778087933ee 100644 --- a/testing/lin/sposvx.f +++ b/testing/lin/sposvx.f @@ -39,7 +39,7 @@ $ S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, $ IWORK, INFO ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK driver routine (version 3.2) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -48,7 +48,7 @@ * .. Scalar Arguments .. CHARACTER EQUED, FACT, UPLO INTEGER INFO, LDA, LDAF, LDB, LDX, N, NRHS - INTEGER MORSE_UPLO + INTEGER CHAMELEON_UPLO REAL RCOND * .. * .. Array Arguments .. @@ -334,9 +334,9 @@ END IF * IF( LSAME( UPLO, 'U' ) ) THEN - MORSE_UPLO = MORSEUPPER + CHAMELEON_UPLO = CHAMELEONUPPER ELSE - MORSE_UPLO = MORSELOWER + CHAMELEON_UPLO = CHAMELEONLOWER ENDIF * IF( EQUIL ) THEN @@ -368,7 +368,7 @@ * Compute the Cholesky factorization A = U'*U or A = L*L'. * CALL SLACPY( UPLO, N, N, A, LDA, AF, LDAF ) - CALL MORSE_SPOTRF( MORSE_UPLO, N, AF, LDAF, INFO ) + CALL CHAMELEON_SPOTRF( CHAMELEON_UPLO, N, AF, LDAF, INFO ) * * Return if INFO is non-zero. * @@ -389,7 +389,7 @@ * Compute the solution matrix X. * CALL SLACPY( 'Full', N, NRHS, B, LDB, X, LDX ) - CALL MORSE_SPOTRS( MORSE_UPLO, N, NRHS, AF, LDAF, X, LDX, INFO ) + CALL CHAMELEON_SPOTRS( CHAMELEON_UPLO, N, NRHS, AF, LDAF, X, LDX, INFO ) * * Use iterative refinement to improve the computed solution and * compute error bounds and backward error estimates for it. diff --git a/testing/lin/sqrt01.f b/testing/lin/sqrt01.f index 2d46b21b44e52764e91f51e29e30ca379c59c96a..8ad7ce8bf26825e82e7181f1f3646406a4f9958b 100644 --- a/testing/lin/sqrt01.f +++ b/testing/lin/sqrt01.f @@ -38,7 +38,7 @@ SUBROUTINE SQRT01( M, N, A, AF, Q, R, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -144,7 +144,7 @@ * Factorize the matrix A in the array AF. * SRNAMT = 'SGEQRF' - CALL MORSE_SGEQRF( M, N, AF, LDA, T, INFO ) + CALL CHAMELEON_SGEQRF( M, N, AF, LDA, T, INFO ) * * Copy details of Q * @@ -153,7 +153,7 @@ * Generate the m-by-m matrix Q * SRNAMT = 'SORGQR' - CALL MORSE_SORGQR( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_SORGQR( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) * * Copy R * diff --git a/testing/lin/sqrt02.f b/testing/lin/sqrt02.f index 66b5df98bbfc9b37e263e25875051654f48fbe77..2e7a4c1131ca74b59656b68a64a01ba3010b2284 100644 --- a/testing/lin/sqrt02.f +++ b/testing/lin/sqrt02.f @@ -38,7 +38,7 @@ SUBROUTINE SQRT02( M, N, K, A, AF, Q, R, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -149,7 +149,7 @@ * Generate the first n columns of the matrix Q * SRNAMT = 'SORGQR' - CALL MORSE_SORGQR( M, N, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_SORGQR( M, N, K, AF, LDA, T, Q, LDA, INFO ) * * Copy R(1:n,1:k) * diff --git a/testing/lin/sqrt03.f b/testing/lin/sqrt03.f index 31bd0d3e8c3830dcb5e84acf9c545d22267756da..2b24311053848d633fc9869a733e040ae8040c65 100644 --- a/testing/lin/sqrt03.f +++ b/testing/lin/sqrt03.f @@ -38,7 +38,7 @@ SUBROUTINE SQRT03( M, N, K, AF, C, CC, Q, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -123,7 +123,7 @@ * .. Local Scalars .. CHARACTER SIDE, TRANS INTEGER INFO, ISIDE, ITRANS, J, MC, NC - INTEGER MORSE_SIDE, MORSE_TRANS + INTEGER CHAMELEON_SIDE, CHAMELEON_TRANS REAL CNORM, EPS, RESID * .. * .. External Functions .. @@ -165,17 +165,17 @@ * Generate the m-by-m matrix Q * SRNAMT = 'SORGQR' - CALL MORSE_SORGQR( M, M, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_SORGQR( M, M, K, AF, LDA, T, Q, LDA, INFO ) * DO 30 ISIDE = 1, 2 IF( ISIDE.EQ.1 ) THEN SIDE = 'L' - MORSE_SIDE = MORSELEFT + CHAMELEON_SIDE = CHAMELEONLEFT MC = M NC = N ELSE SIDE = 'R' - MORSE_SIDE = MORSERIGHT + CHAMELEON_SIDE = CHAMELEONRIGHT MC = N NC = M END IF @@ -192,10 +192,10 @@ DO 20 ITRANS = 1, 2 IF( ITRANS.EQ.1 ) THEN TRANS = 'N' - MORSE_TRANS = MORSENOTRANS + CHAMELEON_TRANS = CHAMELEONNOTRANS ELSE TRANS = 'T' - MORSE_TRANS = MORSETRANS + CHAMELEON_TRANS = CHAMELEONTRANS END IF * * Copy C @@ -205,7 +205,7 @@ * Apply Q or Q' to C * SRNAMT = 'SORMQR' - CALL MORSE_SORMQR( MORSE_SIDE, MORSE_TRANS, MC, NC, K, + CALL CHAMELEON_SORMQR( CHAMELEON_SIDE, CHAMELEON_TRANS, MC, NC, K, $ AF, LDA, T, CC, LDA, INFO ) * * Form explicit product and subtract diff --git a/testing/lin/stest.in b/testing/lin/stest.in index 7efcddfc83bcd09681cbdfe194aa85f93d241bbd..a5b1ded805fdd64620c8ce4c5a6213391b23c644 100644 --- a/testing/lin/stest.in +++ b/testing/lin/stest.in @@ -1,4 +1,4 @@ -Data file for testing REAL MORSE linear eqn. routines +Data file for testing REAL CHAMELEON linear eqn. routines 1 Number of values of NP 2 Values of NP (number of cores) 0 Values of SCHED (0: Static, 1:Dynamic) @@ -15,7 +15,7 @@ Data file for testing REAL MORSE linear eqn. routines 3 Number of values of RANK 30 50 90 Values of rank (as a % of N) 60.0 Threshold value of test ratio -T Put T to test the MORSE routines +T Put T to test the CHAMELEON routines T Put T to test the driver routines T Put T to test the error exits SGE 11 List types on next line if 0 < NTYPES < 11 diff --git a/testing/lin/stestdyn.in b/testing/lin/stestdyn.in index 32e22b443aa60f1b56fcfbdfb9c46cdc18171c11..6ce7b98a9325a597cca845504b4ebd90502d184c 100644 --- a/testing/lin/stestdyn.in +++ b/testing/lin/stestdyn.in @@ -1,4 +1,4 @@ -Data file for testing REAL MORSE linear eqn. routines +Data file for testing REAL CHAMELEON linear eqn. routines 1 Number of values of NP 2 Values of NP (number of cores) 1 Values of SCHED (0: Static, 1:Dynamic) @@ -15,7 +15,7 @@ Data file for testing REAL MORSE linear eqn. routines 3 Number of values of RANK 30 50 90 Values of rank (as a % of N) 60.0 Threshold value of test ratio -T Put T to test the MORSE routines +T Put T to test the CHAMELEON routines T Put T to test the driver routines T Put T to test the error exits SGE 11 List types on next line if 0 < NTYPES < 11 diff --git a/testing/lin/xlaenv.f b/testing/lin/xlaenv.f index 95a0c3e6df6bceb3673f320055dbda65d7ef4e85..30472e03ab7813ad3e0d5c1e504678fde0dfcf9a 100644 --- a/testing/lin/xlaenv.f +++ b/testing/lin/xlaenv.f @@ -67,7 +67,7 @@ * eigenvalue routines * = 5: the minimum column dimension for blocking to be used; * rectangular blocks must have dimension at least k by m, -* where k is given by ILAENV(2,...) and m by MORSE_ +* where k is given by ILAENV(2,...) and m by CHAMELEON_ * ILAENV(5,...) * = 6: the crossover point for the SVD (when reducing an m by n * matrix to bidiagonal form, if max(m,n)/min(m,n) exceeds diff --git a/testing/lin/zchkaa.f b/testing/lin/zchkaa.f index 6722f6af1985b2ff5c87022ac416b37c76bcb1f4..0e83f48661d53d255eed31f3e799a92e2f2d094f 100644 --- a/testing/lin/zchkaa.f +++ b/testing/lin/zchkaa.f @@ -37,9 +37,9 @@ PROGRAM ZCHKAA * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * -* -- MORSE test routine (From LAPACK version 3.1.1) -- +* -- CHAMELEON test routine (From LAPACK version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. * January 2007 * @@ -51,11 +51,11 @@ * * The program must be driven by a short data file. The first 14 records * specify problem dimensions and program options using list-directed -* input. The remaining lines specify the MORSE test paths and the +* input. The remaining lines specify the CHAMELEON test paths and the * number of matrix types to use in testing. An annotated example of a * data file can be obtained by deleting the first 3 characters from the * following 38 lines: -* Data file for testing COMPLEX*16 MORSE linear equation routines +* Data file for testing COMPLEX*16 CHAMELEON linear equation routines * 1 Number of values of NP * 16 Values of NP (number of cores) * 1 Values of SCHED (0: STATIC, 1:DYNAMIC) @@ -71,7 +71,7 @@ * 3 Number of values of RANK * 30 50 90 Values of rank (as a % of N) * 30.0 Threshold value of test ratio -* T Put T to test the MORSE routines +* T Put T to test the CHAMELEON routines * T Put T to test the driver routines * T Put T to test the error exits * ZGE 11 List types on next line if 0 < NTYPES < 11 @@ -196,7 +196,7 @@ * * Report values of parameters. * - CALL MORSE_VERSION( VERS_MAJOR, VERS_MINOR, VERS_PATCH, INFO) + CALL CHAMELEON_VERSION( VERS_MAJOR, VERS_MINOR, VERS_PATCH, INFO) WRITE( NOUT, FMT = 9994 ) VERS_MAJOR, VERS_MINOR, VERS_PATCH * * @@ -403,7 +403,7 @@ READ( NIN, FMT = * )THRESH WRITE( NOUT, FMT = 9992 )THRESH * -* Read the flag that indicates whether to test the MORSE routines. +* Read the flag that indicates whether to test the CHAMELEON routines. * READ( NIN, FMT = * )TSTCHK * @@ -431,19 +431,19 @@ WRITE( NOUT, FMT = * ) NRHS = NSVAL( 1 ) * -* Initialize MORSE +* Initialize CHAMELEON * - CALL MORSE_INIT( NPVAL(NNP), INFO ) + CALL CHAMELEON_INIT( NPVAL(NNP), INFO ) * IF( SCHED .EQ. 1 ) THEN - CALL MORSE_SET(MORSE_SCHEDULING_MODE, - $ MORSE_DYNAMIC_SCHEDULING, INFO ) + CALL CHAMELEON_SET(CHAMELEON_SCHEDULING_MODE, + $ CHAMELEON_DYNAMIC_SCHEDULING, INFO ) ELSE - CALL MORSE_SET(MORSE_SCHEDULING_MODE, - $ MORSE_STATIC_SCHEDULING, INFO ) + CALL CHAMELEON_SET(CHAMELEON_SCHEDULING_MODE, + $ CHAMELEON_STATIC_SCHEDULING, INFO ) ENDIF * - CALL MORSE_DISABLE( MORSE_AUTOTUNING, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_AUTOTUNING, INFO ) * * 80 CONTINUE @@ -606,9 +606,9 @@ 140 CONTINUE CLOSE ( NIN ) * -* Finalize MORSE +* Finalize CHAMELEON * - CALL MORSE_FINALIZE( INFO ) + CALL CHAMELEON_FINALIZE( INFO ) * S2 = DSECND( ) WRITE( NOUT, FMT = 9998 ) * WRITE( NOUT, FMT = 9997 )S2 - S1 @@ -620,8 +620,8 @@ $ I6 ) 9995 FORMAT( ' Invalid input value: ', A4, '=', I6, '; must be <=', $ I6 ) - 9994 FORMAT( ' Tests of the COMPLEX*16 MORSE routines ', - $ / ' MORSE VERSION ', I1, '.', I1, '.', I1, + 9994 FORMAT( ' Tests of the COMPLEX*16 CHAMELEON routines ', + $ / ' CHAMELEON VERSION ', I1, '.', I1, '.', I1, $ / / ' The following parameter values will be used:' ) 9993 FORMAT( 4X, A4, ': ', 10I6, / 11X, 10I6 ) 9992 FORMAT( / ' Routines pass computational tests if test ratio is ', diff --git a/testing/lin/zchkge.f b/testing/lin/zchkge.f index bea82cddbed3209c565cd13a25a474c2deb10596..1e928eccb72efd6b176e2a7272f5bb20655b858f 100644 --- a/testing/lin/zchkge.f +++ b/testing/lin/zchkge.f @@ -40,7 +40,7 @@ $ AINV, B, X, XACT, WORK, RWORK, IWORK, $ NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -159,14 +159,14 @@ INTEGER I, IM, IMAT, IN, INB, INFO, IOFF, IRHS, ITRAN, $ IZERO, K, KL, KU, LDA, LWORK, M, MODE, N, NB, $ NERRS, NFAIL, NIMAT, NRHS, NRUN, NT, IB, - $ MORSE_TRANS + $ CHAMELEON_TRANS DOUBLE PRECISION AINVNM, ANORM, ANORMI, ANORMO, CNDNUM, DUMMY, $ RCOND, RCONDC, RCONDI, RCONDO INTEGER HL( 2 ), HPIV( 2 ) * .. * .. Local Arrays .. CHARACTER TRANSS( NTRAN ) - INTEGER ISEED( 4 ), ISEEDY( 4 ), MORSE_TRANSS( NTRAN ) + INTEGER ISEED( 4 ), ISEEDY( 4 ), CHAMELEON_TRANSS( NTRAN ) DOUBLE PRECISION RESULT( NTESTS ) * .. * .. External Functions .. @@ -195,7 +195,7 @@ DATA ISEEDY / 1988, 1989, 1990, 1991 / , * $ TRANSS / 'N', 'T', 'C' / $ TRANSS / 'N' / - $ MORSE_TRANSS / MORSENOTRANS / + $ CHAMELEON_TRANSS / CHAMELEONNOTRANS / * .. * .. Executable Statements .. * @@ -306,21 +306,21 @@ IF ( (MAX(M, N) / 25) .GT. NB ) THEN GOTO 90 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO ) * * ALLOCATE HL and HPIV * -c$$$ CALL MORSE_ALLOC_WORKSPACE_ZGETRF_INCPIV( +c$$$ CALL CHAMELEON_ALLOC_WORKSPACE_ZGETRF_INCPIV( c$$$ $ M, N, HL, HPIV, INFO ) * * Compute the LU factorization of the matrix. * CALL ZLACPY( 'Full', M, N, A, LDA, AFAC, LDA ) SRNAMT = 'ZGETRF' -c$$$ CALL MORSE_ZGETRF_INCPIV( M, N, AFAC, LDA, HL, HPIV, +c$$$ CALL CHAMELEON_ZGETRF_INCPIV( M, N, AFAC, LDA, HL, HPIV, c$$$ $ INFO ) - CALL MORSE_ZGETRF( M, N, AFAC, LDA, IWORK, + CALL CHAMELEON_ZGETRF( M, N, AFAC, LDA, IWORK, $ INFO ) * * Check error code from ZGETRF. @@ -372,7 +372,7 @@ c$$$ $ INFO ) * DO 50 ITRAN = 1, NTRAN TRANS = TRANSS( ITRAN ) - MORSE_TRANS = MORSE_TRANSS( ITRAN ) + CHAMELEON_TRANS = CHAMELEON_TRANSS( ITRAN ) IF( ITRAN.EQ.1 ) THEN RCONDC = RCONDO ELSE @@ -390,10 +390,10 @@ c$$$ $ INFO ) * CALL ZLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) SRNAMT = 'ZGETRS' -c$$$ CALL MORSE_ZGETRS_INCPIV( MORSE_TRANS, N, +c$$$ CALL CHAMELEON_ZGETRS_INCPIV( CHAMELEON_TRANS, N, c$$$ $ NRHS, AFAC, LDA, HL, HPIV, c$$$ $ X, LDA, INFO ) - CALL MORSE_ZGETRS( MORSE_TRANS, N, + CALL CHAMELEON_ZGETRS( CHAMELEON_TRANS, N, $ NRHS, AFAC, LDA, IWORK, $ X, LDA, INFO ) * @@ -435,8 +435,8 @@ c$$$ $ X, LDA, INFO ) * * DEALLOCATE HL and HPIV * -c$$$ CALL MORSE_DEALLOC_HANDLE( HL, INFO ) -c$$$ CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) 90 CONTINUE 100 CONTINUE * diff --git a/testing/lin/zchklq.f b/testing/lin/zchklq.f index 747d021e452fb4e730fabadddd36ca0fbbac428c..02b2e261afab6775b3b4921adce0c6c1e57f986c 100644 --- a/testing/lin/zchklq.f +++ b/testing/lin/zchklq.f @@ -40,7 +40,7 @@ $ AL, AC, B, X, XACT, TAU, WORK, RWORK, IWORK, $ NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -270,12 +270,12 @@ * DO 45 IRH = 0, 1 IF (IRH .EQ. 0) THEN - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_FLAT_HOUSEHOLDER, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamFlatHouseholder, INFO ) ELSE - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_TREE_HOUSEHOLDER, INFO ) - CALL MORSE_SET(MORSE_HOUSEHOLDER_SIZE, + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamTreeHouseholder, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_SIZE, $ RHBLK, INFO) END IF * @@ -295,12 +295,12 @@ IF ( (MAX(M, N) / 10) .GT. NB ) THEN GOTO 30 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO) * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_ZGELQF( M, N, HT, + CALL CHAMELEON_ALLOC_WORKSPACE_ZGELQF( M, N, HT, $ INFO ) * DO I = 1, NTESTS @@ -354,7 +354,7 @@ CALL ZLACPY( 'Full', M, NRHS, B, LDA, X, $ LDA ) SRNAMT = 'ZGELQS' - CALL MORSE_ZGELQS( M, N, NRHS, AF, LDA, HT, + CALL CHAMELEON_ZGELQS( M, N, NRHS, AF, LDA, HT, $ X, LDA, INFO ) * * Check error code from ZGELQS. @@ -394,7 +394,7 @@ * * Deallocate T * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) 30 CONTINUE 40 CONTINUE 45 CONTINUE diff --git a/testing/lin/zchkpo.f b/testing/lin/zchkpo.f index effaa03850dc077840667804c12b6015a81ad3b7..f5e9d67d76c30975d67c7ac28e634d8e42187fc4 100644 --- a/testing/lin/zchkpo.f +++ b/testing/lin/zchkpo.f @@ -39,7 +39,7 @@ $ THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, $ XACT, WORK, RWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -139,12 +139,12 @@ CHARACTER*3 PATH INTEGER I, IMAT, IN, INB, INFO, IOFF, IRHS, IUPLO, $ IZERO, K, KL, KU, LDA, MODE, N, NB, NERRS, - $ NFAIL, NIMAT, NRHS, NRUN, MORSE_UPLO + $ NFAIL, NIMAT, NRHS, NRUN, CHAMELEON_UPLO DOUBLE PRECISION ANORM, CNDNUM, RCOND, RCONDC * .. * .. Local Arrays .. CHARACTER UPLOS( 2 ) - INTEGER MORSE_UPLOS( 2 ) + INTEGER CHAMELEON_UPLOS( 2 ) INTEGER ISEED( 4 ), ISEEDY( 4 ) DOUBLE PRECISION RESULT( NTESTS ) * .. @@ -173,7 +173,7 @@ * .. Data statements .. DATA ISEEDY / 1988, 1989, 1990, 1991 / DATA UPLOS / 'U', 'L' / - DATA MORSE_UPLOS / MORSEUPPER, MORSELOWER / + DATA CHAMELEON_UPLOS / CHAMELEONUPPER, CHAMELEONLOWER / * .. * .. Executable Statements .. * @@ -222,7 +222,7 @@ * DO 100 IUPLO = 1, 2 UPLO = UPLOS( IUPLO ) - MORSE_UPLO = MORSE_UPLOS( IUPLO ) + CHAMELEON_UPLO = CHAMELEON_UPLOS( IUPLO ) * * Set up parameters with ZLATB4 and generate a test matrix * with ZLATMS. @@ -294,13 +294,13 @@ IF ( (N / 25) .GT. NB ) THEN GOTO 90 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) * * Compute the L*L' or U'*U factorization of the matrix. * CALL ZLACPY( UPLO, N, N, A, LDA, AFAC, LDA ) SRNAMT = 'ZPOTRF' - CALL MORSE_ZPOTRF( MORSE_UPLO, N, AFAC, LDA, INFO ) + CALL CHAMELEON_ZPOTRF( CHAMELEON_UPLO, N, AFAC, LDA, INFO ) * * Check error code from ZPOTRF. * @@ -328,7 +328,7 @@ * CALL ZLACPY( UPLO, N, N, AFAC, LDA, AINV, LDA ) SRNAMT = 'ZPOTRI' - CALL MORSE_ZPOTRI( MORSE_UPLO, N, AINV, LDA, + CALL CHAMELEON_ZPOTRI( CHAMELEON_UPLO, N, AINV, LDA, $ INFO ) * * Check error code from ZPOTRI. @@ -373,7 +373,7 @@ CALL ZLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) * SRNAMT = 'ZPOTRS' - CALL MORSE_ZPOTRS( MORSE_UPLO, N, NRHS, AFAC, + CALL CHAMELEON_ZPOTRS( CHAMELEON_UPLO, N, NRHS, AFAC, $ LDA, X, LDA, INFO ) * * Check error code from ZPOTRS. diff --git a/testing/lin/zchkqr.f b/testing/lin/zchkqr.f index dceeeae06c0688cb011a0737fb80f978e3910a62..bb5f4daa26845b5c3f453cbca8291b031812b8dc 100644 --- a/testing/lin/zchkqr.f +++ b/testing/lin/zchkqr.f @@ -40,7 +40,7 @@ $ AR, AC, B, X, XACT, TAU, WORK, RWORK, IWORK, $ NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -270,12 +270,12 @@ * DO 45 IRH = 0, 1 IF (IRH .EQ. 0) THEN - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_FLAT_HOUSEHOLDER, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamFlatHouseholder, INFO ) ELSE - CALL MORSE_SET(MORSE_HOUSEHOLDER_MODE, - $ MORSE_TREE_HOUSEHOLDER, INFO ) - CALL MORSE_SET(MORSE_HOUSEHOLDER_SIZE, + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_MODE, + $ ChamTreeHouseholder, INFO ) + CALL CHAMELEON_SET(CHAMELEON_HOUSEHOLDER_SIZE, $ RHBLK, INFO) END IF * @@ -295,12 +295,12 @@ IF ( (MAX(M, N) / 10) .GT. NB ) THEN GOTO 30 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO) * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_ZGEQRF( M, N, HT, + CALL CHAMELEON_ALLOC_WORKSPACE_ZGEQRF( M, N, HT, $ INFO ) * DO I = 1, NTESTS @@ -351,7 +351,7 @@ CALL ZLACPY( 'Full', M, NRHS, B, LDA, X, $ LDA ) SRNAMT = 'ZGEQRS' - CALL MORSE_ZGEQRS( M, N, NRHS, AF, LDA, HT, + CALL CHAMELEON_ZGEQRS( M, N, NRHS, AF, LDA, HT, $ X, LDA, INFO ) * * Check error code from ZGEQRS. @@ -384,7 +384,7 @@ * * Deallocate T * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) 30 CONTINUE 40 CONTINUE 45 CONTINUE diff --git a/testing/lin/zdrvge.f b/testing/lin/zdrvge.f index d386f2e4b5198beca33f4a0750f432bc46d9d7b5..bf9c5781e71fa75e3abe05c8528f4393e2c06bd0 100644 --- a/testing/lin/zdrvge.f +++ b/testing/lin/zdrvge.f @@ -39,7 +39,7 @@ $ A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, $ RWORK, IWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -135,7 +135,7 @@ LOGICAL EQUIL, NOFACT, PREFAC, TRFCON, ZEROT CHARACTER DIST, EQUED, FACT, TRANS, TYPE, XTYPE CHARACTER*3 PATH - INTEGER HL( 2 ), HPIV( 2 ), IB, MORSE_TRANS + INTEGER HL( 2 ), HPIV( 2 ), IB, CHAMELEON_TRANS INTEGER I, IEQUED, IFACT, IMAT, IN, INFO, IOFF, ITRAN, $ IZERO, K, K1, KL, KU, LDA, LWORK, MODE, N, NB, $ NBMIN, NERRS, NFACT, NFAIL, NIMAT, NRUN, NT @@ -145,7 +145,7 @@ * .. * .. Local Arrays .. CHARACTER EQUEDS( 4 ), FACTS( 3 ), TRANSS( NTRAN ) - INTEGER ISEED( 4 ), ISEEDY( 4 ), MORSE_TRANSS( NTRAN) + INTEGER ISEED( 4 ), ISEEDY( 4 ), CHAMELEON_TRANSS( NTRAN) DOUBLE PRECISION RDUM( 1 ), RESULT( NTESTS ) * .. * .. External Functions .. @@ -175,7 +175,7 @@ DATA ISEEDY / 1988, 1989, 1990, 1991 / * DATA TRANSS / 'N', 'T', 'C' / DATA TRANSS / 'N' / - DATA MORSE_TRANSS / MORSENOTRANS / + DATA CHAMELEON_TRANSS / CHAMELEONNOTRANS / DATA FACTS / 'F', 'N', 'E' / DATA EQUEDS / 'N', 'R', 'C', 'B' / * .. @@ -207,8 +207,8 @@ NBMIN = 32 CALL XLAENV( 1, NB ) CALL XLAENV( 2, NBMIN ) - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, INFO ) * * Do for each value of N in NVAL * @@ -222,7 +222,7 @@ * * ALLOCATE L and IPIV * -c$$$ CALL MORSE_ALLOC_WORKSPACE_ZGETRF_INCPIV( +c$$$ CALL CHAMELEON_ALLOC_WORKSPACE_ZGETRF_INCPIV( c$$$ $ N, N, HL, HPIV, INFO ) * * @@ -356,9 +356,9 @@ c$$$ $ N, N, HL, HPIV, INFO ) * * Factor the matrix A. * -c$$$ CALL MORSE_ZGETRF_INCPIV( N, N, AFAC, LDA, +c$$$ CALL CHAMELEON_ZGETRF_INCPIV( N, N, AFAC, LDA, c$$$ $ HL, HPIV, INFO ) - CALL MORSE_ZGETRF( N, N, AFAC, LDA, + CALL CHAMELEON_ZGETRF( N, N, AFAC, LDA, $ IWORK, INFO ) * END IF @@ -368,7 +368,7 @@ c$$$ $ HL, HPIV, INFO ) * Do for each value of TRANS. * TRANS = TRANSS( ITRAN ) - MORSE_TRANS = MORSE_TRANSS( ITRAN ) + CHAMELEON_TRANS = CHAMELEON_TRANSS( ITRAN ) IF( ITRAN.EQ.1 ) THEN RCONDC = RCONDO ELSE @@ -399,9 +399,9 @@ c$$$ $ HL, HPIV, INFO ) CALL ZLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) * SRNAMT = 'ZGESV ' -c$$$ CALL MORSE_ZGESV_INCPIV( N, NRHS, AFAC, LDA, +c$$$ CALL CHAMELEON_ZGESV_INCPIV( N, NRHS, AFAC, LDA, c$$$ $ HL, HPIV, X, LDA, INFO ) - CALL MORSE_ZGESV( N, NRHS, AFAC, LDA, + CALL CHAMELEON_ZGESV( N, NRHS, AFAC, LDA, $ IWORK, X, LDA, INFO ) * * Check error code from ZGESV . @@ -450,8 +450,8 @@ c$$$ $ HL, HPIV, X, LDA, INFO ) * * DEALLOCATE HL and HPIV * -c$$$ CALL MORSE_DEALLOC_HANDLE( HL, INFO ) -c$$$ CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) +c$$$ CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) 90 CONTINUE * * Print a summary of the results. diff --git a/testing/lin/zdrvls.f b/testing/lin/zdrvls.f index c2c3b1220973a501fc1cbba902e03449325e4d49..71969749566b4c007cbe1daf78cffd6e29c89be5 100644 --- a/testing/lin/zdrvls.f +++ b/testing/lin/zdrvls.f @@ -40,7 +40,7 @@ $ B, COPYB, C, S, COPYS, WORK, RWORK, IWORK, $ NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -173,7 +173,7 @@ $ ISCALE, ITRAN, ITYPE, J, K, LDA, LDB, LDWORK, $ LWLSY, LWORK, M, MNMIN, N, NB, NCOLS, NERRS, $ NFAIL, NRHS, NROWS, NRUN, RANK, IB, - $ MORSE_TRANS + $ CHAMELEON_TRANS INTEGER HT( 2 ) DOUBLE PRECISION EPS, NORMA, NORMB, RCOND * .. @@ -272,25 +272,25 @@ IF ( (MAX(M, N) / 25) .GT. NB ) THEN GOTO 40 END IF - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) - CALL MORSE_SET( MORSE_INNER_BLOCK_SIZE, IB, + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_INNER_BLOCK_SIZE, IB, $ INFO ) * * Allocate T * - CALL MORSE_ALLOC_WORKSPACE_ZGELS( M, N , HT, + CALL CHAMELEON_ALLOC_WORKSPACE_ZGELS( M, N , HT, $ INFO ) * * DO 30 ITRAN = 1, 2 DO 30 ITRAN = 1, 1 IF( ITRAN.EQ.1 ) THEN TRANS = 'N' - MORSE_TRANS = MORSENOTRANS + CHAMELEON_TRANS = CHAMELEONNOTRANS NROWS = M NCOLS = N ELSE TRANS = 'C' - MORSE_TRANS = MORSECONJTRANS + CHAMELEON_TRANS = CHAMELEONCONJTRANS NROWS = N NCOLS = M END IF @@ -320,7 +320,7 @@ $ COPYB, LDB, B, LDB ) END IF SRNAMT = 'ZGELS ' - CALL MORSE_ZGELS( MORSE_TRANS, + CALL CHAMELEON_ZGELS( CHAMELEON_TRANS, $ M, N, NRHS, $ A, LDA, HT, B, LDB, $ INFO ) @@ -377,7 +377,7 @@ * * Deallocate T * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) 40 CONTINUE END IF * diff --git a/testing/lin/zdrvpo.f b/testing/lin/zdrvpo.f index 747f45e1a4f29ba3e4d4b735f16e4cede4e6fcbe..89792a4f4f8ece427f119a1c6b6d84251a56b627 100644 --- a/testing/lin/zdrvpo.f +++ b/testing/lin/zdrvpo.f @@ -39,7 +39,7 @@ $ A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, $ RWORK, NOUT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -134,13 +134,13 @@ INTEGER I, IEQUED, IFACT, IMAT, IN, INFO, IOFF, IUPLO, $ IZERO, K, K1, KL, KU, LDA, MODE, N, NB, NBMIN, $ NERRS, NFACT, NFAIL, NIMAT, NRUN, NT, - $ MORSE_UPLO + $ CHAMELEON_UPLO DOUBLE PRECISION AINVNM, AMAX, ANORM, CNDNUM, RCOND, RCONDC, $ ROLDC, SCOND * .. * .. Local Arrays .. CHARACTER EQUEDS( 2 ), FACTS( 3 ), UPLOS( 2 ) - INTEGER ISEED( 4 ), ISEEDY( 4 ), MORSE_UPLOS( 2 ) + INTEGER ISEED( 4 ), ISEEDY( 4 ), CHAMELEON_UPLOS( 2 ) DOUBLE PRECISION RESULT( NTESTS ) * .. * .. External Functions .. @@ -169,7 +169,7 @@ * .. Data statements .. DATA ISEEDY / 1988, 1989, 1990, 1991 / DATA UPLOS / 'U', 'L' / - DATA MORSE_UPLOS / MORSEUPPER, MORSELOWER / + DATA CHAMELEON_UPLOS / CHAMELEONUPPER, CHAMELEONLOWER / DATA FACTS / 'F', 'N', 'E' / DATA EQUEDS / 'N', 'Y' / * .. @@ -198,7 +198,7 @@ NBMIN = 32 CALL XLAENV( 1, NB ) CALL XLAENV( 2, NBMIN ) - CALL MORSE_SET( MORSE_TILE_SIZE, NB, INFO ) + CALL CHAMELEON_SET( CHAMELEON_TILE_SIZE, NB, INFO ) * * Do for each value of N in NVAL * @@ -227,7 +227,7 @@ * DO 110 IUPLO = 1, 2 UPLO = UPLOS( IUPLO ) - MORSE_UPLO = MORSE_UPLOS( IUPLO ) + CHAMELEON_UPLO = CHAMELEON_UPLOS( IUPLO ) * * Set up parameters with ZLATB4 and generate a test matrix * with ZLATMS. @@ -352,13 +352,13 @@ * * Factor the matrix A. * - CALL MORSE_ZPOTRF( MORSE_UPLO, N, + CALL CHAMELEON_ZPOTRF( CHAMELEON_UPLO, N, $ AFAC, LDA, INFO ) * * Form the inverse of A. * CALL ZLACPY( UPLO, N, N, AFAC, LDA, A, LDA ) - CALL MORSE_ZPOTRI( MORSE_UPLO, N, A, LDA, + CALL CHAMELEON_ZPOTRI( CHAMELEON_UPLO, N, A, LDA, $ INFO ) * * Compute the 1-norm condition number of A. @@ -395,7 +395,7 @@ CALL ZLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) * SRNAMT = 'ZPOSV ' - CALL MORSE_ZPOSV( MORSE_UPLO, N, NRHS, + CALL CHAMELEON_ZPOSV( CHAMELEON_UPLO, N, NRHS, $ AFAC, LDA, X, LDA, INFO ) * * Check error code from ZPOSV . diff --git a/testing/lin/zerrge.f b/testing/lin/zerrge.f index da07bf1e9dc191d4a58af47dffc2995a13afc725..fc1b5e180c927168635b6857ab54d1f0288605b0 100644 --- a/testing/lin/zerrge.f +++ b/testing/lin/zerrge.f @@ -37,7 +37,7 @@ SUBROUTINE ZERRGE( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -108,10 +108,10 @@ WRITE( NOUT, FMT = * ) C2 = PATH( 2: 3 ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -141,86 +141,86 @@ * * ALLOCATE L and IPIV * - CALL MORSE_ALLOC_WORKSPACE_ZGETRF_INCPIV( + CALL CHAMELEON_ALLOC_WORKSPACE_ZGETRF_INCPIV( $ 2, 1, HL, HPIV, INFO ) * * ZGETRF * SRNAMT = 'ZGETRF' INFOT = 1 - CALL MORSE_ZGETRF_INCPIV( -1, 0, A, 1, HL, HPIV, INFO ) + CALL CHAMELEON_ZGETRF_INCPIV( -1, 0, A, 1, HL, HPIV, INFO ) CALL CHKXER( 'ZGETRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGETRF_INCPIV( 0, -1, A, 1, HL, HPIV, INFO ) + CALL CHAMELEON_ZGETRF_INCPIV( 0, -1, A, 1, HL, HPIV, INFO ) CALL CHKXER( 'ZGETRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_ZGETRF_INCPIV( 2, 1, A, 1, HL, HPIV, INFO ) + CALL CHAMELEON_ZGETRF_INCPIV( 2, 1, A, 1, HL, HPIV, INFO ) CALL CHKXER( 'ZGETRF', INFOT, NOUT, INFO, OK ) * * ZGETRS * SRNAMT = 'ZGETRS' INFOT = 103 - CALL MORSE_ZGETRS_INCPIV( '/', -1, 0, A, 1, HL, HPIV, + CALL CHAMELEON_ZGETRS_INCPIV( '/', -1, 0, A, 1, HL, HPIV, $ B, 1, INFO ) CALL CHKXER( 'ZGETRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGETRS_INCPIV( MORSENOTRANS, -1, 0, A, 1, HL, + CALL CHAMELEON_ZGETRS_INCPIV( CHAMELEONNOTRANS, -1, 0, A, 1, HL, $ HPIV, B, 1, INFO ) CALL CHKXER( 'ZGETRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZGETRS_INCPIV( MORSENOTRANS, 0, -1, A, 1, HL, + CALL CHAMELEON_ZGETRS_INCPIV( CHAMELEONNOTRANS, 0, -1, A, 1, HL, $ HPIV, B, 1, INFO ) CALL CHKXER( 'ZGETRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_ZGETRS_INCPIV( MORSENOTRANS, 2, 1, A, 1, HL, + CALL CHAMELEON_ZGETRS_INCPIV( CHAMELEONNOTRANS, 2, 1, A, 1, HL, $ HPIV, B, 2, INFO ) CALL CHKXER( 'ZGETRS', INFOT, NOUT, INFO, OK ) INFOT = 9 - CALL MORSE_ZGETRS_INCPIV( MORSENOTRANS, 2, 1, A, 2, HL, + CALL CHAMELEON_ZGETRS_INCPIV( CHAMELEONNOTRANS, 2, 1, A, 2, HL, $ HPIV, B, 1, INFO ) CALL CHKXER( 'ZGETRS', INFOT, NOUT, INFO, OK ) * * DEALLOCATE L and IPIV * - CALL MORSE_DEALLOC_HANDLE( HL, INFO ) - CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) * * LAPACK Interface * ZGETRF * SRNAMT = 'ZGETRF' INFOT = 1 - CALL MORSE_ZGETRF( -1, 0, A, 1, IP, INFO ) + CALL CHAMELEON_ZGETRF( -1, 0, A, 1, IP, INFO ) CALL CHKXER( 'ZGETRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGETRF( 0, -1, A, 1, IP, INFO ) + CALL CHAMELEON_ZGETRF( 0, -1, A, 1, IP, INFO ) CALL CHKXER( 'ZGETRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_ZGETRF( 2, 1, A, 1, IP, INFO ) + CALL CHAMELEON_ZGETRF( 2, 1, A, 1, IP, INFO ) CALL CHKXER( 'ZGETRF', INFOT, NOUT, INFO, OK ) * * ZGETRS * SRNAMT = 'ZGETRS' INFOT = 1 - CALL MORSE_ZGETRS( '/', 0, 0, A, 1, IP, + CALL CHAMELEON_ZGETRS( '/', 0, 0, A, 1, IP, $ B, 1, INFO ) CALL CHKXER( 'ZGETRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGETRS( MORSENOTRANS, -1, 0, A, 1, IP, + CALL CHAMELEON_ZGETRS( CHAMELEONNOTRANS, -1, 0, A, 1, IP, $ B, 1, INFO ) CALL CHKXER( 'ZGETRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZGETRS( MORSENOTRANS, 0, -1, A, 1, IP, + CALL CHAMELEON_ZGETRS( CHAMELEONNOTRANS, 0, -1, A, 1, IP, $ B, 1, INFO ) CALL CHKXER( 'ZGETRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_ZGETRS( MORSENOTRANS, 2, 1, A, 1, IP, + CALL CHAMELEON_ZGETRS( CHAMELEONNOTRANS, 2, 1, A, 1, IP, $ B, 2, INFO ) CALL CHKXER( 'ZGETRS', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_ZGETRS( MORSENOTRANS, 2, 1, A, 2, IP, + CALL CHAMELEON_ZGETRS( CHAMELEONNOTRANS, 2, 1, A, 2, IP, $ B, 1, INFO ) CALL CHKXER( 'ZGETRS', INFOT, NOUT, INFO, OK ) * @@ -230,10 +230,10 @@ * CALL ALAESM( PATH, OK, NOUT ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/zerrlq.f b/testing/lin/zerrlq.f index a45c21411eaec06cb2da21f9b9053fe67c17f761..a58b69a086e8532f64dc9416e6e350d3477d6501 100644 --- a/testing/lin/zerrlq.f +++ b/testing/lin/zerrlq.f @@ -37,7 +37,7 @@ SUBROUTINE ZERRLQ( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -113,14 +113,14 @@ 20 CONTINUE OK = .TRUE. * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_ZGELQF( 2, 2, HT, INFO ) + CALL CHAMELEON_ALLOC_WORKSPACE_ZGELQF( 2, 2, HT, INFO ) * * Error exits for LQ factorization * @@ -128,105 +128,105 @@ * SRNAMT = 'ZGELQF' INFOT = 1 - CALL MORSE_ZGELQF( -1, 0, A, 1, HT, INFO ) + CALL CHAMELEON_ZGELQF( -1, 0, A, 1, HT, INFO ) CALL CHKXER( 'ZGELQF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGELQF( 0, -1, A, 1, HT, INFO ) + CALL CHAMELEON_ZGELQF( 0, -1, A, 1, HT, INFO ) CALL CHKXER( 'ZGELQF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_ZGELQF( 2, 1, A, 1, HT, INFO ) + CALL CHAMELEON_ZGELQF( 2, 1, A, 1, HT, INFO ) CALL CHKXER( 'ZGELQF', INFOT, NOUT, INFO, OK ) * -* MORSE_ZGELQS +* CHAMELEON_ZGELQS * SRNAMT = 'ZGELQS' INFOT = 1 - CALL MORSE_ZGELQS( -1, 0, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_ZGELQS( -1, 0, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'ZGELQS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGELQS( 0, -1, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_ZGELQS( 0, -1, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'ZGELQS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGELQS( 2, 1, 0, A, 2, HT, B, 1, INFO ) + CALL CHAMELEON_ZGELQS( 2, 1, 0, A, 2, HT, B, 1, INFO ) CALL CHKXER( 'ZGELQS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZGELQS( 0, 0, -1, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_ZGELQS( 0, 0, -1, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'ZGELQS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_ZGELQS( 2, 2, 0, A, 1, HT, B, 2, INFO ) + CALL CHAMELEON_ZGELQS( 2, 2, 0, A, 1, HT, B, 2, INFO ) CALL CHKXER( 'ZGELQS', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_ZGELQS( 1, 2, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_ZGELQS( 1, 2, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'ZGELQS', INFOT, NOUT, INFO, OK ) * * ZUNGLQ * SRNAMT = 'ZUNGLQ' INFOT = 1 - CALL MORSE_ZUNGLQ( -1, 0, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_ZUNGLQ( -1, 0, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'ZUNGLQ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZUNGLQ( 0, -1, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_ZUNGLQ( 0, -1, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'ZUNGLQ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZUNGLQ( 2, 1, 0, A, 2, HT, W, 1, INFO ) + CALL CHAMELEON_ZUNGLQ( 2, 1, 0, A, 2, HT, W, 1, INFO ) CALL CHKXER( 'ZUNGLQ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZUNGLQ( 0, 0, -1, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_ZUNGLQ( 0, 0, -1, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'ZUNGLQ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZUNGLQ( 1, 1, 2, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_ZUNGLQ( 1, 1, 2, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'ZUNGLQ', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_ZUNGLQ( 2, 2, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_ZUNGLQ( 2, 2, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'ZUNGLQ', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_ZUNGLQ( 2, 2, 0, A, 2, HT, W, 1, INFO ) + CALL CHAMELEON_ZUNGLQ( 2, 2, 0, A, 2, HT, W, 1, INFO ) CALL CHKXER( 'ZUNGLQ', INFOT, NOUT, INFO, OK ) * * ZUNMLQ * SRNAMT = 'ZUNMLQ' INFOT = 1 - CALL MORSE_ZUNMLQ( '/', MORSECONJTRANS, 0, 0, 0, A, 1, X, AF, 1, + CALL CHAMELEON_ZUNMLQ( '/', CHAMELEONCONJTRANS, 0, 0, 0, A, 1, X, AF, 1, $ INFO ) CALL CHKXER( 'ZUNMLQ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZUNMLQ( MORSELEFT, '/', 0, 0, 0, A, 1, X, AF, 1, + CALL CHAMELEON_ZUNMLQ( CHAMELEONLEFT, '/', 0, 0, 0, A, 1, X, AF, 1, $ INFO ) CALL CHKXER( 'ZUNMLQ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZUNMLQ( MORSELEFT, MORSECONJTRANS, -1, 0, 0, A, 1, + CALL CHAMELEON_ZUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, -1, 0, 0, A, 1, $ X, AF, 1, INFO ) CALL CHKXER( 'ZUNMLQ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_ZUNMLQ( MORSELEFT, MORSECONJTRANS, 0, -1, 0, A, 1, + CALL CHAMELEON_ZUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, 0, -1, 0, A, 1, $ X, AF, 1, INFO ) CALL CHKXER( 'ZUNMLQ', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_ZUNMLQ( MORSELEFT, MORSECONJTRANS, 0, 0, -1, A, 1, + CALL CHAMELEON_ZUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, 0, 0, -1, A, 1, $ X, AF, 1, INFO ) CALL CHKXER( 'ZUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_ZUNMLQ( MORSELEFT, MORSECONJTRANS, 0, 1, 1, A, 1, X, AF, 1, INFO ) +* CALL CHAMELEON_ZUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, 0, 1, 1, A, 1, X, AF, 1, INFO ) * CALL CHKXER( 'ZUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_ZUNMLQ( MORSERIGHT, MORSECONJTRANS, 1, 0, 1, A, 1, X, AF, 1, INFO ) +* CALL CHAMELEON_ZUNMLQ( CHAMELEONRIGHT, CHAMELEONCONJTRANS, 1, 0, 1, A, 1, X, AF, 1, INFO ) * CALL CHKXER( 'ZUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_ZUNMLQ( MORSELEFT, MORSECONJTRANS, 2, 0, 2, A, 1, X, AF, 2, INFO ) +* CALL CHAMELEON_ZUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, 2, 0, 2, A, 1, X, AF, 2, INFO ) * CALL CHKXER( 'ZUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_ZUNMLQ( MORSERIGHT, MORSECONJTRANS, 0, 2, 2, A, 1, X, AF, 1, INFO ) +* CALL CHAMELEON_ZUNMLQ( CHAMELEONRIGHT, CHAMELEONCONJTRANS, 0, 2, 2, A, 1, X, AF, 1, INFO ) * CALL CHKXER( 'ZUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 10 -* CALL MORSE_ZUNMLQ( MORSELEFT, MORSECONJTRANS, 2, 1, 0, A, 2, X, AF, 1, INFO ) +* CALL CHAMELEON_ZUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, 2, 1, 0, A, 2, X, AF, 1, INFO ) * CALL CHKXER( 'ZUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 12 -* CALL MORSE_ZUNMLQ( MORSELEFT, MORSECONJTRANS, 1, 2, 0, A, 1, X, AF, 1, INFO ) +* CALL CHAMELEON_ZUNMLQ( CHAMELEONLEFT, CHAMELEONCONJTRANS, 1, 2, 0, A, 1, X, AF, 1, INFO ) * CALL CHKXER( 'ZUNMLQ', INFOT, NOUT, INFO, OK ) * INFOT = 12 -* CALL MORSE_ZUNMLQ( MORSERIGHT, MORSECONJTRANS, 2, 1, 0, A, 1, X, AF, 2, INFO ) +* CALL CHAMELEON_ZUNMLQ( CHAMELEONRIGHT, CHAMELEONCONJTRANS, 2, 1, 0, A, 1, X, AF, 2, INFO ) * CALL CHKXER( 'ZUNMLQ', INFOT, NOUT, INFO, OK ) * * Print a summary line. @@ -236,17 +236,17 @@ * * Deallocate HT * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/zerrls.f b/testing/lin/zerrls.f index 89902ab6d1755d4522284b7273a6ef508cd7f660..d3041818a7353ea4606d9950289ff23b1169f6d0 100644 --- a/testing/lin/zerrls.f +++ b/testing/lin/zerrls.f @@ -37,7 +37,7 @@ SUBROUTINE ZERRLS( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -108,10 +108,10 @@ OK = .TRUE. WRITE( NOUT, FMT = * ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Test error exits for the least squares driver routines. * @@ -119,44 +119,44 @@ * * ZGELS * - CALL MORSE_ALLOC_WORKSPACE_ZGELS( 2, 2, HT, INFO ) + CALL CHAMELEON_ALLOC_WORKSPACE_ZGELS( 2, 2, HT, INFO ) * SRNAMT = 'ZGELS ' INFOT = 103 - CALL MORSE_ZGELS( '/', 0, 0, 0, A, 1, HT, B, 1, INFO ) + CALL CHAMELEON_ZGELS( '/', 0, 0, 0, A, 1, HT, B, 1, INFO ) CALL CHKXER( 'ZGELS ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGELS( MORSENOTRANS, -1, 0, 0, A, 1, HT, + CALL CHAMELEON_ZGELS( CHAMELEONNOTRANS, -1, 0, 0, A, 1, HT, $ B, 1, INFO ) CALL CHKXER( 'ZGELS ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZGELS( MORSENOTRANS, 0, -1, 0, A, 1, HT, + CALL CHAMELEON_ZGELS( CHAMELEONNOTRANS, 0, -1, 0, A, 1, HT, $ B, 1, INFO ) CALL CHKXER( 'ZGELS ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_ZGELS( MORSENOTRANS, 0, 0, -1, A, 1, HT, + CALL CHAMELEON_ZGELS( CHAMELEONNOTRANS, 0, 0, -1, A, 1, HT, $ B, 1, INFO ) CALL CHKXER( 'ZGELS ', INFOT, NOUT, INFO, OK ) INFOT = 6 - CALL MORSE_ZGELS( MORSENOTRANS, 2, 0, 0, A, 1, HT, + CALL CHAMELEON_ZGELS( CHAMELEONNOTRANS, 2, 0, 0, A, 1, HT, $ B, 2, INFO ) CALL CHKXER( 'ZGELS ', INFOT, NOUT, INFO, OK ) INFOT = 9 - CALL MORSE_ZGELS( MORSENOTRANS, 2, 0, 0, A, 2, HT, + CALL CHAMELEON_ZGELS( CHAMELEONNOTRANS, 2, 0, 0, A, 2, HT, $ B, 1, INFO ) CALL CHKXER( 'ZGELS ', INFOT, NOUT, INFO, OK ) * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) END IF * * Print a summary line. * CALL ALAESM( PATH, OK, NOUT ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/zerrpo.f b/testing/lin/zerrpo.f index 2ff7b8fde6faf1c61d86de834ba12fc2534eb9ac..0c5269c7c5df44998c394876c3819b9716a2b813 100644 --- a/testing/lin/zerrpo.f +++ b/testing/lin/zerrpo.f @@ -37,7 +37,7 @@ SUBROUTINE ZERRPO( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -107,10 +107,10 @@ WRITE( NOUT, FMT = * ) C2 = PATH( 2: 3 ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -139,42 +139,42 @@ * SRNAMT = 'ZPOTRF' INFOT = 1 - CALL MORSE_ZPOTRF( '/', 0, A, 1, INFO ) + CALL CHAMELEON_ZPOTRF( '/', 0, A, 1, INFO ) CALL CHKXER( 'ZPOTRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZPOTRF( MORSEUPPER, -1, A, 1, INFO ) + CALL CHAMELEON_ZPOTRF( CHAMELEONUPPER, -1, A, 1, INFO ) CALL CHKXER( 'ZPOTRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_ZPOTRF( MORSEUPPER, 2, A, 1, INFO ) + CALL CHAMELEON_ZPOTRF( CHAMELEONUPPER, 2, A, 1, INFO ) CALL CHKXER( 'ZPOTRF', INFOT, NOUT, INFO, OK ) * * ZPOTRS * SRNAMT = 'ZPOTRS' INFOT = 1 - CALL MORSE_ZPOTRS( '/', 0, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_ZPOTRS( '/', 0, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'ZPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZPOTRS( MORSEUPPER, -1, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_ZPOTRS( CHAMELEONUPPER, -1, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'ZPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZPOTRS( MORSEUPPER, 0, -1, A, 1, B, 1, INFO ) + CALL CHAMELEON_ZPOTRS( CHAMELEONUPPER, 0, -1, A, 1, B, 1, INFO ) CALL CHKXER( 'ZPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_ZPOTRS( MORSEUPPER, 2, 1, A, 1, B, 2, INFO ) + CALL CHAMELEON_ZPOTRS( CHAMELEONUPPER, 2, 1, A, 1, B, 2, INFO ) CALL CHKXER( 'ZPOTRS', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_ZPOTRS( MORSEUPPER, 2, 1, A, 2, B, 1, INFO ) + CALL CHAMELEON_ZPOTRS( CHAMELEONUPPER, 2, 1, A, 2, B, 1, INFO ) END IF * * Print a summary line. * CALL ALAESM( PATH, OK, NOUT ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/zerrqr.f b/testing/lin/zerrqr.f index 57925f0e4836ad2947111b1f68c5412dd88403e3..fd867c33dde97f873292d5962fe038ec0b38001d 100644 --- a/testing/lin/zerrqr.f +++ b/testing/lin/zerrqr.f @@ -37,7 +37,7 @@ SUBROUTINE ZERRQR( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -98,10 +98,10 @@ NOUT = NUNIT WRITE( NOUT, FMT = * ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -120,7 +120,7 @@ * * Allocate HT * - CALL MORSE_ALLOC_WORKSPACE_ZGEQRF( 2, 2, HT, INFO ) + CALL CHAMELEON_ALLOC_WORKSPACE_ZGEQRF( 2, 2, HT, INFO ) * * * Error exits for QR factorization @@ -129,107 +129,107 @@ * SRNAMT = 'ZGEQRF' INFOT = 1 - CALL MORSE_ZGEQRF( -1, 0, A, 1, HT, INFO ) + CALL CHAMELEON_ZGEQRF( -1, 0, A, 1, HT, INFO ) CALL CHKXER( 'ZGEQRF', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGEQRF( 0, -1, A, 1, HT, INFO ) + CALL CHAMELEON_ZGEQRF( 0, -1, A, 1, HT, INFO ) CALL CHKXER( 'ZGEQRF', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_ZGEQRF( 2, 1, A, 1, HT, INFO ) + CALL CHAMELEON_ZGEQRF( 2, 1, A, 1, HT, INFO ) CALL CHKXER( 'ZGEQRF', INFOT, NOUT, INFO, OK ) * * ZGEQRS * SRNAMT = 'ZGEQRS' INFOT = 1 - CALL MORSE_ZGEQRS( -1, 0, 0, A, 1, X, B, 1, INFO ) + CALL CHAMELEON_ZGEQRS( -1, 0, 0, A, 1, X, B, 1, INFO ) CALL CHKXER( 'ZGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGEQRS( 0, -1, 0, A, 1, X, B, 1, INFO ) + CALL CHAMELEON_ZGEQRS( 0, -1, 0, A, 1, X, B, 1, INFO ) CALL CHKXER( 'ZGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGEQRS( 1, 2, 0, A, 2, X, B, 2, INFO ) + CALL CHAMELEON_ZGEQRS( 1, 2, 0, A, 2, X, B, 2, INFO ) CALL CHKXER( 'ZGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZGEQRS( 0, 0, -1, A, 1, X, B, 1, INFO ) + CALL CHAMELEON_ZGEQRS( 0, 0, -1, A, 1, X, B, 1, INFO ) CALL CHKXER( 'ZGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_ZGEQRS( 2, 1, 0, A, 1, X, B, 2, INFO ) + CALL CHAMELEON_ZGEQRS( 2, 1, 0, A, 1, X, B, 2, INFO ) CALL CHKXER( 'ZGEQRS', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_ZGEQRS( 2, 1, 0, A, 2, X, B, 1, INFO ) + CALL CHAMELEON_ZGEQRS( 2, 1, 0, A, 2, X, B, 1, INFO ) CALL CHKXER( 'ZGEQRS', INFOT, NOUT, INFO, OK ) * * ZUNGQR * SRNAMT = 'ZUNGQR' INFOT = 1 - CALL MORSE_ZUNGQR( -1, 0, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_ZUNGQR( -1, 0, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'ZUNGQR', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZUNGQR( 0, -1, 0, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_ZUNGQR( 0, -1, 0, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'ZUNGQR', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZUNGQR( 1, 2, 0, A, 1, HT, W, 2, INFO ) + CALL CHAMELEON_ZUNGQR( 1, 2, 0, A, 1, HT, W, 2, INFO ) CALL CHKXER( 'ZUNGQR', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZUNGQR( 0, 0, -1, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_ZUNGQR( 0, 0, -1, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'ZUNGQR', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZUNGQR( 1, 1, 2, A, 1, HT, W, 1, INFO ) + CALL CHAMELEON_ZUNGQR( 1, 1, 2, A, 1, HT, W, 1, INFO ) CALL CHKXER( 'ZUNGQR', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_ZUNGQR( 2, 2, 0, A, 1, HT, W, 2, INFO ) + CALL CHAMELEON_ZUNGQR( 2, 2, 0, A, 1, HT, W, 2, INFO ) CALL CHKXER( 'ZUNGQR', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_ZUNGQR( 2, 2, 0, A, 2, HT, W, 1, INFO ) + CALL CHAMELEON_ZUNGQR( 2, 2, 0, A, 2, HT, W, 1, INFO ) CALL CHKXER( 'ZUNGQR', INFOT, NOUT, INFO, OK ) * -* MORSE_ZUNMQR +* CHAMELEON_ZUNMQR * SRNAMT = 'ZUNMQR' INFOT = 1 - CALL MORSE_ZUNMQR( '/', MORSECONJTRANS, 0, 0, 0, A, 1, HT, AF, + CALL CHAMELEON_ZUNMQR( '/', CHAMELEONCONJTRANS, 0, 0, 0, A, 1, HT, AF, $ 1, INFO ) CALL CHKXER( 'ZUNMQR', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZUNMQR( MORSELEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, + CALL CHAMELEON_ZUNMQR( CHAMELEONLEFT, '/', 0, 0, 0, A, 1, HT, AF, 1, $ INFO ) CALL CHKXER( 'ZUNMQR', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZUNMQR( MORSELEFT, MORSECONJTRANS, -1, 0, 0, A, 1, + CALL CHAMELEON_ZUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, -1, 0, 0, A, 1, $ HT, AF, 1, INFO ) CALL CHKXER( 'ZUNMQR', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_ZUNMQR( MORSELEFT, MORSECONJTRANS, 0, -1, 0, A, 1, + CALL CHAMELEON_ZUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 0, -1, 0, A, 1, $ HT, AF, 1, INFO ) CALL CHKXER( 'ZUNMQR', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_ZUNMQR( MORSELEFT, MORSECONJTRANS, 0, 0, -1, A, 1, + CALL CHAMELEON_ZUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 0, 0, -1, A, 1, $ HT, AF, 1, INFO ) CALL CHKXER( 'ZUNMQR', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_ZUNMQR( MORSELEFT, MORSECONJTRANS, 0, 1, 1, A, 1, HT, +* CALL CHAMELEON_ZUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 0, 1, 1, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'ZUNMQR', INFOT, NOUT, INFO, OK ) * INFOT = 5 -* CALL MORSE_ZUNMQR( MORSELEFT, MORSECONJTRANS, 1, 0, 1, A, 1, HT, +* CALL CHAMELEON_ZUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 1, 0, 1, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'ZUNMQR', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_ZUNMQR( MORSELEFT, MORSECONJTRANS, 2, 1, 0, A, 1, HT, +* CALL CHAMELEON_ZUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 2, 1, 0, A, 1, HT, * 4 AF, 2, INFO ) * CALL CHKXER( 'ZUNMQR', INFOT, NOUT, INFO, OK ) * INFOT = 7 -* CALL MORSE_ZUNMQR( MORSELEFT, MORSECONJTRANS, 1, 2, 0, A, 1, HT, +* CALL CHAMELEON_ZUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 1, 2, 0, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'ZUNMQR', INFOT, NOUT, INFO, OK ) * INFOT = 10 -* CALL MORSE_ZUNMQR( MORSELEFT, MORSECONJTRANS, 1, 2, 0, A, 1, HT, +* CALL CHAMELEON_ZUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 1, 2, 0, A, 1, HT, * 4 AF, 1, INFO ) * CALL CHKXER( 'ZUNMQR', INFOT, NOUT, INFO, OK ) * INFOT = 10 -* CALL MORSE_ZUNMQR( MORSELEFT, MORSECONJTRANS, 2, 1, 0, A, 1, HT, +* CALL CHAMELEON_ZUNMQR( CHAMELEONLEFT, CHAMELEONCONJTRANS, 2, 1, 0, A, 1, HT, * 4 AF, 2, INFO ) * CALL CHKXER( 'ZUNMQR', INFOT, NOUT, INFO, OK ) * @@ -239,12 +239,12 @@ * * Deallocate HT * - CALL MORSE_DEALLOC_HANDLE( HT, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HT, INFO ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/zerrvx.f b/testing/lin/zerrvx.f index 65122f0484fa41326f938e9513410769fef427f6..06e0ed293a7452c26ae04bda4250b472c071759f 100644 --- a/testing/lin/zerrvx.f +++ b/testing/lin/zerrvx.f @@ -37,7 +37,7 @@ SUBROUTINE ZERRVX( PATH, NUNIT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -111,10 +111,10 @@ WRITE( NOUT, FMT = * ) C2 = PATH( 2: 3 ) * -* Disable MORSE warnings/errors +* Disable CHAMELEON warnings/errors * - CALL MORSE_DISABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_DISABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_DISABLE( CHAMELEON_ERRORS, INFO ) * * Set the variables to innocuous values. * @@ -140,7 +140,7 @@ * * ALLOCATE HL and HPIV * - CALL MORSE_ALLOC_WORKSPACE_ZGETRF_INCPIV( + CALL CHAMELEON_ALLOC_WORKSPACE_ZGETRF_INCPIV( $ 2, 1, HL, HPIV, INFO ) * * @@ -148,38 +148,38 @@ * SRNAMT = 'ZGESV ' INFOT = 1 - CALL MORSE_ZGESV_INCPIV( -1, 0, A, 1, HL, HPIV, B, 1, INFO ) + CALL CHAMELEON_ZGESV_INCPIV( -1, 0, A, 1, HL, HPIV, B, 1, INFO ) CALL CHKXER( 'ZGESV ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGESV_INCPIV( 0, -1, A, 1, HL, HPIV, B, 1, INFO ) + CALL CHAMELEON_ZGESV_INCPIV( 0, -1, A, 1, HL, HPIV, B, 1, INFO ) CALL CHKXER( 'ZGESV ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_ZGESV_INCPIV( 2, 1, A, 1, HL, HPIV, B, 2, INFO ) + CALL CHAMELEON_ZGESV_INCPIV( 2, 1, A, 1, HL, HPIV, B, 2, INFO ) CALL CHKXER( 'ZGESV ', INFOT, NOUT, INFO, OK ) INFOT = 8 - CALL MORSE_ZGESV_INCPIV( 2, 1, A, 2, HL, HPIV, B, 1, INFO ) + CALL CHAMELEON_ZGESV_INCPIV( 2, 1, A, 2, HL, HPIV, B, 1, INFO ) CALL CHKXER( 'ZGESV ', INFOT, NOUT, INFO, OK ) * * DEALLOCATE HL and HPIV * - CALL MORSE_DEALLOC_HANDLE( HL, INFO ) - CALL MORSE_DEALLOC_HANDLE( HPIV, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HL, INFO ) + CALL CHAMELEON_DEALLOC_HANDLE( HPIV, INFO ) * * * ZGESV * SRNAMT = 'ZGESV ' INFOT = 1 - CALL MORSE_ZGESV( -1, 0, A, 1, IWORK, B, 1, INFO ) + CALL CHAMELEON_ZGESV( -1, 0, A, 1, IWORK, B, 1, INFO ) CALL CHKXER( 'ZGESV ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZGESV( 0, -1, A, 1, IWORK, B, 1, INFO ) + CALL CHAMELEON_ZGESV( 0, -1, A, 1, IWORK, B, 1, INFO ) CALL CHKXER( 'ZGESV ', INFOT, NOUT, INFO, OK ) INFOT = 4 - CALL MORSE_ZGESV( 2, 1, A, 1, IWORK, B, 2, INFO ) + CALL CHAMELEON_ZGESV( 2, 1, A, 1, IWORK, B, 2, INFO ) CALL CHKXER( 'ZGESV ', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_ZGESV( 2, 1, A, 2, IWORK, B, 1, INFO ) + CALL CHAMELEON_ZGESV( 2, 1, A, 2, IWORK, B, 1, INFO ) CALL CHKXER( 'ZGESV ', INFOT, NOUT, INFO, OK ) * ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN @@ -188,19 +188,19 @@ * SRNAMT = 'ZPOSV ' INFOT = 1 - CALL MORSE_ZPOSV( '/', 0, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_ZPOSV( '/', 0, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'ZPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 2 - CALL MORSE_ZPOSV( MORSEUPPER, -1, 0, A, 1, B, 1, INFO ) + CALL CHAMELEON_ZPOSV( CHAMELEONUPPER, -1, 0, A, 1, B, 1, INFO ) CALL CHKXER( 'ZPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 3 - CALL MORSE_ZPOSV( MORSEUPPER, 0, -1, A, 1, B, 1, INFO ) + CALL CHAMELEON_ZPOSV( CHAMELEONUPPER, 0, -1, A, 1, B, 1, INFO ) CALL CHKXER( 'ZPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 5 - CALL MORSE_ZPOSV( MORSEUPPER, 2, 0, A, 1, B, 2, INFO ) + CALL CHAMELEON_ZPOSV( CHAMELEONUPPER, 2, 0, A, 1, B, 2, INFO ) CALL CHKXER( 'ZPOSV ', INFOT, NOUT, INFO, OK ) INFOT = 7 - CALL MORSE_ZPOSV( MORSEUPPER, 2, 0, A, 2, B, 1, INFO ) + CALL CHAMELEON_ZPOSV( CHAMELEONUPPER, 2, 0, A, 2, B, 1, INFO ) CALL CHKXER( 'ZPOSV ', INFOT, NOUT, INFO, OK ) * * ZPOSVX @@ -259,10 +259,10 @@ 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ', $ 'exits ***' ) * -* Enable MORSE warnings/errors +* Enable CHAMELEON warnings/errors * - CALL MORSE_ENABLE( MORSE_WARNINGS, INFO ) - CALL MORSE_ENABLE( MORSE_ERRORS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_WARNINGS, INFO ) + CALL CHAMELEON_ENABLE( CHAMELEON_ERRORS, INFO ) * RETURN * diff --git a/testing/lin/zlqt01.f b/testing/lin/zlqt01.f index 73ee475bdb79cfc3fbe0c5fdbfe30676358c8a6c..08106718ae8999640d5d97411a24fa2fcefa7402 100644 --- a/testing/lin/zlqt01.f +++ b/testing/lin/zlqt01.f @@ -38,7 +38,7 @@ SUBROUTINE ZLQT01( M, N, A, AF, Q, L, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -144,7 +144,7 @@ * Factorize the matrix A in the array AF. * SRNAMT = 'ZGELQF' - CALL MORSE_ZGELQF( M, N, AF, LDA, T, INFO ) + CALL CHAMELEON_ZGELQF( M, N, AF, LDA, T, INFO ) * * Copy details of Q * @@ -153,7 +153,7 @@ * Generate the n-by-n matrix Q * SRNAMT = 'ZUNGLQ' - CALL MORSE_ZUNGLQ( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_ZUNGLQ( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) * * Copy L * diff --git a/testing/lin/zlqt02.f b/testing/lin/zlqt02.f index 34886e485c788fd606bf2cf69f47e1c95d3e755f..d980bea4a0b2bc45b65a4709505e5358f6c22541 100644 --- a/testing/lin/zlqt02.f +++ b/testing/lin/zlqt02.f @@ -38,7 +38,7 @@ SUBROUTINE ZLQT02( M, N, K, A, AF, Q, L, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -149,7 +149,7 @@ * Generate the first n columns of the matrix Q * SRNAMT = 'ZUNGLQ' - CALL MORSE_ZUNGLQ( M, N, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_ZUNGLQ( M, N, K, AF, LDA, T, Q, LDA, INFO ) * * Copy L(1:k,1:m) * diff --git a/testing/lin/zlqt03.f b/testing/lin/zlqt03.f index 401eb507e5e6408b04fb33fd29984a88e74bc882..7c7f54ac24c3bb0d63210b5371cd1fed384f551c 100644 --- a/testing/lin/zlqt03.f +++ b/testing/lin/zlqt03.f @@ -38,7 +38,7 @@ SUBROUTINE ZLQT03( M, N, K, AF, C, CC, Q, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -122,7 +122,7 @@ * .. Local Scalars .. CHARACTER SIDE, TRANS INTEGER INFO, ISIDE, ITRANS, J, MC, NC - INTEGER MORSE_SIDE, MORSE_TRANS + INTEGER CHAMELEON_SIDE, CHAMELEON_TRANS DOUBLE PRECISION CNORM, EPS, RESID * .. * .. External Functions .. @@ -164,17 +164,17 @@ * Generate the n-by-n matrix Q * SRNAMT = 'ZUNGLQ' - CALL MORSE_ZUNGLQ( N, N, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_ZUNGLQ( N, N, K, AF, LDA, T, Q, LDA, INFO ) * DO 30 ISIDE = 1, 2 IF( ISIDE.EQ.1 ) THEN SIDE = 'L' - MORSE_SIDE = MORSELEFT + CHAMELEON_SIDE = CHAMELEONLEFT MC = N NC = M ELSE SIDE = 'R' - MORSE_SIDE = MORSERIGHT + CHAMELEON_SIDE = CHAMELEONRIGHT MC = M NC = N END IF @@ -190,11 +190,11 @@ * DO 20 ITRANS = 1, 2 IF( ITRANS.EQ.1 ) THEN - MORSE_TRANS = MORSENOTRANS + CHAMELEON_TRANS = CHAMELEONNOTRANS TRANS = 'N' ELSE TRANS = 'C' - MORSE_TRANS = MORSECONJTRANS + CHAMELEON_TRANS = CHAMELEONCONJTRANS END IF * * Copy C @@ -204,7 +204,7 @@ * Apply Q or Q' to C * SRNAMT = 'ZUNMLQ' - CALL MORSE_ZUNMLQ( MORSE_SIDE, MORSE_TRANS, MC, NC, K, + CALL CHAMELEON_ZUNMLQ( CHAMELEON_SIDE, CHAMELEON_TRANS, MC, NC, K, $ AF, LDA, T, CC, LDA, INFO ) * * Form explicit product and subtract diff --git a/testing/lin/zporfs.f b/testing/lin/zporfs.f index 3b92dd0d6f3405f5c2ea443dfd2a1a445ac3e837..4503ef94a7df63097ad5787f47d3ead14a924322 100644 --- a/testing/lin/zporfs.f +++ b/testing/lin/zporfs.f @@ -38,7 +38,7 @@ SUBROUTINE ZPORFS( UPLO, N, NRHS, A, LDA, AF, LDAF, B, LDB, X, $ LDX, FERR, BERR, WORK, RWORK, INFO ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK routine (version 3.2) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -154,7 +154,7 @@ * .. * .. Local Scalars .. LOGICAL UPPER - INTEGER COUNT, I, J, K, KASE, NZ, MORSE_UPLO + INTEGER COUNT, I, J, K, KASE, NZ, CHAMELEON_UPLO DOUBLE PRECISION EPS, LSTRES, S, SAFE1, SAFE2, SAFMIN, XK COMPLEX*16 ZDUM * .. @@ -215,9 +215,9 @@ END IF * IF ( LSAME( UPLO, 'U' ) ) THEN - MORSE_UPLO = MORSEUPPER + CHAMELEON_UPLO = CHAMELEONUPPER ELSE - MORSE_UPLO = MORSELOWER + CHAMELEON_UPLO = CHAMELEONLOWER ENDIF * * NZ = maximum number of nonzero elements in each row of A, plus 1 @@ -302,7 +302,7 @@ * * Update solution and try again. * - CALL MORSE_ZPOTRS( MORSE_UPLO, N, 1, AF, LDAF, + CALL CHAMELEON_ZPOTRS( CHAMELEON_UPLO, N, 1, AF, LDAF, $ WORK, N, INFO ) CALL ZAXPY( N, ONE, WORK, 1, X( 1, J ), 1 ) LSTRES = BERR( J ) @@ -349,7 +349,7 @@ * * Multiply by diag(W)*inv(A'). * - CALL MORSE_ZPOTRS( MORSE_UPLO, N, 1, AF, LDAF, + CALL CHAMELEON_ZPOTRS( CHAMELEON_UPLO, N, 1, AF, LDAF, $ WORK, N, INFO ) DO 110 I = 1, N WORK( I ) = RWORK( I )*WORK( I ) @@ -361,7 +361,7 @@ DO 120 I = 1, N WORK( I ) = RWORK( I )*WORK( I ) 120 CONTINUE - CALL MORSE_ZPOTRS( MORSE_UPLO, N, 1, AF, LDAF, + CALL CHAMELEON_ZPOTRS( CHAMELEON_UPLO, N, 1, AF, LDAF, $ WORK, N, INFO ) END IF GO TO 100 diff --git a/testing/lin/zposvx.f b/testing/lin/zposvx.f index c4a70b871f22ca2937be155f7ee9c65bc3fe18fd..5fe686b412811b05f712db188d3861508a556259 100644 --- a/testing/lin/zposvx.f +++ b/testing/lin/zposvx.f @@ -39,7 +39,7 @@ $ S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, $ RWORK, INFO ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK driver routine (version 3.2) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -255,7 +255,7 @@ LOGICAL EQUIL, NOFACT, RCEQU INTEGER I, INFEQU, J DOUBLE PRECISION AMAX, ANORM, BIGNUM, SCOND, SMAX, SMIN, SMLNUM - INTEGER MORSE_UPLO + INTEGER CHAMELEON_UPLO * .. * .. External Functions .. LOGICAL LSAME @@ -333,9 +333,9 @@ END IF * IF( LSAME( UPLO, 'U' ) ) THEN - MORSE_UPLO = MORSEUPPER + CHAMELEON_UPLO = CHAMELEONUPPER ELSE - MORSE_UPLO = MORSELOWER + CHAMELEON_UPLO = CHAMELEONLOWER ENDIF * IF( EQUIL ) THEN @@ -367,7 +367,7 @@ * Compute the Cholesky factorization A = U'*U or A = L*L'. * CALL ZLACPY( UPLO, N, N, A, LDA, AF, LDAF ) - CALL MORSE_ZPOTRF( MORSE_UPLO, N, AF, LDAF, INFO ) + CALL CHAMELEON_ZPOTRF( CHAMELEON_UPLO, N, AF, LDAF, INFO ) * * Return if INFO is non-zero. * @@ -388,7 +388,7 @@ * Compute the solution matrix X. * CALL ZLACPY( 'Full', N, NRHS, B, LDB, X, LDX ) - CALL MORSE_ZPOTRS( MORSE_UPLO, N, NRHS, AF, LDAF, X, LDX, INFO ) + CALL CHAMELEON_ZPOTRS( CHAMELEON_UPLO, N, NRHS, AF, LDAF, X, LDX, INFO ) * * Use iterative refinement to improve the computed solution and * compute error bounds and backward error estimates for it. diff --git a/testing/lin/zqrt01.f b/testing/lin/zqrt01.f index 0f5ce0498147be01174300ca3ade68ceb4fc6cc6..51707de43f2e81c105c6c7b1557f46588cb06d04 100644 --- a/testing/lin/zqrt01.f +++ b/testing/lin/zqrt01.f @@ -38,7 +38,7 @@ SUBROUTINE ZQRT01( M, N, A, AF, Q, R, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -144,7 +144,7 @@ * Factorize the matrix A in the array AF. * SRNAMT = 'ZGEQRF' - CALL MORSE_ZGEQRF( M, N, AF, LDA, T, INFO ) + CALL CHAMELEON_ZGEQRF( M, N, AF, LDA, T, INFO ) * * Copy details of Q * @@ -153,7 +153,7 @@ * Generate the m-by-m matrix Q * SRNAMT = 'ZUNGQR' - CALL MORSE_ZUNGQR( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_ZUNGQR( M, N, MINMN, AF, LDA, T, Q, LDA, INFO ) * * Copy R * diff --git a/testing/lin/zqrt02.f b/testing/lin/zqrt02.f index 414e850e32b4e4d3c07514bcb0c401ab72d5bd7e..f509bb188eff3a232392bb590cca0740e981a434 100644 --- a/testing/lin/zqrt02.f +++ b/testing/lin/zqrt02.f @@ -38,7 +38,7 @@ SUBROUTINE ZQRT02( M, N, K, A, AF, Q, R, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -149,7 +149,7 @@ * Generate the first n columns of the matrix Q * SRNAMT = 'ZUNGQR' - CALL MORSE_ZUNGQR( M, N, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_ZUNGQR( M, N, K, AF, LDA, T, Q, LDA, INFO ) * * Copy R(1:n,1:k) * diff --git a/testing/lin/zqrt03.f b/testing/lin/zqrt03.f index 389a38dbd31663037e9bb0eaa26061e076cf6b1e..87e83acb2c27f56bd8647ad4bfaa16e5ef354535 100644 --- a/testing/lin/zqrt03.f +++ b/testing/lin/zqrt03.f @@ -38,7 +38,7 @@ SUBROUTINE ZQRT03( M, N, K, AF, C, CC, Q, LDA, T, WORK, LWORK, $ RWORK, RESULT ) * - INCLUDE 'morse_fortran.h' + INCLUDE 'chameleon_fortran.h' * * -- LAPACK test routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. @@ -122,7 +122,7 @@ * .. Local Scalars .. CHARACTER SIDE, TRANS INTEGER INFO, ISIDE, ITRANS, J, MC, NC - INTEGER MORSE_SIDE, MORSE_TRANS + INTEGER CHAMELEON_SIDE, CHAMELEON_TRANS DOUBLE PRECISION CNORM, EPS, RESID * .. * .. External Functions .. @@ -165,17 +165,17 @@ * Generate the m-by-m matrix Q * SRNAMT = 'ZUNGQR' - CALL MORSE_ZUNGQR( M, M, K, AF, LDA, T, Q, LDA, INFO ) + CALL CHAMELEON_ZUNGQR( M, M, K, AF, LDA, T, Q, LDA, INFO ) * DO 30 ISIDE = 1, 2 IF( ISIDE.EQ.1 ) THEN SIDE = 'L' - MORSE_SIDE = MORSELEFT + CHAMELEON_SIDE = CHAMELEONLEFT MC = M NC = N ELSE SIDE = 'R' - MORSE_SIDE = MORSERIGHT + CHAMELEON_SIDE = CHAMELEONRIGHT MC = N NC = M END IF @@ -192,10 +192,10 @@ DO 20 ITRANS = 1, 2 IF( ITRANS.EQ.1 ) THEN TRANS = 'N' - MORSE_TRANS = MORSENOTRANS + CHAMELEON_TRANS = CHAMELEONNOTRANS ELSE TRANS = 'C' - MORSE_TRANS = MORSECONJTRANS + CHAMELEON_TRANS = CHAMELEONCONJTRANS END IF * * Copy C @@ -205,7 +205,7 @@ * Apply Q or Q' to C * SRNAMT = 'ZUNMQR' - CALL MORSE_ZUNMQR( MORSE_SIDE, MORSE_TRANS, MC, NC, K, + CALL CHAMELEON_ZUNMQR( CHAMELEON_SIDE, CHAMELEON_TRANS, MC, NC, K, $ AF, LDA, T, CC, LDA, INFO ) * * Form explicit product and subtract diff --git a/testing/lin/ztest.in b/testing/lin/ztest.in index 5c2f7169802d00ebc9bd6c95000e9fd91c93c8eb..9051ffc39abe9588f85f7edb906d35ce63db853c 100644 --- a/testing/lin/ztest.in +++ b/testing/lin/ztest.in @@ -1,4 +1,4 @@ -Data file for testing DOUBLE PRECISION COMPLEX MORSE linear eqn. routines +Data file for testing DOUBLE PRECISION COMPLEX CHAMELEON linear eqn. routines 1 Number of values of NP 2 Values of NP (number of cores) 0 Values of SCHED (0: Static, 1:Dynamic) @@ -15,7 +15,7 @@ Data file for testing DOUBLE PRECISION COMPLEX MORSE linear eqn. routines 3 Number of values of RANK 30 50 90 Values of rank (as a % of N) 60.0 Threshold value of test ratio -T Put T to test the MORSE routines +T Put T to test the CHAMELEON routines T Put T to test the driver routines T Put T to test the error exits ZGE 11 List types on next line if 0 < NTYPES < 11 diff --git a/testing/lin/ztestdyn.in b/testing/lin/ztestdyn.in index 2d499c933283ca40ccf22ac6ef4a057aa83826bd..2355cfd98434693db3374ef3696b22050dd7d9cf 100644 --- a/testing/lin/ztestdyn.in +++ b/testing/lin/ztestdyn.in @@ -1,4 +1,4 @@ -Data file for testing DOUBLE PRECISION COMPLEX MORSE linear eqn. routines +Data file for testing DOUBLE PRECISION COMPLEX CHAMELEON linear eqn. routines 1 Number of values of NP 2 Values of NP (number of cores) 1 Values of SCHED (0: Static, 1:Dynamic) @@ -15,7 +15,7 @@ Data file for testing DOUBLE PRECISION COMPLEX MORSE linear eqn. routines 3 Number of values of RANK 30 50 90 Values of rank (as a % of N) 60.0 Threshold value of test ratio -T Put T to test the MORSE routines +T Put T to test the CHAMELEON routines T Put T to test the driver routines T Put T to test the error exits ZGE 11 List types on next line if 0 < NTYPES < 11 diff --git a/testing/testing_zauxiliary.c b/testing/testing_zauxiliary.c index eebc0fe5d8cf7ffc3928eb0fc0ef6d14e7dc8213..e72302b276a5690230814636c5a60d2a92d487e7 100644 --- a/testing/testing_zauxiliary.c +++ b/testing/testing_zauxiliary.c @@ -9,7 +9,7 @@ * *** * - * @brief Chameleon MORSE_Complex64_t auxiliary testings routines + * @brief Chameleon CHAMELEON_Complex64_t auxiliary testings routines * * @version 1.0.0 * @author Mathieu Faverge @@ -27,20 +27,20 @@ #include <unistd.h> #include <sys/resource.h> #endif -#include <morse.h> +#include <chameleon.h> #include "testing_zauxiliary.h" int IONE = 1; int ISEED[4] = {0,0,0,1}; /* initial seed for zlarnv() */ -int format[6]= { MorseCM, MorseRM, MorseCCRB, MorseCRRB, MorseRCRB, MorseRRRB }; -int side[2] = { MorseLeft, MorseRight }; -int uplo[2] = { MorseUpper, MorseLower }; -int diag[2] = { MorseNonUnit, MorseUnit }; -int trans[3] = { MorseNoTrans, MorseTrans, MorseConjTrans }; -int itype[3] = { 1, 2, 3 }; -int storev[2] = { MorseRowwise, MorseColumnwise }; -int norm[4] = { MorseMaxNorm, MorseOneNorm, MorseInfNorm, MorseFrobeniusNorm }; +cham_storage_t format[6] = { ChamCM, ChamRM, ChamCCRB, ChamCRRB, ChamRCRB, ChamRRRB }; +cham_side_t side[2] = { ChamLeft, ChamRight }; +cham_uplo_t uplo[2] = { ChamUpper, ChamLower }; +cham_diag_t diag[2] = { ChamNonUnit, ChamUnit }; +cham_trans_t trans[3] = { ChamNoTrans, ChamTrans, ChamConjTrans }; +int itype[3] = { 1, 2, 3 }; +cham_store_t storev[2] = { ChamRowwise, ChamColumnwise }; +cham_normtype_t norm[4] = { ChamMaxNorm, ChamOneNorm, ChamInfNorm, ChamFrobeniusNorm }; char *formatstr[6]= { "CM", "RM", "CCRB", "CRRB", "RCRB", "RRRB"}; char *sidestr[2] = { "Left ", "Right" }; @@ -170,14 +170,14 @@ int main (int argc, char **argv) sscanf( argv[2], "%d", &ngpus ); sscanf( argv[3], "%31s", func ); - /* Initialize MORSE */ + /* Initialize CHAMELEON */ /*if(nthreads_per_worker) - MORSE_InitPar(ncores/nthreads_per_worker, ncudas, nthreads_per_worker); + CHAMELEON_InitPar(ncores/nthreads_per_worker, ncudas, nthreads_per_worker); else*/ - MORSE_Init( ncores, ngpus); - MORSE_Disable(MORSE_AUTOTUNING); - MORSE_Set(MORSE_TILE_SIZE, 32 ); - MORSE_Set(MORSE_INNER_BLOCK_SIZE, 5 ); + CHAMELEON_Init( ncores, ngpus); + CHAMELEON_Disable(CHAMELEON_AUTOTUNING); + CHAMELEON_Set(CHAMELEON_TILE_SIZE, 32 ); + CHAMELEON_Set(CHAMELEON_INNER_BLOCK_SIZE, 5 ); argc -= 4; argv += 4; @@ -317,7 +317,7 @@ int main (int argc, char **argv) printf( "TESTING %s FAILED : not enough memory\n", func); } - MORSE_Finalize(); + CHAMELEON_Finalize(); return info; } diff --git a/testing/testing_zauxiliary.h b/testing/testing_zauxiliary.h index 0d5a9bfffffa26b9c7069b76aa7b6d9f2f79f2e1..d7edc4a91a51958281f486abf69c901d1cbd523f 100644 --- a/testing/testing_zauxiliary.h +++ b/testing/testing_zauxiliary.h @@ -9,7 +9,7 @@ * *** * - * @brief Chameleon MORSE_Complex64_t auxiliary testings header + * @brief Chameleon CHAMELEON_Complex64_t auxiliary testings header * * @version 1.0.0 * @author Mathieu Faverge @@ -45,14 +45,14 @@ extern int IONE; extern int ISEED[4]; -extern int format[6]; -extern int trans[3]; -extern int uplo[2]; -extern int side[2]; -extern int diag[2]; -extern int itype[3]; -extern int storev[2]; -extern int norm[4]; +extern cham_storage_t format[6]; +extern cham_trans_t trans[3]; +extern cham_uplo_t uplo[2]; +extern cham_side_t side[2]; +extern cham_diag_t diag[2]; +extern int itype[3]; +extern cham_store_t storev[2]; +extern cham_normtype_t norm[4]; extern char *formatstr[6]; extern char *transstr[3]; diff --git a/testing/testing_zgeadd.c b/testing/testing_zgeadd.c index ae417b1f92e3f543b606a4d7e782c0fb1b3106f0..a29e2dde2dbf53e0fe90832a8fed1e16dd50d2ec 100644 --- a/testing/testing_zgeadd.c +++ b/testing/testing_zgeadd.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,7 +26,7 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> @@ -35,12 +35,12 @@ #include <mpi.h> #endif -static int check_tr_solution(MORSE_enum uplo, MORSE_enum trans, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, MORSE_Complex64_t *Bref, MORSE_Complex64_t *Bmorse, int LDB); -static int check_ge_solution(MORSE_enum trans, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, MORSE_Complex64_t *Bref, MORSE_Complex64_t *Bmorse, int LDB); +static int check_tr_solution(cham_uplo_t uplo, cham_trans_t trans, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Bref, CHAMELEON_Complex64_t *Bcham, int LDB); +static int check_ge_solution(cham_trans_t trans, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Bref, CHAMELEON_Complex64_t *Bcham, int LDB); int testing_zgeadd(int argc, char **argv) { @@ -56,8 +56,8 @@ int testing_zgeadd(int argc, char **argv) return -1; } - MORSE_Complex64_t alpha = (MORSE_Complex64_t) atol(argv[0]); - MORSE_Complex64_t beta = (MORSE_Complex64_t) atol(argv[1]); + CHAMELEON_Complex64_t alpha = (CHAMELEON_Complex64_t) atol(argv[0]); + CHAMELEON_Complex64_t beta = (CHAMELEON_Complex64_t) atol(argv[1]); int M = atoi(argv[2]); int N = atoi(argv[3]); int LDA = atoi(argv[4]); @@ -69,10 +69,10 @@ int testing_zgeadd(int argc, char **argv) int LDAxN = LDA*max(M,N); int LDBxN = LDB*N; - MORSE_Complex64_t *A = (MORSE_Complex64_t *)malloc(LDAxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B = (MORSE_Complex64_t *)malloc(LDBxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Binit = (MORSE_Complex64_t *)malloc(LDBxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Bfinal = (MORSE_Complex64_t *)malloc(LDBxN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A = (CHAMELEON_Complex64_t *)malloc(LDAxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B = (CHAMELEON_Complex64_t *)malloc(LDBxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Binit = (CHAMELEON_Complex64_t *)malloc(LDBxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Bfinal = (CHAMELEON_Complex64_t *)malloc(LDBxN*sizeof(CHAMELEON_Complex64_t)); /* Check if unable to allocate memory */ if ( (!A) || (!B) || (!Binit) || (!Bfinal) ) @@ -86,7 +86,7 @@ int testing_zgeadd(int argc, char **argv) eps = LAPACKE_dlamch_work('e'); printf("\n"); - printf("------ TESTS FOR MORSE ZGEADD ROUTINE ------- \n"); + printf("------ TESTS FOR CHAMELEON ZGEADD ROUTINE ------- \n"); printf(" Size of the Matrix %d by %d\n", M, N); printf("\n"); printf(" The matrices A and B are randomly generated for each test.\n"); @@ -107,11 +107,11 @@ int testing_zgeadd(int argc, char **argv) #else for (t=0; t<2; t++) { #endif - memcpy( Binit, B, LDBxN*sizeof(MORSE_Complex64_t)); - memcpy( Bfinal, B, LDBxN*sizeof(MORSE_Complex64_t)); + memcpy( Binit, B, LDBxN*sizeof(CHAMELEON_Complex64_t)); + memcpy( Bfinal, B, LDBxN*sizeof(CHAMELEON_Complex64_t)); - /* MORSE ZGEADD */ - MORSE_zgeadd(trans[t], M, N, alpha, A, LDA, beta, Bfinal, LDB); + /* CHAMELEON ZGEADD */ + CHAMELEON_zgeadd(trans[t], M, N, alpha, A, LDA, beta, Bfinal, LDB); /* Check the solution */ info_solution = check_ge_solution(trans[t], M, N, @@ -146,11 +146,11 @@ int testing_zgeadd(int argc, char **argv) for (t=0; t<2; t++) { #endif for (u=0; u<2; u++) { - memcpy( Binit, B, LDBxN*sizeof(MORSE_Complex64_t)); - memcpy( Bfinal, B, LDBxN*sizeof(MORSE_Complex64_t)); + memcpy( Binit, B, LDBxN*sizeof(CHAMELEON_Complex64_t)); + memcpy( Bfinal, B, LDBxN*sizeof(CHAMELEON_Complex64_t)); - /* MORSE ZGEADD */ - MORSE_ztradd(uplo[u], trans[t], M, N, alpha, A, LDA, beta, Bfinal, LDB); + /* CHAMELEON ZGEADD */ + CHAMELEON_ztradd(uplo[u], trans[t], M, N, alpha, A, LDA, beta, Bfinal, LDB); /* Check the solution */ info_solution = check_tr_solution(uplo[u], trans[t], M, N, @@ -183,28 +183,28 @@ int testing_zgeadd(int argc, char **argv) * Check the solution */ -static int check_tr_solution(MORSE_enum uplo, MORSE_enum trans, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, MORSE_Complex64_t *Bref, MORSE_Complex64_t *Bmorse, int LDB) +static int check_tr_solution(cham_uplo_t uplo, cham_trans_t trans, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Bref, CHAMELEON_Complex64_t *Bcham, int LDB) { int info_solution; - double Anorm, Binitnorm, Bmorsenorm, Rnorm, result; + double Anorm, Binitnorm, Bchamnorm, Rnorm, result; double eps; - MORSE_Complex64_t mzone; + CHAMELEON_Complex64_t mzone; double *work = (double *)malloc(max(M, N)* sizeof(double)); int Am, An; mzone = -1.0; - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { Am = M; An = N; } else { Am = N; An = M; } - /* if ( ((trans == MorseNoTrans) && (uplo == MorseLower)) || */ - /* ((trans != MorseNoTrans) && (uplo == MorseUpper)) ) */ + /* if ( ((trans == ChamNoTrans) && (uplo == ChamLower)) || */ + /* ((trans != ChamNoTrans) && (uplo == ChamUpper)) ) */ /* { */ /* Anorm = LAPACKE_zlantr_work(LAPACK_COL_MAJOR, 'I', 'L', 'N', */ /* Am, An, A, LDA, work); */ @@ -215,29 +215,29 @@ static int check_tr_solution(MORSE_enum uplo, MORSE_enum trans, int M, int N, /* Am, An, A, LDA, work); */ /* } */ - /* Binitnorm = LAPACKE_zlantr_work(LAPACK_COL_MAJOR, 'I', morse_lapack_const(uplo[u]), 'N', */ + /* Binitnorm = LAPACKE_zlantr_work(LAPACK_COL_MAJOR, 'I', chameleon_lapack_const(uplo[u]), 'N', */ /* M, N, Bref, LDB, work); */ - /* Bmorsenorm = LAPACKE_zlantr_work(LAPACK_COL_MAJOR, 'I', morse_lapack_const(uplo[u]), 'N', */ - /* M, N, Bmorse, LDB, work); */ + /* Bchamnorm = LAPACKE_zlantr_work(LAPACK_COL_MAJOR, 'I', chameleon_lapack_const(uplo[u]), 'N', */ + /* M, N, Bcham, LDB, work); */ Anorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', Am, An, A, LDA, work); Binitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Bref, LDB, work); - Bmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', - M, N, Bmorse, LDB, work); + Bchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', + M, N, Bcham, LDB, work); CORE_ztradd(uplo, trans, M, N, alpha, A, LDA, beta, Bref, LDB); - cblas_zaxpy( LDB*N, CBLAS_SADDR(mzone), Bmorse, 1, Bref, 1); + cblas_zaxpy( LDB*N, CBLAS_SADDR(mzone), Bcham, 1, Bref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'M', M, N, Bref, LDB, work); eps = LAPACKE_dlamch_work('e'); printf("Rnorm %e, Anorm %e, Bnorm %e, (alpha A + beta B) norm %e\n", - Rnorm, Anorm, Binitnorm, Bmorsenorm); + Rnorm, Anorm, Binitnorm, Bchamnorm); result = Rnorm / (max(Anorm, Binitnorm) * eps); printf("============\n"); @@ -263,21 +263,21 @@ static int check_tr_solution(MORSE_enum uplo, MORSE_enum trans, int M, int N, * Check the solution */ -static int check_ge_solution(MORSE_enum trans, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, MORSE_Complex64_t *Bref, MORSE_Complex64_t *Bmorse, int LDB) +static int check_ge_solution(cham_trans_t trans, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Bref, CHAMELEON_Complex64_t *Bcham, int LDB) { int info_solution; - double Anorm, Binitnorm, Bmorsenorm, Rnorm, result; + double Anorm, Binitnorm, Bchamnorm, Rnorm, result; double eps; - MORSE_Complex64_t mzone; + CHAMELEON_Complex64_t mzone; double *work = (double *)malloc(max(M, N)* sizeof(double)); int Am, An; mzone = -1.0; - if (trans == MorseNoTrans) { + if (trans == ChamNoTrans) { Am = M; An = N; } else { Am = N; An = M; @@ -287,20 +287,20 @@ static int check_ge_solution(MORSE_enum trans, int M, int N, Am, An, A, LDA, work); Binitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Bref, LDB, work); - Bmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', - M, N, Bmorse, LDB, work); + Bchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', + M, N, Bcham, LDB, work); CORE_zgeadd(trans, M, N, alpha, A, LDA, beta, Bref, LDB); - cblas_zaxpy( LDB*N, CBLAS_SADDR(mzone), Bmorse, 1, Bref, 1); + cblas_zaxpy( LDB*N, CBLAS_SADDR(mzone), Bcham, 1, Bref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'M', M, N, Bref, LDB, work); eps = LAPACKE_dlamch_work('e'); printf("Rnorm %e, Anorm %e, Bnorm %e, (alpha A + beta B) norm %e\n", - Rnorm, Anorm, Binitnorm, Bmorsenorm); + Rnorm, Anorm, Binitnorm, Bchamnorm); result = Rnorm / (max(Anorm, Binitnorm) * eps); printf("============\n"); diff --git a/testing/testing_zgels.c b/testing/testing_zgels.c index 46da823c103411ec88f9c4afabf1b4ae9228cae0..bed7f63471d191ae53f0b2d9e6b0fc7524fab0ae 100644 --- a/testing/testing_zgels.c +++ b/testing/testing_zgels.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Bilel Hadri * @author Hatem Ltaief * @author Mathieu Faverge @@ -28,15 +28,15 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_orthogonality(int, int, int, MORSE_Complex64_t*, double); -static int check_factorization(int, int, MORSE_Complex64_t*, MORSE_Complex64_t*, int, MORSE_Complex64_t*, double); -static int check_solution(int, int, int, MORSE_Complex64_t*, int, MORSE_Complex64_t*, MORSE_Complex64_t*, int, double); +static int check_orthogonality(int, int, int, CHAMELEON_Complex64_t*, double); +static int check_factorization(int, int, CHAMELEON_Complex64_t*, CHAMELEON_Complex64_t*, int, CHAMELEON_Complex64_t*, double); +static int check_solution(int, int, int, CHAMELEON_Complex64_t*, int, CHAMELEON_Complex64_t*, CHAMELEON_Complex64_t*, int, double); int testing_zgels(int argc, char **argv) { @@ -78,12 +78,12 @@ int testing_zgels(int argc, char **argv) int LDAxN = LDA*N; int LDBxNRHS = LDB*NRHS; - MORSE_Complex64_t *A1 = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *A2 = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B1 = (MORSE_Complex64_t *)malloc(LDB*NRHS*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B2 = (MORSE_Complex64_t *)malloc(LDB*NRHS*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Q = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_desc_t *T; + CHAMELEON_Complex64_t *A1 = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *A2 = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B1 = (CHAMELEON_Complex64_t *)malloc(LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B2 = (CHAMELEON_Complex64_t *)malloc(LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Q = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAM_desc_t *T; /* Check if unable to allocate memory */ if ( (!A1) || (!A2) || (!B1) || (!B2) || (!Q) ) @@ -98,12 +98,12 @@ int testing_zgels(int argc, char **argv) if ( mode ) { rh = atoi(argv[6]); - MORSE_Set(MORSE_HOUSEHOLDER_MODE, MORSE_TREE_HOUSEHOLDER); - MORSE_Set(MORSE_HOUSEHOLDER_SIZE, rh); + CHAMELEON_Set(CHAMELEON_HOUSEHOLDER_MODE, ChamTreeHouseholder); + CHAMELEON_Set(CHAMELEON_HOUSEHOLDER_SIZE, rh); } - MORSE_Alloc_Workspace_zgels(M, N, &T, 1, 1); - memset(T->mat, 0, (T->llm*T->lln)*sizeof(MORSE_Complex64_t)); + CHAMELEON_Alloc_Workspace_zgels(M, N, &T, 1, 1); + memset(T->mat, 0, (T->llm*T->lln)*sizeof(CHAMELEON_Complex64_t)); eps = LAPACKE_dlamch_work('e'); /*---------------------------------------------------------- @@ -115,20 +115,20 @@ int testing_zgels(int argc, char **argv) LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, N, A1, LDA, A2, LDA ); /* Initialize B1 and B2 */ - memset(B2, 0, LDB*NRHS*sizeof(MORSE_Complex64_t)); + memset(B2, 0, LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlarnv_work(IONE, ISEED, LDBxNRHS, B1); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, NRHS, B1, LDB, B2, LDB ); - /* MORSE ZGELS */ - MORSE_zgels(MorseNoTrans, M, N, NRHS, A2, LDA, T, B2, LDB); + /* CHAMELEON ZGELS */ + CHAMELEON_zgels(ChamNoTrans, M, N, NRHS, A2, LDA, T, B2, LDB); - /* MORSE ZGELS */ + /* CHAMELEON ZGELS */ if (M >= N) /* Building the economy-size Q */ - MORSE_zungqr(M, N, K, A2, LDA, T, Q, LDA); + CHAMELEON_zungqr(M, N, K, A2, LDA, T, Q, LDA); else /* Building the economy-size Q */ - MORSE_zunglq(M, N, K, A2, LDA, T, Q, LDA); + CHAMELEON_zunglq(M, N, K, A2, LDA, T, Q, LDA); printf("\n"); printf("------ TESTS FOR CHAMELEON ZGELS ROUTINE ------- \n"); @@ -166,7 +166,7 @@ int testing_zgels(int argc, char **argv) A2[LDA*j+i] = A1[LDA*j+i]; /* Initialize B1 and B2 */ - memset(B2, 0, LDB*NRHS*sizeof(MORSE_Complex64_t)); + memset(B2, 0, LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlarnv_work(IONE, ISEED, LDBxNRHS, B1); for (i = 0; i < M; i++) for (j = 0; j < NRHS; j++) @@ -182,10 +182,10 @@ int testing_zgels(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n", eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - /* Morse routines */ - MORSE_zgeqrf(M, N, A2, LDA, T); - MORSE_zungqr(M, N, K, A2, LDA, T, Q, LDA); - MORSE_zgeqrs(M, N, NRHS, A2, LDA, T, B2, LDB); + /* Cham routines */ + CHAMELEON_zgeqrf(M, N, A2, LDA, T); + CHAMELEON_zungqr(M, N, K, A2, LDA, T, Q, LDA); + CHAMELEON_zgeqrs(M, N, NRHS, A2, LDA, T, B2, LDB); /* Check the orthogonality, factorization and the solution */ info_ortho = check_orthogonality(M, N, LDA, Q, eps); @@ -213,10 +213,10 @@ int testing_zgels(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n", eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - /* Morse routines */ - MORSE_zgelqf(M, N, A2, LDA, T); - MORSE_zunglq(M, N, K, A2, LDA, T, Q, LDA); - MORSE_zgelqs(M, N, NRHS, A2, LDA, T, B2, LDB); + /* Cham routines */ + CHAMELEON_zgelqf(M, N, A2, LDA, T); + CHAMELEON_zunglq(M, N, K, A2, LDA, T, Q, LDA); + CHAMELEON_zgelqs(M, N, NRHS, A2, LDA, T, B2, LDB); /* Check the orthogonality, factorization and the solution */ info_ortho = check_orthogonality(M, N, LDA, Q, eps); @@ -246,14 +246,14 @@ int testing_zgels(int argc, char **argv) A2[LDA*j+i] = A1[LDA*j+i]; /* Initialize B1 and B2 */ - memset(B2, 0, LDB*NRHS*sizeof(MORSE_Complex64_t)); + memset(B2, 0, LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlarnv_work(IONE, ISEED, LDBxNRHS, B1); for (i = 0; i < M; i++) for (j = 0; j < NRHS; j++) B2[LDB*j+i] = B1[LDB*j+i]; - /* MORSE ZGEQRF+ ZUNMQR + ZTRSM */ - memset((void*)Q, 0, LDA*N*sizeof(MORSE_Complex64_t)); + /* CHAMELEON ZGEQRF+ ZUNMQR + ZTRSM */ + memset((void*)Q, 0, LDA*N*sizeof(CHAMELEON_Complex64_t)); for (i = 0; i < K; i++) Q[LDA*i+i] = 1.0; @@ -267,10 +267,10 @@ int testing_zgels(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n",eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - MORSE_zgeqrf(M, N, A2, LDA, T); - MORSE_zungqr(M, N, K, A2, LDA, T, Q, LDA); - MORSE_zunmqr(MorseLeft, MorseConjTrans, M, NRHS, N, A2, LDA, T, B2, LDB); - MORSE_ztrsm(MorseLeft, MorseUpper, MorseNoTrans, MorseNonUnit, N, NRHS, 1.0, A2, LDA, B2, LDB); + CHAMELEON_zgeqrf(M, N, A2, LDA, T); + CHAMELEON_zungqr(M, N, K, A2, LDA, T, Q, LDA); + CHAMELEON_zunmqr(ChamLeft, ChamConjTrans, M, NRHS, N, A2, LDA, T, B2, LDB); + CHAMELEON_ztrsm(ChamLeft, ChamUpper, ChamNoTrans, ChamNonUnit, N, NRHS, 1.0, A2, LDA, B2, LDB); } else { printf("\n"); @@ -282,10 +282,10 @@ int testing_zgels(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n",eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - MORSE_zgelqf(M, N, A2, LDA, T); - MORSE_ztrsm(MorseLeft, MorseLower, MorseNoTrans, MorseNonUnit, M, NRHS, 1.0, A2, LDA, B2, LDB); - MORSE_zunglq(M, N, K, A2, LDA, T, Q, LDA); - MORSE_zunmlq(MorseLeft, MorseConjTrans, N, NRHS, M, A2, LDA, T, B2, LDB); + CHAMELEON_zgelqf(M, N, A2, LDA, T); + CHAMELEON_ztrsm(ChamLeft, ChamLower, ChamNoTrans, ChamNonUnit, M, NRHS, 1.0, A2, LDA, B2, LDB); + CHAMELEON_zunglq(M, N, K, A2, LDA, T, Q, LDA); + CHAMELEON_zunmlq(ChamLeft, ChamConjTrans, N, NRHS, M, A2, LDA, T, B2, LDB); } /* Check the orthogonality, factorization and the solution */ @@ -319,7 +319,7 @@ int testing_zgels(int argc, char **argv) } free(A1); free(A2); free(B1); free(B2); free(Q); - MORSE_Dealloc_Workspace( &T ); + CHAMELEON_Dealloc_Workspace( &T ); return hres; } @@ -328,7 +328,7 @@ int testing_zgels(int argc, char **argv) * Check the orthogonality of Q */ -static int check_orthogonality(int M, int N, int LDQ, MORSE_Complex64_t *Q, double eps) +static int check_orthogonality(int M, int N, int LDQ, CHAMELEON_Complex64_t *Q, double eps) { double alpha, beta; double normQ; @@ -342,10 +342,10 @@ static int check_orthogonality(int M, int N, int LDQ, MORSE_Complex64_t *Q, doub beta = -1.0; /* Build the idendity matrix USE DLASET?*/ - MORSE_Complex64_t *Id = (MORSE_Complex64_t *) malloc(minMN*minMN*sizeof(MORSE_Complex64_t)); - memset((void*)Id, 0, minMN*minMN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Id = (CHAMELEON_Complex64_t *) malloc(minMN*minMN*sizeof(CHAMELEON_Complex64_t)); + memset((void*)Id, 0, minMN*minMN*sizeof(CHAMELEON_Complex64_t)); for (i = 0; i < minMN; i++) { - Id[i*minMN+i] = (MORSE_Complex64_t)1.0; + Id[i*minMN+i] = (CHAMELEON_Complex64_t)1.0; } /* Perform Id - Q'Q */ @@ -379,15 +379,15 @@ static int check_orthogonality(int M, int N, int LDQ, MORSE_Complex64_t *Q, doub * Check the factorization QR */ -static int check_factorization(int M, int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, int LDA, MORSE_Complex64_t *Q, double eps ) +static int check_factorization(int M, int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, CHAMELEON_Complex64_t *Q, double eps ) { double Anorm, Rnorm; - MORSE_Complex64_t alpha, beta; + CHAMELEON_Complex64_t alpha, beta; int info_factorization; int i,j; - MORSE_Complex64_t *Ql = (MORSE_Complex64_t *)malloc(M*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(M*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Ql = (CHAMELEON_Complex64_t *)malloc(M*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(M*N*sizeof(CHAMELEON_Complex64_t)); double *work = (double *)malloc(max(M,N)*sizeof(double)); alpha=1.0; @@ -395,23 +395,23 @@ static int check_factorization(int M, int N, MORSE_Complex64_t *A1, MORSE_Comple if (M >= N) { /* Extract the R */ - MORSE_Complex64_t *R = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); - memset((void*)R, 0, N*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *R = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); + memset((void*)R, 0, N*N*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'u', M, N, A2, LDA, R, N); /* Perform Ql=Q*R */ - memset((void*)Ql, 0, M*N*sizeof(MORSE_Complex64_t)); + memset((void*)Ql, 0, M*N*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, M, N, N, CBLAS_SADDR(alpha), Q, LDA, R, N, CBLAS_SADDR(beta), Ql, M); free(R); } else { /* Extract the L */ - MORSE_Complex64_t *L = (MORSE_Complex64_t *)malloc(M*M*sizeof(MORSE_Complex64_t)); - memset((void*)L, 0, M*M*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *L = (CHAMELEON_Complex64_t *)malloc(M*M*sizeof(CHAMELEON_Complex64_t)); + memset((void*)L, 0, M*M*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'l', M, N, A2, LDA, L, M); /* Perform Ql=LQ */ - memset((void*)Ql, 0, M*N*sizeof(MORSE_Complex64_t)); + memset((void*)Ql, 0, M*N*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, M, N, M, CBLAS_SADDR(alpha), L, M, Q, LDA, CBLAS_SADDR(beta), Ql, M); free(L); } @@ -453,11 +453,11 @@ static int check_factorization(int M, int N, MORSE_Complex64_t *A1, MORSE_Comple * Check the solution */ -static int check_solution(int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, MORSE_Complex64_t *X, int LDB, double eps) +static int check_solution(int M, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, CHAMELEON_Complex64_t *X, int LDB, double eps) { int info_solution; double Rnorm, Anorm, Xnorm, Bnorm; - MORSE_Complex64_t alpha, beta; + CHAMELEON_Complex64_t alpha, beta; double result; double *work = (double *)malloc(max(M, N)* sizeof(double)); @@ -471,21 +471,21 @@ static int check_solution(int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, M, NRHS, N, CBLAS_SADDR(alpha), A, LDA, X, LDB, CBLAS_SADDR(beta), B, LDB); if (M >= N) { - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(M*NRHS*sizeof(MORSE_Complex64_t)); - memset((void*)Residual, 0, M*NRHS*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(M*NRHS*sizeof(CHAMELEON_Complex64_t)); + memset((void*)Residual, 0, M*NRHS*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasConjTrans, CblasNoTrans, N, NRHS, M, CBLAS_SADDR(alpha), A, LDA, B, LDB, CBLAS_SADDR(beta), Residual, M); Rnorm = LAPACKE_zlange_work( LAPACK_COL_MAJOR, 'i', M, NRHS, Residual, M, work ); free(Residual); } else { - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(N*NRHS*sizeof(MORSE_Complex64_t)); - memset((void*)Residual, 0, N*NRHS*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(N*NRHS*sizeof(CHAMELEON_Complex64_t)); + memset((void*)Residual, 0, N*NRHS*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasConjTrans, CblasNoTrans, N, NRHS, M, CBLAS_SADDR(alpha), A, LDA, B, LDB, CBLAS_SADDR(beta), Residual, N); Rnorm = LAPACKE_zlange_work( LAPACK_COL_MAJOR, 'i', N, NRHS, Residual, N, work ); free(Residual); } - if (getenv("MORSE_TESTING_VERBOSE")) + if (getenv("CHAMELEON_TESTING_VERBOSE")) printf( "||A||_oo=%f\n||X||_oo=%f\n||B||_oo=%f\n||A X - B||_oo=%e\n", Anorm, Xnorm, Bnorm, Rnorm ); result = Rnorm / ( (Anorm*Xnorm+Bnorm)*N*eps ) ; diff --git a/testing/testing_zgels_hqr.c b/testing/testing_zgels_hqr.c index 9583e541381557825e036aeff70040ca099372ed..1acc21ba3867d72965eb0a27ae047ea93992f74a 100644 --- a/testing/testing_zgels_hqr.c +++ b/testing/testing_zgels_hqr.c @@ -24,15 +24,15 @@ #include <math.h> #include <assert.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_orthogonality(int, int, int, MORSE_Complex64_t*, double); -static int check_factorization(int, int, MORSE_Complex64_t*, MORSE_Complex64_t*, int, MORSE_Complex64_t*, double); -static int check_solution(int, int, int, MORSE_Complex64_t*, int, MORSE_Complex64_t*, MORSE_Complex64_t*, int, double); +static int check_orthogonality(int, int, int, CHAMELEON_Complex64_t*, double); +static int check_factorization(int, int, CHAMELEON_Complex64_t*, CHAMELEON_Complex64_t*, int, CHAMELEON_Complex64_t*, double); +static int check_solution(int, int, int, CHAMELEON_Complex64_t*, int, CHAMELEON_Complex64_t*, CHAMELEON_Complex64_t*, int, double); int testing_zgels_hqr(int argc, char **argv) { @@ -79,13 +79,13 @@ int testing_zgels_hqr(int argc, char **argv) int LDAxN = LDA*N; int LDBxNRHS = LDB*NRHS; - MORSE_Complex64_t *A1 = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *A2 = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B1 = (MORSE_Complex64_t *)malloc(LDB*NRHS*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B2 = (MORSE_Complex64_t *)malloc(LDB*NRHS*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Q = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_desc_t *TS; - MORSE_desc_t *TT = NULL; + CHAMELEON_Complex64_t *A1 = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *A2 = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B1 = (CHAMELEON_Complex64_t *)malloc(LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B2 = (CHAMELEON_Complex64_t *)malloc(LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Q = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAM_desc_t *TS; + CHAM_desc_t *TT = NULL; /* Check if unable to allocate memory */ if ( (!A1) || (!A2) || (!B1) || (!B2) || (!Q) ) @@ -97,10 +97,10 @@ int testing_zgels_hqr(int argc, char **argv) return -2; } - MORSE_Alloc_Workspace_zgels(M, N, &TS, 1, 1); - MORSE_Alloc_Workspace_zgels(M, N, &TT, 1, 1); - memset(TS->mat, 0, (TS->llm*TS->lln)*sizeof(MORSE_Complex64_t)); - memset(TT->mat, 0, (TT->llm*TT->lln)*sizeof(MORSE_Complex64_t)); + CHAMELEON_Alloc_Workspace_zgels(M, N, &TS, 1, 1); + CHAMELEON_Alloc_Workspace_zgels(M, N, &TT, 1, 1); + memset(TS->mat, 0, (TS->llm*TS->lln)*sizeof(CHAMELEON_Complex64_t)); + memset(TT->mat, 0, (TT->llm*TT->lln)*sizeof(CHAMELEON_Complex64_t)); eps = LAPACKE_dlamch_work( 'e' ); @@ -123,20 +123,20 @@ int testing_zgels_hqr(int argc, char **argv) LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, N, A1, LDA, A2, LDA ); /* Initialize B1 and B2 */ - memset(B2, 0, LDB*NRHS*sizeof(MORSE_Complex64_t)); + memset(B2, 0, LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlarnv_work(IONE, ISEED, LDBxNRHS, B1); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, NRHS, B1, LDB, B2, LDB ); - /* MORSE ZGELS */ - MORSE_zgels_param(&qrtree, MorseNoTrans, M, N, NRHS, A2, LDA, TS, TT, B2, LDB); + /* CHAMELEON ZGELS */ + CHAMELEON_zgels_param(&qrtree, ChamNoTrans, M, N, NRHS, A2, LDA, TS, TT, B2, LDB); - /* MORSE ZGELS */ + /* CHAMELEON ZGELS */ if (M >= N) /* Building the economy-size Q */ - MORSE_zungqr_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); + CHAMELEON_zungqr_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); else /* Building the economy-size Q */ - MORSE_zunglq_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); + CHAMELEON_zunglq_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); printf("\n"); printf("------ TESTS FOR CHAMELEON ZGELS_HQR ROUTINE ------- \n"); @@ -171,7 +171,7 @@ int testing_zgels_hqr(int argc, char **argv) LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, N, A1, LDA, A2, LDA ); /* Initialize B1 and B2 */ - memset(B2, 0, LDB*NRHS*sizeof(MORSE_Complex64_t)); + memset(B2, 0, LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlarnv_work(IONE, ISEED, LDBxNRHS, B1); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, NRHS, B1, LDB, B2, LDB ); @@ -185,10 +185,10 @@ int testing_zgels_hqr(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n", eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - /* Morse routines */ - MORSE_zgeqrf_param( &qrtree, M, N, A2, LDA, TS, TT ); - MORSE_zungqr_param( &qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); - MORSE_zgeqrs_param( &qrtree, M, N, NRHS, A2, LDA, TS,TT, B2, LDB); + /* Cham routines */ + CHAMELEON_zgeqrf_param( &qrtree, M, N, A2, LDA, TS, TT ); + CHAMELEON_zungqr_param( &qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); + CHAMELEON_zgeqrs_param( &qrtree, M, N, NRHS, A2, LDA, TS,TT, B2, LDB); /* Check the orthogonality, factorization and the solution */ info_ortho = check_orthogonality(M, N, LDA, Q, eps); @@ -216,13 +216,13 @@ int testing_zgels_hqr(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n", eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - /* Morse routines */ - MORSE_zgelqf_param(&qrtree, M, N, A2, LDA, TS, TT); - //MORSE_zgelqf(M, N, A2, LDA, TS); - MORSE_zunglq_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); - //MORSE_zunglq(M, N, K, A2, LDA, TS, Q, LDA); - MORSE_zgelqs_param(&qrtree, M, N, NRHS, A2, LDA, TS, TT, B2, LDB); - //MORSE_zgelqs(M, N, NRHS, A2, LDA, TS, B2, LDB); + /* Cham routines */ + CHAMELEON_zgelqf_param(&qrtree, M, N, A2, LDA, TS, TT); + //CHAMELEON_zgelqf(M, N, A2, LDA, TS); + CHAMELEON_zunglq_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); + //CHAMELEON_zunglq(M, N, K, A2, LDA, TS, Q, LDA); + CHAMELEON_zgelqs_param(&qrtree, M, N, NRHS, A2, LDA, TS, TT, B2, LDB); + //CHAMELEON_zgelqs(M, N, NRHS, A2, LDA, TS, B2, LDB); /* Check the orthogonality, factorization and the solution */ info_ortho = check_orthogonality(M, N, LDA, Q, eps); @@ -250,14 +250,14 @@ int testing_zgels_hqr(int argc, char **argv) LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, N, A1, LDA, A2, LDA ); /* Initialize B1 and B2 */ - memset(B2, 0, LDB*NRHS*sizeof(MORSE_Complex64_t)); + memset(B2, 0, LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlarnv_work(IONE, ISEED, LDBxNRHS, B1); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, NRHS, B1, LDB, B2, LDB ); /* Initialize Q */ LAPACKE_zlaset_work(LAPACK_COL_MAJOR, 'A', LDA, N, 0., 1., Q, LDA ); - /* MORSE ZGEQRF+ ZUNMQR + ZTRSM */ + /* CHAMELEON ZGEQRF+ ZUNMQR + ZTRSM */ if (M >= N) { printf("\n"); printf("------ TESTS FOR CHAMELEON ZGEQRF + ZUNMQR + ZTRSM ROUTINE ------- \n"); @@ -268,10 +268,10 @@ int testing_zgels_hqr(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n",eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - MORSE_zgeqrf_param( &qrtree, M, N, A2, LDA, TS, TT ); - MORSE_zungqr_param( &qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); - MORSE_zunmqr_param( &qrtree, MorseLeft, MorseConjTrans, M, NRHS, N, A2, LDA, TS, TT, B2, LDB); - MORSE_ztrsm(MorseLeft, MorseUpper, MorseNoTrans, MorseNonUnit, N, NRHS, 1.0, A2, LDA, B2, LDB); + CHAMELEON_zgeqrf_param( &qrtree, M, N, A2, LDA, TS, TT ); + CHAMELEON_zungqr_param( &qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); + CHAMELEON_zunmqr_param( &qrtree, ChamLeft, ChamConjTrans, M, NRHS, N, A2, LDA, TS, TT, B2, LDB); + CHAMELEON_ztrsm(ChamLeft, ChamUpper, ChamNoTrans, ChamNonUnit, N, NRHS, 1.0, A2, LDA, B2, LDB); } else { printf("\n"); @@ -283,10 +283,10 @@ int testing_zgels_hqr(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n",eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - MORSE_zgelqf_param(&qrtree, M, N, A2, LDA, TS, TT); - MORSE_ztrsm(MorseLeft, MorseLower, MorseNoTrans, MorseNonUnit, M, NRHS, 1.0, A2, LDA, B2, LDB); - MORSE_zunglq_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); - MORSE_zunmlq_param(&qrtree, MorseLeft, MorseConjTrans, N, NRHS, M, A2, LDA, TS, TT, B2, LDB); + CHAMELEON_zgelqf_param(&qrtree, M, N, A2, LDA, TS, TT); + CHAMELEON_ztrsm(ChamLeft, ChamLower, ChamNoTrans, ChamNonUnit, M, NRHS, 1.0, A2, LDA, B2, LDB); + CHAMELEON_zunglq_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); + CHAMELEON_zunmlq_param(&qrtree, ChamLeft, ChamConjTrans, N, NRHS, M, A2, LDA, TS, TT, B2, LDB); } /* Check the orthogonality, factorization and the solution */ @@ -322,8 +322,8 @@ int testing_zgels_hqr(int argc, char **argv) libhqr_finalize( &qrtree ); free(A1); free(A2); free(B1); free(B2); free(Q); - MORSE_Dealloc_Workspace( &TS ); - MORSE_Dealloc_Workspace( &TT ); + CHAMELEON_Dealloc_Workspace( &TS ); + CHAMELEON_Dealloc_Workspace( &TT ); return hres; } @@ -332,7 +332,7 @@ int testing_zgels_hqr(int argc, char **argv) * Check the orthogonality of Q */ -static int check_orthogonality(int M, int N, int LDQ, MORSE_Complex64_t *Q, double eps) +static int check_orthogonality(int M, int N, int LDQ, CHAMELEON_Complex64_t *Q, double eps) { double alpha, beta; double normQ; @@ -345,7 +345,7 @@ static int check_orthogonality(int M, int N, int LDQ, MORSE_Complex64_t *Q, doub beta = -1.0; /* Build the idendity matrix USE DLASET?*/ - MORSE_Complex64_t *Id = (MORSE_Complex64_t *) malloc(minMN*minMN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Id = (CHAMELEON_Complex64_t *) malloc(minMN*minMN*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlaset_work(LAPACK_COL_MAJOR, 'A', minMN, minMN, 0., 1., Id, minMN ); /* Perform Id - Q'Q */ @@ -378,15 +378,15 @@ static int check_orthogonality(int M, int N, int LDQ, MORSE_Complex64_t *Q, doub * Check the factorization QR */ -static int check_factorization(int M, int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, int LDA, MORSE_Complex64_t *Q, double eps ) +static int check_factorization(int M, int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, CHAMELEON_Complex64_t *Q, double eps ) { double Anorm, Rnorm; - MORSE_Complex64_t alpha, beta; + CHAMELEON_Complex64_t alpha, beta; int info_factorization; int i,j; - MORSE_Complex64_t *Ql = (MORSE_Complex64_t *)malloc(M*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(M*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Ql = (CHAMELEON_Complex64_t *)malloc(M*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(M*N*sizeof(CHAMELEON_Complex64_t)); double *work = (double *)malloc(max(M,N)*sizeof(double)); alpha=1.0; @@ -394,23 +394,23 @@ static int check_factorization(int M, int N, MORSE_Complex64_t *A1, MORSE_Comple if (M >= N) { /* Extract the R */ - MORSE_Complex64_t *R = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); - memset((void*)R, 0, N*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *R = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); + memset((void*)R, 0, N*N*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'u', M, N, A2, LDA, R, N); /* Perform Ql=Q*R */ - memset((void*)Ql, 0, M*N*sizeof(MORSE_Complex64_t)); + memset((void*)Ql, 0, M*N*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, M, N, N, CBLAS_SADDR(alpha), Q, LDA, R, N, CBLAS_SADDR(beta), Ql, M); free(R); } else { /* Extract the L */ - MORSE_Complex64_t *L = (MORSE_Complex64_t *)malloc(M*M*sizeof(MORSE_Complex64_t)); - memset((void*)L, 0, M*M*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *L = (CHAMELEON_Complex64_t *)malloc(M*M*sizeof(CHAMELEON_Complex64_t)); + memset((void*)L, 0, M*M*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'l', M, N, A2, LDA, L, M); /* Perform Ql=LQ */ - memset((void*)Ql, 0, M*N*sizeof(MORSE_Complex64_t)); + memset((void*)Ql, 0, M*N*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, M, N, M, CBLAS_SADDR(alpha), L, M, Q, LDA, CBLAS_SADDR(beta), Ql, M); free(L); } @@ -452,11 +452,11 @@ static int check_factorization(int M, int N, MORSE_Complex64_t *A1, MORSE_Comple * Check the solution */ -static int check_solution(int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, MORSE_Complex64_t *X, int LDB, double eps) +static int check_solution(int M, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, CHAMELEON_Complex64_t *X, int LDB, double eps) { int info_solution; double Rnorm, Anorm, Xnorm, Bnorm; - MORSE_Complex64_t alpha, beta; + CHAMELEON_Complex64_t alpha, beta; double result; double *work = (double *)malloc(max(M, N)* sizeof(double)); @@ -470,21 +470,21 @@ static int check_solution(int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, M, NRHS, N, CBLAS_SADDR(alpha), A, LDA, X, LDB, CBLAS_SADDR(beta), B, LDB); if (M >= N) { - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(M*NRHS*sizeof(MORSE_Complex64_t)); - memset((void*)Residual, 0, M*NRHS*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(M*NRHS*sizeof(CHAMELEON_Complex64_t)); + memset((void*)Residual, 0, M*NRHS*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasConjTrans, CblasNoTrans, N, NRHS, M, CBLAS_SADDR(alpha), A, LDA, B, LDB, CBLAS_SADDR(beta), Residual, M); Rnorm = LAPACKE_zlange( LAPACK_COL_MAJOR, 'I', M, NRHS, Residual, M ); free(Residual); } else { - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(N*NRHS*sizeof(MORSE_Complex64_t)); - memset((void*)Residual, 0, N*NRHS*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(N*NRHS*sizeof(CHAMELEON_Complex64_t)); + memset((void*)Residual, 0, N*NRHS*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasConjTrans, CblasNoTrans, N, NRHS, M, CBLAS_SADDR(alpha), A, LDA, B, LDB, CBLAS_SADDR(beta), Residual, N); Rnorm = LAPACKE_zlange( LAPACK_COL_MAJOR, 'I', N, NRHS, Residual, N ); free(Residual); } - if (getenv("MORSE_TESTING_VERBOSE")) + if (getenv("CHAMELEON_TESTING_VERBOSE")) printf( "||A||_oo=%f\n||X||_oo=%f\n||B||_oo=%f\n||A X - B||_oo=%e\n", Anorm, Xnorm, Bnorm, Rnorm ); result = Rnorm / ( (Anorm*Xnorm+Bnorm)*N*eps ) ; diff --git a/testing/testing_zgels_systolic.c b/testing/testing_zgels_systolic.c index 600c3b142842caac9a54899dfbbe9b62c471558a..517ef85f28f7fca09296921a2590045eb3675b57 100644 --- a/testing/testing_zgels_systolic.c +++ b/testing/testing_zgels_systolic.c @@ -24,15 +24,15 @@ #include <math.h> #include <assert.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_orthogonality(int, int, int, MORSE_Complex64_t*, double); -static int check_factorization(int, int, MORSE_Complex64_t*, MORSE_Complex64_t*, int, MORSE_Complex64_t*, double); -static int check_solution(int, int, int, MORSE_Complex64_t*, int, MORSE_Complex64_t*, MORSE_Complex64_t*, int, double); +static int check_orthogonality(int, int, int, CHAMELEON_Complex64_t*, double); +static int check_factorization(int, int, CHAMELEON_Complex64_t*, CHAMELEON_Complex64_t*, int, CHAMELEON_Complex64_t*, double); +static int check_solution(int, int, int, CHAMELEON_Complex64_t*, int, CHAMELEON_Complex64_t*, CHAMELEON_Complex64_t*, int, double); int testing_zgels_systolic(int argc, char **argv) { @@ -73,13 +73,13 @@ int testing_zgels_systolic(int argc, char **argv) int LDAxN = LDA*N; int LDBxNRHS = LDB*NRHS; - MORSE_Complex64_t *A1 = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *A2 = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B1 = (MORSE_Complex64_t *)malloc(LDB*NRHS*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B2 = (MORSE_Complex64_t *)malloc(LDB*NRHS*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Q = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_desc_t *TS; - MORSE_desc_t *TT = NULL; + CHAMELEON_Complex64_t *A1 = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *A2 = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B1 = (CHAMELEON_Complex64_t *)malloc(LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B2 = (CHAMELEON_Complex64_t *)malloc(LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Q = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAM_desc_t *TS; + CHAM_desc_t *TT = NULL; /* Check if unable to allocate memory */ if ( (!A1) || (!A2) || (!B1) || (!B2) || (!Q) ) @@ -91,10 +91,10 @@ int testing_zgels_systolic(int argc, char **argv) return -2; } - MORSE_Alloc_Workspace_zgels(M, N, &TS, 1, 1); - MORSE_Alloc_Workspace_zgels(M, N, &TT, 1, 1); - memset(TS->mat, 0, (TS->llm*TS->lln)*sizeof(MORSE_Complex64_t)); - memset(TT->mat, 0, (TT->llm*TT->lln)*sizeof(MORSE_Complex64_t)); + CHAMELEON_Alloc_Workspace_zgels(M, N, &TS, 1, 1); + CHAMELEON_Alloc_Workspace_zgels(M, N, &TT, 1, 1); + memset(TS->mat, 0, (TS->llm*TS->lln)*sizeof(CHAMELEON_Complex64_t)); + memset(TT->mat, 0, (TT->llm*TT->lln)*sizeof(CHAMELEON_Complex64_t)); eps = LAPACKE_dlamch_work( 'e' ); @@ -117,22 +117,22 @@ int testing_zgels_systolic(int argc, char **argv) LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, N, A1, LDA, A2, LDA ); /* Initialize B1 and B2 */ - memset(B2, 0, LDB*NRHS*sizeof(MORSE_Complex64_t)); + memset(B2, 0, LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlarnv_work(IONE, ISEED, LDBxNRHS, B1); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, NRHS, B1, LDB, B2, LDB ); - /* MORSE ZGELS */ - MORSE_zgels_param(&qrtree, MorseNoTrans, M, N, NRHS, A2, LDA, TS, TT, B2, LDB); - //MORSE_zgels(MorseNoTrans, M, N, NRHS, A2, LDA, TS, B2, LDB); + /* CHAMELEON ZGELS */ + CHAMELEON_zgels_param(&qrtree, ChamNoTrans, M, N, NRHS, A2, LDA, TS, TT, B2, LDB); + //CHAMELEON_zgels(ChamNoTrans, M, N, NRHS, A2, LDA, TS, B2, LDB); - /* MORSE ZGELS */ + /* CHAMELEON ZGELS */ if (M >= N) /* Building the economy-size Q */ - MORSE_zungqr_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); + CHAMELEON_zungqr_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); else /* Building the economy-size Q */ - MORSE_zunglq_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); - //MORSE_zunglq(M, N, K, A2, LDA, TS, Q, LDA); + CHAMELEON_zunglq_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); + //CHAMELEON_zunglq(M, N, K, A2, LDA, TS, Q, LDA); printf("\n"); @@ -168,7 +168,7 @@ int testing_zgels_systolic(int argc, char **argv) LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, N, A1, LDA, A2, LDA ); /* Initialize B1 and B2 */ - memset(B2, 0, LDB*NRHS*sizeof(MORSE_Complex64_t)); + memset(B2, 0, LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlarnv_work(IONE, ISEED, LDBxNRHS, B1); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, NRHS, B1, LDB, B2, LDB ); @@ -182,10 +182,10 @@ int testing_zgels_systolic(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n", eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - /* Morse routines */ - MORSE_zgeqrf_param( &qrtree, M, N, A2, LDA, TS, TT ); - MORSE_zungqr_param( &qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); - MORSE_zgeqrs_param( &qrtree, M, N, NRHS, A2, LDA, TS,TT, B2, LDB); + /* Cham routines */ + CHAMELEON_zgeqrf_param( &qrtree, M, N, A2, LDA, TS, TT ); + CHAMELEON_zungqr_param( &qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); + CHAMELEON_zgeqrs_param( &qrtree, M, N, NRHS, A2, LDA, TS,TT, B2, LDB); /* Check the orthogonality, factorization and the solution */ info_ortho = check_orthogonality(M, N, LDA, Q, eps); @@ -213,12 +213,12 @@ int testing_zgels_systolic(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n", eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - /* Morse routines */ - MORSE_zgelqf_param(&qrtree, M, N, A2, LDA, TS, TT); - //MORSE_zunglq(M, N, K, A2, LDA, TS, Q, LDA); - MORSE_zunglq_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); - MORSE_zgelqs_param(&qrtree, M, N, NRHS, A2, LDA, TS, TT, B2, LDB); - //MORSE_zgelqs(M, N, NRHS, A2, LDA, TS, B2, LDB); + /* Cham routines */ + CHAMELEON_zgelqf_param(&qrtree, M, N, A2, LDA, TS, TT); + //CHAMELEON_zunglq(M, N, K, A2, LDA, TS, Q, LDA); + CHAMELEON_zunglq_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); + CHAMELEON_zgelqs_param(&qrtree, M, N, NRHS, A2, LDA, TS, TT, B2, LDB); + //CHAMELEON_zgelqs(M, N, NRHS, A2, LDA, TS, B2, LDB); /* Check the orthogonality, factorization and the solution */ info_ortho = check_orthogonality(M, N, LDA, Q, eps); @@ -246,14 +246,14 @@ int testing_zgels_systolic(int argc, char **argv) LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, N, A1, LDA, A2, LDA ); /* Initialize B1 and B2 */ - memset(B2, 0, LDB*NRHS*sizeof(MORSE_Complex64_t)); + memset(B2, 0, LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlarnv_work(IONE, ISEED, LDBxNRHS, B1); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, NRHS, B1, LDB, B2, LDB ); /* Initialize Q */ LAPACKE_zlaset_work(LAPACK_COL_MAJOR, 'A', LDA, N, 0., 1., Q, LDA ); - /* MORSE ZGEQRF+ ZUNMQR + ZTRSM */ + /* CHAMELEON ZGEQRF+ ZUNMQR + ZTRSM */ if (M >= N) { printf("\n"); printf("------ TESTS FOR CHAMELEON ZGEQRF + ZUNMQR + ZTRSM ROUTINE ------- \n"); @@ -264,10 +264,10 @@ int testing_zgels_systolic(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n",eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - MORSE_zgeqrf_param( &qrtree, M, N, A2, LDA, TS, TT ); - MORSE_zungqr_param( &qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); - MORSE_zunmqr_param( &qrtree, MorseLeft, MorseConjTrans, M, NRHS, N, A2, LDA, TS, TT, B2, LDB); - MORSE_ztrsm(MorseLeft, MorseUpper, MorseNoTrans, MorseNonUnit, N, NRHS, 1.0, A2, LDA, B2, LDB); + CHAMELEON_zgeqrf_param( &qrtree, M, N, A2, LDA, TS, TT ); + CHAMELEON_zungqr_param( &qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); + CHAMELEON_zunmqr_param( &qrtree, ChamLeft, ChamConjTrans, M, NRHS, N, A2, LDA, TS, TT, B2, LDB); + CHAMELEON_ztrsm(ChamLeft, ChamUpper, ChamNoTrans, ChamNonUnit, N, NRHS, 1.0, A2, LDA, B2, LDB); } else { printf("\n"); @@ -279,12 +279,12 @@ int testing_zgels_systolic(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n",eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - MORSE_zgelqf_param(&qrtree, M, N, A2, LDA, TS, TT); - MORSE_ztrsm(MorseLeft, MorseLower, MorseNoTrans, MorseNonUnit, M, NRHS, 1.0, A2, LDA, B2, LDB); - MORSE_zunglq_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); - //MORSE_zunglq(M, N, K, A2, LDA, TS, Q, LDA); - MORSE_zunmlq_param(&qrtree, MorseLeft, MorseConjTrans, N, NRHS, M, A2, LDA, TS, TT, B2, LDB); - //MORSE_zunmlq(MorseLeft, MorseConjTrans, N, NRHS, M, A2, LDA, TS, B2, LDB); + CHAMELEON_zgelqf_param(&qrtree, M, N, A2, LDA, TS, TT); + CHAMELEON_ztrsm(ChamLeft, ChamLower, ChamNoTrans, ChamNonUnit, M, NRHS, 1.0, A2, LDA, B2, LDB); + CHAMELEON_zunglq_param(&qrtree, M, N, K, A2, LDA, TS, TT, Q, LDA); + //CHAMELEON_zunglq(M, N, K, A2, LDA, TS, Q, LDA); + CHAMELEON_zunmlq_param(&qrtree, ChamLeft, ChamConjTrans, N, NRHS, M, A2, LDA, TS, TT, B2, LDB); + //CHAMELEON_zunmlq(ChamLeft, ChamConjTrans, N, NRHS, M, A2, LDA, TS, B2, LDB); } /* Check the orthogonality, factorization and the solution */ @@ -320,8 +320,8 @@ int testing_zgels_systolic(int argc, char **argv) libhqr_finalize( &qrtree ); free(A1); free(A2); free(B1); free(B2); free(Q); - MORSE_Dealloc_Workspace( &TS ); - MORSE_Dealloc_Workspace( &TT ); + CHAMELEON_Dealloc_Workspace( &TS ); + CHAMELEON_Dealloc_Workspace( &TT ); return hres; } @@ -330,7 +330,7 @@ int testing_zgels_systolic(int argc, char **argv) * Check the orthogonality of Q */ -static int check_orthogonality(int M, int N, int LDQ, MORSE_Complex64_t *Q, double eps) +static int check_orthogonality(int M, int N, int LDQ, CHAMELEON_Complex64_t *Q, double eps) { double alpha, beta; double normQ; @@ -343,7 +343,7 @@ static int check_orthogonality(int M, int N, int LDQ, MORSE_Complex64_t *Q, doub beta = -1.0; /* Build the idendity matrix USE DLASET?*/ - MORSE_Complex64_t *Id = (MORSE_Complex64_t *) malloc(minMN*minMN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Id = (CHAMELEON_Complex64_t *) malloc(minMN*minMN*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlaset_work(LAPACK_COL_MAJOR, 'A', minMN, minMN, 0., 1., Id, minMN ); /* Perform Id - Q'Q */ @@ -376,15 +376,15 @@ static int check_orthogonality(int M, int N, int LDQ, MORSE_Complex64_t *Q, doub * Check the factorization QR */ -static int check_factorization(int M, int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, int LDA, MORSE_Complex64_t *Q, double eps ) +static int check_factorization(int M, int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, CHAMELEON_Complex64_t *Q, double eps ) { double Anorm, Rnorm; - MORSE_Complex64_t alpha, beta; + CHAMELEON_Complex64_t alpha, beta; int info_factorization; int i,j; - MORSE_Complex64_t *Ql = (MORSE_Complex64_t *)malloc(M*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(M*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Ql = (CHAMELEON_Complex64_t *)malloc(M*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(M*N*sizeof(CHAMELEON_Complex64_t)); double *work = (double *)malloc(max(M,N)*sizeof(double)); alpha=1.0; @@ -392,23 +392,23 @@ static int check_factorization(int M, int N, MORSE_Complex64_t *A1, MORSE_Comple if (M >= N) { /* Extract the R */ - MORSE_Complex64_t *R = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); - memset((void*)R, 0, N*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *R = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); + memset((void*)R, 0, N*N*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'u', M, N, A2, LDA, R, N); /* Perform Ql=Q*R */ - memset((void*)Ql, 0, M*N*sizeof(MORSE_Complex64_t)); + memset((void*)Ql, 0, M*N*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, M, N, N, CBLAS_SADDR(alpha), Q, LDA, R, N, CBLAS_SADDR(beta), Ql, M); free(R); } else { /* Extract the L */ - MORSE_Complex64_t *L = (MORSE_Complex64_t *)malloc(M*M*sizeof(MORSE_Complex64_t)); - memset((void*)L, 0, M*M*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *L = (CHAMELEON_Complex64_t *)malloc(M*M*sizeof(CHAMELEON_Complex64_t)); + memset((void*)L, 0, M*M*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'l', M, N, A2, LDA, L, M); /* Perform Ql=LQ */ - memset((void*)Ql, 0, M*N*sizeof(MORSE_Complex64_t)); + memset((void*)Ql, 0, M*N*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, M, N, M, CBLAS_SADDR(alpha), L, M, Q, LDA, CBLAS_SADDR(beta), Ql, M); free(L); } @@ -450,11 +450,11 @@ static int check_factorization(int M, int N, MORSE_Complex64_t *A1, MORSE_Comple * Check the solution */ -static int check_solution(int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, MORSE_Complex64_t *B, MORSE_Complex64_t *X, int LDB, double eps) +static int check_solution(int M, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, CHAMELEON_Complex64_t *B, CHAMELEON_Complex64_t *X, int LDB, double eps) { int info_solution; double Rnorm, Anorm, Xnorm, Bnorm; - MORSE_Complex64_t alpha, beta; + CHAMELEON_Complex64_t alpha, beta; double result; double *work = (double *)malloc(max(M, N)* sizeof(double)); @@ -468,21 +468,21 @@ static int check_solution(int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, M, NRHS, N, CBLAS_SADDR(alpha), A, LDA, X, LDB, CBLAS_SADDR(beta), B, LDB); if (M >= N) { - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(M*NRHS*sizeof(MORSE_Complex64_t)); - memset((void*)Residual, 0, M*NRHS*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(M*NRHS*sizeof(CHAMELEON_Complex64_t)); + memset((void*)Residual, 0, M*NRHS*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasConjTrans, CblasNoTrans, N, NRHS, M, CBLAS_SADDR(alpha), A, LDA, B, LDB, CBLAS_SADDR(beta), Residual, M); Rnorm = LAPACKE_zlange( LAPACK_COL_MAJOR, 'I', M, NRHS, Residual, M ); free(Residual); } else { - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(N*NRHS*sizeof(MORSE_Complex64_t)); - memset((void*)Residual, 0, N*NRHS*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(N*NRHS*sizeof(CHAMELEON_Complex64_t)); + memset((void*)Residual, 0, N*NRHS*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasConjTrans, CblasNoTrans, N, NRHS, M, CBLAS_SADDR(alpha), A, LDA, B, LDB, CBLAS_SADDR(beta), Residual, N); Rnorm = LAPACKE_zlange( LAPACK_COL_MAJOR, 'I', N, NRHS, Residual, N ); free(Residual); } - if (getenv("MORSE_TESTING_VERBOSE")) + if (getenv("CHAMELEON_TESTING_VERBOSE")) printf( "||A||_oo=%f\n||X||_oo=%f\n||B||_oo=%f\n||A X - B||_oo=%e\n", Anorm, Xnorm, Bnorm, Rnorm ); result = Rnorm / ( (Anorm*Xnorm+Bnorm)*N*eps ) ; diff --git a/testing/testing_zgemm.c b/testing/testing_zgemm.c index 44336fef78a4d24eb5a5fab8ababea132ba58492..a46877522f7f620805c1705673bb892bca1decad 100644 --- a/testing/testing_zgemm.c +++ b/testing/testing_zgemm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,7 +26,7 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> @@ -35,10 +35,10 @@ #include <mpi.h> #endif -static int check_solution(MORSE_enum transA, MORSE_enum transB, int M, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC); +static int check_solution(cham_trans_t transA, cham_trans_t transB, int M, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC); int testing_zgemm(int argc, char **argv) { @@ -57,8 +57,8 @@ int testing_zgemm(int argc, char **argv) return -1; } - MORSE_Complex64_t alpha = (MORSE_Complex64_t) atol(argv[0]); - MORSE_Complex64_t beta = (MORSE_Complex64_t) atol(argv[1]); + CHAMELEON_Complex64_t alpha = (CHAMELEON_Complex64_t) atol(argv[0]); + CHAMELEON_Complex64_t beta = (CHAMELEON_Complex64_t) atol(argv[1]); int M = atoi(argv[2]); int N = atoi(argv[3]); int K = atoi(argv[4]); @@ -73,11 +73,11 @@ int testing_zgemm(int argc, char **argv) int LDBxN = LDB*max(K,N); int LDCxN = LDC*N; - MORSE_Complex64_t *A = (MORSE_Complex64_t *)malloc(LDAxK*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B = (MORSE_Complex64_t *)malloc(LDBxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *C = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cinit = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cfinal = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A = (CHAMELEON_Complex64_t *)malloc(LDAxK*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B = (CHAMELEON_Complex64_t *)malloc(LDBxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *C = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cinit = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cfinal = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); /* Check if unable to allocate memory */ if ( (!A) || (!B) || (!C) || (!Cinit) || (!Cfinal) ) @@ -90,7 +90,7 @@ int testing_zgemm(int argc, char **argv) eps = LAPACKE_dlamch_work('e'); - if (MORSE_My_Mpi_Rank() == 0){ + if (CHAMELEON_My_Mpi_Rank() == 0){ printf("\n"); printf("------ TESTS FOR CHAMELEON ZGEMM ROUTINE ------- \n"); printf(" Size of the Matrix %d by %d\n", M, N); @@ -124,13 +124,13 @@ int testing_zgemm(int argc, char **argv) for ( j = 0; j < N; j++) Cfinal[LDC*j+i] = C[LDC*j+i]; - /* MORSE ZGEMM */ - MORSE_zgemm(trans[ta], trans[tb], M, N, K, alpha, A, LDA, B, LDB, beta, Cfinal, LDC); + /* CHAMELEON ZGEMM */ + CHAMELEON_zgemm(trans[ta], trans[tb], M, N, K, alpha, A, LDA, B, LDB, beta, Cfinal, LDC); /* Check the solution */ info_solution = check_solution(trans[ta], trans[tb], M, N, K, alpha, A, LDA, B, LDB, beta, Cinit, Cfinal, LDC); - if (MORSE_My_Mpi_Rank() == 0){ + if (CHAMELEON_My_Mpi_Rank() == 0){ if (info_solution == 0) { printf("***************************************************\n"); printf(" ---- TESTING ZGEMM (%s, %s) ............... PASSED !\n", transstr[ta], transstr[tb]); @@ -157,27 +157,27 @@ int testing_zgemm(int argc, char **argv) * Check the solution */ -static int check_solution(MORSE_enum transA, MORSE_enum transB, int M, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC) +static int check_solution(cham_trans_t transA, cham_trans_t transB, int M, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC) { int info_solution; - double Anorm, Bnorm, Cinitnorm, Cmorsenorm, Clapacknorm, Rnorm, result; + double Anorm, Bnorm, Cinitnorm, Cchamnorm, Clapacknorm, Rnorm, result; double eps; - MORSE_Complex64_t beta_const; + CHAMELEON_Complex64_t beta_const; double *work = (double *)malloc(max(K,max(M, N))* sizeof(double)); int Am, An, Bm, Bn; beta_const = -1.0; - if (transA == MorseNoTrans) { + if (transA == ChamNoTrans) { Am = M; An = K; } else { Am = K; An = M; } - if (transB == MorseNoTrans) { + if (transB == ChamNoTrans) { Bm = K; Bn = N; } else { Bm = N; Bn = K; @@ -186,38 +186,38 @@ static int check_solution(MORSE_enum transA, MORSE_enum transB, int M, int N, in Anorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', Am, An, A, LDA, work); Bnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', Bm, Bn, B, LDB, work); Cinitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cref, LDC, work); - Cmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cmorse, LDC, work); + Cchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Ccham, LDC, work); cblas_zgemm(CblasColMajor, (CBLAS_TRANSPOSE)transA, (CBLAS_TRANSPOSE)transB, M, N, K, CBLAS_SADDR(alpha), A, LDA, B, LDB, CBLAS_SADDR(beta), Cref, LDC); Clapacknorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cref, LDC, work); - cblas_zaxpy(LDC * N, CBLAS_SADDR(beta_const), Cmorse, 1, Cref, 1); + cblas_zaxpy(LDC * N, CBLAS_SADDR(beta_const), Ccham, 1, Cref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cref, LDC, work); eps = LAPACKE_dlamch_work('e'); - if (MORSE_My_Mpi_Rank() == 0) - printf("Rnorm %e, Anorm %e, Bnorm %e, Cinitnorm %e, Cmorsenorm %e, Clapacknorm %e\n", - Rnorm, Anorm, Bnorm, Cinitnorm, Cmorsenorm, Clapacknorm); + if (CHAMELEON_My_Mpi_Rank() == 0) + printf("Rnorm %e, Anorm %e, Bnorm %e, Cinitnorm %e, Cchamnorm %e, Clapacknorm %e\n", + Rnorm, Anorm, Bnorm, Cinitnorm, Cchamnorm, Clapacknorm); result = Rnorm / ((Anorm + Bnorm + Cinitnorm) * N * eps); - if (MORSE_My_Mpi_Rank() == 0){ + if (CHAMELEON_My_Mpi_Rank() == 0){ printf("============\n"); printf("Checking the norm of the difference against reference ZGEMM \n"); - printf("-- ||Cmorse - Clapack||_oo/((||A||_oo+||B||_oo+||C||_oo).N.eps) = %e \n", + printf("-- ||Ccham - Clapack||_oo/((||A||_oo+||B||_oo+||C||_oo).N.eps) = %e \n", result); } if ( isnan(Rnorm) || isinf(Rnorm) || isnan(result) || isinf(result) || (result > 10.0) ) { - if (MORSE_My_Mpi_Rank() == 0) + if (CHAMELEON_My_Mpi_Rank() == 0) printf("-- The solution is suspicious ! \n"); info_solution = 1; } else { - //printf("MORSE_My_Mpi_Rank() : %d\n",MORSE_My_Mpi_Rank()); - if (MORSE_My_Mpi_Rank() == 0) + //printf("CHAMELEON_My_Mpi_Rank() : %d\n",CHAMELEON_My_Mpi_Rank()); + if (CHAMELEON_My_Mpi_Rank() == 0) printf("-- The solution is CORRECT ! \n"); info_solution= 0 ; } diff --git a/testing/testing_zgeqrf_qdwh.c b/testing/testing_zgeqrf_qdwh.c index 6047451cb4d33e95b62f5f548dc8681d2a9f64cb..c267f09da831bab924ed4bab5c9813dc627523fc 100644 --- a/testing/testing_zgeqrf_qdwh.c +++ b/testing/testing_zgeqrf_qdwh.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Bilel Hadri * @author Hatem Ltaief * @author Mathieu Faverge @@ -28,15 +28,15 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include <coreblas/coreblas_z.h> #include "testing_zauxiliary.h" -static int check_orthogonality(int, int, const MORSE_Complex64_t*, int, double); -static int check_factorization(int, int, const MORSE_Complex64_t*, int, const MORSE_Complex64_t*, int, MORSE_Complex64_t*, int, double); +static int check_orthogonality(int, int, const CHAMELEON_Complex64_t*, int, double); +static int check_factorization(int, int, const CHAMELEON_Complex64_t*, int, const CHAMELEON_Complex64_t*, int, CHAMELEON_Complex64_t*, int, double); int testing_zgeqrf_qdwh(int argc, char **argv) { @@ -69,13 +69,13 @@ int testing_zgeqrf_qdwh(int argc, char **argv) * and where A1 is the same size as A2 * */ - MORSE_Complex64_t *A1 = (MORSE_Complex64_t *)malloc(M*M*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *A2 = (MORSE_Complex64_t *)malloc(M*M*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Q1 = (MORSE_Complex64_t *)malloc(M*M*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Q2 = (MORSE_Complex64_t *)malloc(M*M*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *A = (MORSE_Complex64_t *)malloc(2*M*M*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Q; - MORSE_desc_t *T1, *T2; + CHAMELEON_Complex64_t *A1 = (CHAMELEON_Complex64_t *)malloc(M*M*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *A2 = (CHAMELEON_Complex64_t *)malloc(M*M*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Q1 = (CHAMELEON_Complex64_t *)malloc(M*M*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Q2 = (CHAMELEON_Complex64_t *)malloc(M*M*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *A = (CHAMELEON_Complex64_t *)malloc(2*M*M*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Q; + CHAM_desc_t *T1, *T2; /* Check if unable to allocate memory */ if ( (!A) || (!A1) || (!A2) || (!Q1) || (!Q2) ){ @@ -85,12 +85,12 @@ int testing_zgeqrf_qdwh(int argc, char **argv) return -2; } - MORSE_Disable(MORSE_AUTOTUNING); - MORSE_Set(MORSE_TILE_SIZE, NB); - MORSE_Set(MORSE_INNER_BLOCK_SIZE, IB); + CHAMELEON_Disable(CHAMELEON_AUTOTUNING); + CHAMELEON_Set(CHAMELEON_TILE_SIZE, NB); + CHAMELEON_Set(CHAMELEON_INNER_BLOCK_SIZE, IB); - MORSE_Alloc_Workspace_zgels(M, M, &T1, 1, 1); - MORSE_Alloc_Workspace_zgels(M, M, &T2, 1, 1); + CHAMELEON_Alloc_Workspace_zgels(M, M, &T1, 1, 1); + CHAMELEON_Alloc_Workspace_zgels(M, M, &T2, 1, 1); eps = LAPACKE_dlamch('e'); @@ -102,17 +102,17 @@ int testing_zgeqrf_qdwh(int argc, char **argv) LAPACKE_zlacpy_work( LAPACK_COL_MAJOR, 'A', M, M, A2, M, A + M, LDA ); /* Factorize A */ - MORSE_zgeqrf( M, M, A1, M, T1 ); - MORSE_ztpqrt( M, M, optid ? M : 0, + CHAMELEON_zgeqrf( M, M, A1, M, T1 ); + CHAMELEON_ztpqrt( M, M, optid ? M : 0, A1, M, A2, M, T2 ); /* Generate the Q */ - MORSE_ztpgqrt( M, M, M, (optid) ? M : 0, + CHAMELEON_ztpgqrt( M, M, M, (optid) ? M : 0, A1, M, T1, A2, M, T2, Q1, M, Q2, M ); /* Copy Q in a single matrix */ - Q = (MORSE_Complex64_t *)malloc(2*M*M*sizeof(MORSE_Complex64_t)); + Q = (CHAMELEON_Complex64_t *)malloc(2*M*M*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlacpy_work( LAPACK_COL_MAJOR, 'A', M, M, Q1, M, Q, LDA ); free(Q1); LAPACKE_zlacpy_work( LAPACK_COL_MAJOR, 'A', M, M, Q2, M, Q + M, LDA ); @@ -143,8 +143,8 @@ int testing_zgeqrf_qdwh(int argc, char **argv) } free(A); free(A1); free(A2); free(Q); - MORSE_Dealloc_Workspace( &T1 ); - MORSE_Dealloc_Workspace( &T2 ); + CHAMELEON_Dealloc_Workspace( &T1 ); + CHAMELEON_Dealloc_Workspace( &T2 ); return hres; } @@ -155,10 +155,10 @@ int testing_zgeqrf_qdwh(int argc, char **argv) static int check_orthogonality( int M, int N, - const MORSE_Complex64_t *Q, int LDQ, + const CHAMELEON_Complex64_t *Q, int LDQ, double eps ) { - MORSE_Complex64_t *Id; + CHAMELEON_Complex64_t *Id; double alpha, beta; double normQ; int info_ortho; @@ -170,7 +170,7 @@ check_orthogonality( int M, int N, beta = -1.0; /* Build the idendity matrix */ - Id = (MORSE_Complex64_t *) malloc(minMN*minMN*sizeof(MORSE_Complex64_t)); + Id = (CHAMELEON_Complex64_t *) malloc(minMN*minMN*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlaset_work(LAPACK_COL_MAJOR, 'A', minMN, minMN, 0., 1., Id, minMN ); /* Perform Id - Q'Q */ @@ -205,13 +205,13 @@ check_orthogonality( int M, int N, static int check_factorization(int M, int N, - const MORSE_Complex64_t *A, int LDA, - const MORSE_Complex64_t *R, int LDR, - MORSE_Complex64_t *Q, int LDQ, + const CHAMELEON_Complex64_t *A, int LDA, + const CHAMELEON_Complex64_t *R, int LDR, + CHAMELEON_Complex64_t *Q, int LDQ, double eps ) { double Anorm, Rnorm; - MORSE_Complex64_t alpha; + CHAMELEON_Complex64_t alpha; int info_factorization; double *work = (double *)malloc(max(M,N)*sizeof(double)); @@ -227,7 +227,7 @@ check_factorization(int M, int N, } /* Compute the Residual */ - CORE_zgeadd( MorseNoTrans, M, N, -1., A, LDA, 1., Q, LDQ ); + CORE_zgeadd( ChamNoTrans, M, N, -1., A, LDA, 1., Q, LDQ ); Rnorm = LAPACKE_zlange_work( LAPACK_COL_MAJOR, 'I', M, N, Q, LDQ, work ); Anorm = LAPACKE_zlange_work( LAPACK_COL_MAJOR, 'I', M, N, A, LDA, work ); diff --git a/testing/testing_zgesv_incpiv.c b/testing/testing_zgesv_incpiv.c index b7702f153efe5c24c8a0f702e0ed8aa22e66e3a1..0137870741325a4bfb475b674704bd45da16b548 100644 --- a/testing/testing_zgesv_incpiv.c +++ b/testing/testing_zgesv_incpiv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Bilel Hadri, Hatem Ltaief * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,13 +27,13 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_solution(int, int , MORSE_Complex64_t *, int, MORSE_Complex64_t *, MORSE_Complex64_t *, int, double); +static int check_solution(int, int , CHAMELEON_Complex64_t *, int, CHAMELEON_Complex64_t *, CHAMELEON_Complex64_t *, int, double); int testing_zgesv_incpiv(int argc, char **argv) { @@ -58,11 +58,11 @@ int testing_zgesv_incpiv(int argc, char **argv) int LDAxN = LDA*N; int LDBxNRHS = LDB*NRHS; - MORSE_Complex64_t *A1 = (MORSE_Complex64_t *)malloc(LDA*N*(sizeof*A1)); - MORSE_Complex64_t *A2 = (MORSE_Complex64_t *)malloc(LDA*N*(sizeof*A2)); - MORSE_Complex64_t *B1 = (MORSE_Complex64_t *)malloc(LDB*NRHS*(sizeof*B1)); - MORSE_Complex64_t *B2 = (MORSE_Complex64_t *)malloc(LDB*NRHS*(sizeof*B2)); - MORSE_desc_t *L; + CHAMELEON_Complex64_t *A1 = (CHAMELEON_Complex64_t *)malloc(LDA*N*(sizeof*A1)); + CHAMELEON_Complex64_t *A2 = (CHAMELEON_Complex64_t *)malloc(LDA*N*(sizeof*A2)); + CHAMELEON_Complex64_t *B1 = (CHAMELEON_Complex64_t *)malloc(LDB*NRHS*(sizeof*B1)); + CHAMELEON_Complex64_t *B2 = (CHAMELEON_Complex64_t *)malloc(LDB*NRHS*(sizeof*B2)); + CHAM_desc_t *L; int *IPIV; /* Check if unable to allocate memory */ @@ -92,9 +92,9 @@ int testing_zgesv_incpiv(int argc, char **argv) for ( j = 0; j < NRHS; j++) B2[LDB*j+i] = B1[LDB*j+i]; - /* MORSE ZGESV */ - MORSE_Alloc_Workspace_zgesv_incpiv(N, &L, &IPIV, 1, 1); - MORSE_zgesv_incpiv(N, NRHS, A2, LDA, L, IPIV, B2, LDB); + /* CHAMELEON ZGESV */ + CHAMELEON_Alloc_Workspace_zgesv_incpiv(N, &L, &IPIV, 1, 1); + CHAMELEON_zgesv_incpiv(N, NRHS, A2, LDA, L, IPIV, B2, LDB); printf("\n"); printf("------ TESTS FOR CHAMELEON INCPIV ZGESV ROUTINE ------- \n"); @@ -135,9 +135,9 @@ int testing_zgesv_incpiv(int argc, char **argv) for ( j = 0; j < NRHS; j++) B2[LDB*j+i] = B1[LDB*j+i]; - /* Morse routines */ - MORSE_zgetrf_incpiv(N, N, A2, LDA, L, IPIV); - MORSE_zgetrs_incpiv(MorseNoTrans, N, NRHS, A2, LDA, L, IPIV, B2, LDB); + /* Cham routines */ + CHAMELEON_zgetrf_incpiv(N, N, A2, LDA, L, IPIV); + CHAMELEON_zgetrs_incpiv(ChamNoTrans, N, NRHS, A2, LDA, L, IPIV, B2, LDB); printf("\n"); printf("------ TESTS FOR CHAMELEON ZGETRF + ZGETRS ROUTINE ------- \n"); @@ -178,10 +178,10 @@ int testing_zgesv_incpiv(int argc, char **argv) for ( j = 0; j < NRHS; j++) B2[LDB*j+i] = B1[LDB*j+i]; - /* MORSE routines */ - MORSE_zgetrf_incpiv(N, N, A2, LDA, L, IPIV); - MORSE_ztrsmpl(N, NRHS, A2, LDA, L, IPIV, B2, LDB); - MORSE_ztrsm(MorseLeft, MorseUpper, MorseNoTrans, MorseNonUnit, + /* CHAMELEON routines */ + CHAMELEON_zgetrf_incpiv(N, N, A2, LDA, L, IPIV); + CHAMELEON_ztrsmpl(N, NRHS, A2, LDA, L, IPIV, B2, LDB); + CHAMELEON_ztrsm(ChamLeft, ChamUpper, ChamNoTrans, ChamNonUnit, N, NRHS, 1.0, A2, LDA, B2, LDB); printf("\n"); @@ -208,7 +208,7 @@ int testing_zgesv_incpiv(int argc, char **argv) } free(A1); free(A2); free(B1); free(B2); free(IPIV); - MORSE_Dealloc_Workspace( &L ); + CHAMELEON_Dealloc_Workspace( &L ); return hres; } @@ -217,11 +217,11 @@ int testing_zgesv_incpiv(int argc, char **argv) * Check the accuracy of the solution of the linear system */ -static int check_solution(int N, int NRHS, MORSE_Complex64_t *A1, int LDA, MORSE_Complex64_t *B1, MORSE_Complex64_t *B2, int LDB, double eps ) +static int check_solution(int N, int NRHS, CHAMELEON_Complex64_t *A1, int LDA, CHAMELEON_Complex64_t *B1, CHAMELEON_Complex64_t *B2, int LDB, double eps ) { int info_solution; double Rnorm, Anorm, Xnorm, Bnorm, result; - MORSE_Complex64_t alpha, beta; + CHAMELEON_Complex64_t alpha, beta; double *work = (double *)malloc(N*sizeof(double)); alpha = 1.0; @@ -234,7 +234,7 @@ static int check_solution(int N, int NRHS, MORSE_Complex64_t *A1, int LDA, MORSE cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, N, NRHS, N, CBLAS_SADDR(alpha), A1, LDA, B2, LDB, CBLAS_SADDR(beta), B1, LDB); Rnorm = LAPACKE_zlange( LAPACK_COL_MAJOR, 'i', N, NRHS, B1, LDB ); - if (getenv("MORSE_TESTING_VERBOSE")) + if (getenv("CHAMELEON_TESTING_VERBOSE")) printf( "||A||_oo=%f\n||X||_oo=%f\n||B||_oo=%f\n||A X - B||_oo=%e\n", Anorm, Xnorm, Bnorm, Rnorm ); result = Rnorm / ( (Anorm*Xnorm+Bnorm)*N*eps ) ; diff --git a/testing/testing_zgesvd.c b/testing/testing_zgesvd.c index 310b09224d95bf713d2de64ff0362bc34d01630e..d587488dba6887918be484bbebebc9e992cdf8a4 100644 --- a/testing/testing_zgesvd.c +++ b/testing/testing_zgesvd.c @@ -23,14 +23,14 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_orthogonality(int, int, int, MORSE_Complex64_t*, int, double); -static int check_reduction(int, int, double*, MORSE_Complex64_t*, int, MORSE_Complex64_t*, int, MORSE_Complex64_t*, int, double); +static int check_orthogonality( cham_side_t, int, int, CHAMELEON_Complex64_t*, int, double); +static int check_reduction(int, int, double*, CHAMELEON_Complex64_t*, int, CHAMELEON_Complex64_t*, int, CHAMELEON_Complex64_t*, int, double); static int check_solution(int, double*, double*, double); int testing_zgesvd(int argc, char **argv) @@ -62,8 +62,8 @@ int testing_zgesvd(int argc, char **argv) int rh; if ( tree ) { rh = atoi(argv[4]); - MORSE_Set(MORSE_HOUSEHOLDER_MODE, MORSE_TREE_HOUSEHOLDER); - MORSE_Set(MORSE_HOUSEHOLDER_SIZE, rh); + CHAMELEON_Set(CHAMELEON_HOUSEHOLDER_MODE, ChamTreeHouseholder); + CHAMELEON_Set(CHAMELEON_HOUSEHOLDER_SIZE, rh); } if (LDA < M){ @@ -73,8 +73,8 @@ int testing_zgesvd(int argc, char **argv) double eps = LAPACKE_dlamch_work('e'); double dmax = 1.0; - MORSE_enum jobu = MorseVec; - MORSE_enum jobvt = MorseVec; + cham_job_t jobu = ChamVec; + cham_job_t jobvt = ChamVec; int info_orthou = 0; int info_orthovt = 0; int info_solution = 0; @@ -84,14 +84,14 @@ int testing_zgesvd(int argc, char **argv) double rcond = (double) minMN; int INFO=-1; - MORSE_Complex64_t *A1 = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A1 = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); double *S1 = (double *) malloc(minMN*sizeof(double)); double *S2 = (double *) malloc(minMN*sizeof(double)); - MORSE_Complex64_t *work = (MORSE_Complex64_t *)malloc(3*max(M, N)* sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *A2 = NULL; - MORSE_Complex64_t *U = NULL; - MORSE_Complex64_t *VT = NULL; - MORSE_desc_t *T; + CHAMELEON_Complex64_t *work = (CHAMELEON_Complex64_t *)malloc(3*max(M, N)* sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *A2 = NULL; + CHAMELEON_Complex64_t *U = NULL; + CHAMELEON_Complex64_t *VT = NULL; + CHAM_desc_t *T; /* Check if unable to allocate memory */ if ( (!A1) || (!S1) || (!S2) || (!work) ) { @@ -102,42 +102,42 @@ int testing_zgesvd(int argc, char **argv) } /* TODO: check problem with workspace!!! */ - MORSE_Alloc_Workspace_zgesvd(M, N, &T, 1, 1); + CHAMELEON_Alloc_Workspace_zgesvd(M, N, &T, 1, 1); /*---------------------------------------------------------- * TESTING ZGESVD */ /* Initialize A1 */ LAPACKE_zlatms_work( LAPACK_COL_MAJOR, M, N, - morse_lapack_const(MorseDistUniform), ISEED, - morse_lapack_const(MorseNonsymPosv), S1, mode, rcond, + chameleon_lapack_const(ChamDistUniform), ISEED, + chameleon_lapack_const(ChamNonsymPosv), S1, mode, rcond, dmax, M, N, - morse_lapack_const(MorseNoPacking), A1, LDA, work ); + chameleon_lapack_const(ChamNoPacking), A1, LDA, work ); free(work); /* Copy A1 for check */ - if ( (jobu == MorseVec) && (jobvt == MorseVec) ) { - A2 = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); + if ( (jobu == ChamVec) && (jobvt == ChamVec) ) { + A2 = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', M, N, A1, LDA, A2, LDA); } - if ( jobu == MorseVec ) { - U = (MORSE_Complex64_t *)malloc(M*M*sizeof(MORSE_Complex64_t)); + if ( jobu == ChamVec ) { + U = (CHAMELEON_Complex64_t *)malloc(M*M*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlaset_work(LAPACK_COL_MAJOR, 'A', M, M, 0., 1., U, M); } - if ( jobvt == MorseVec ) { - VT = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); + if ( jobvt == ChamVec ) { + VT = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlaset_work(LAPACK_COL_MAJOR, 'A', N, N, 0., 1., VT, N); } - /* MORSE ZGESVD */ - INFO = MORSE_zgesvd(jobu, jobvt, M, N, A1, LDA, S2, T, U, M, VT, N); + /* CHAMELEON ZGESVD */ + INFO = CHAMELEON_zgesvd(jobu, jobvt, M, N, A1, LDA, S2, T, U, M, VT, N); if( INFO != 0 ){ - printf(" MORSE_zgesvd returned with error code %d\n",INFO); + printf(" CHAMELEON_zgesvd returned with error code %d\n",INFO); goto fin; } printf("\n"); - printf("------ TESTS FOR MORSE ZGESVD ROUTINE ------- \n"); + printf("------ TESTS FOR CHAMELEON ZGESVD ROUTINE ------- \n"); printf(" Size of the Matrix %d by %d\n", M, N); printf("\n"); printf(" The matrix A is randomly generated for each test.\n"); @@ -147,13 +147,13 @@ int testing_zgesvd(int argc, char **argv) /* Check the orthogonality, reduction and the singular values */ - if ( jobu == MorseVec ) - info_orthou = check_orthogonality(MorseLeft, M, M, U, M, eps); + if ( jobu == ChamVec ) + info_orthou = check_orthogonality(ChamLeft, M, M, U, M, eps); - if ( jobvt == MorseVec ) - info_orthovt = check_orthogonality(MorseRight, N, N, VT, N, eps); + if ( jobvt == ChamVec ) + info_orthovt = check_orthogonality(ChamRight, N, N, VT, N, eps); - if ( (jobu == MorseVec) && (jobvt == MorseVec) ) + if ( (jobu == ChamVec) && (jobvt == ChamVec) ) info_reduction = check_reduction(M, N, S2, A2, LDA, U, M, VT, N, eps); info_solution = check_solution(minMN, S1, S2, eps); @@ -189,7 +189,7 @@ fin: if ( U != NULL ) free(U); if ( VT != NULL ) free(VT); free(A1); free(S1); free(S2); - MORSE_Dealloc_Workspace(&T); + CHAMELEON_Dealloc_Workspace(&T); return 0; } @@ -197,7 +197,7 @@ fin: /*------------------------------------------------------------------- * Check the orthogonality of U VT */ -static int check_orthogonality(int side, int M, int N, MORSE_Complex64_t *Q, int LDQ, double eps) +static int check_orthogonality(cham_side_t side, int M, int N, CHAMELEON_Complex64_t *Q, int LDQ, double eps) { double done = 1.0; double mdone = -1.0; @@ -207,7 +207,7 @@ static int check_orthogonality(int side, int M, int N, MORSE_Complex64_t *Q, int double *work = (double *)malloc(minMN*sizeof(double)); /* Build the idendity matrix */ - MORSE_Complex64_t *Id = (MORSE_Complex64_t *) malloc(minMN*minMN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Id = (CHAMELEON_Complex64_t *) malloc(minMN*minMN*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlaset_work(LAPACK_COL_MAJOR, 'A', minMN, minMN, 0., 1., Id, minMN); /* Perform Id - Q'Q */ @@ -216,13 +216,13 @@ static int check_orthogonality(int side, int M, int N, MORSE_Complex64_t *Q, int else cblas_zherk(CblasColMajor, CblasUpper, CblasNoTrans, M, N, done, Q, LDQ, mdone, Id, M); - normQ = LAPACKE_zlansy_work(LAPACK_COL_MAJOR, morse_lapack_const(MorseInfNorm), 'U', minMN, Id, minMN, work); + normQ = LAPACKE_zlansy_work(LAPACK_COL_MAJOR, chameleon_lapack_const(ChamInfNorm), 'U', minMN, Id, minMN, work); - if (getenv("MORSE_TESTING_VERBOSE")) + if (getenv("CHAMELEON_TESTING_VERBOSE")) printf( "||Q||_oo=%e\n", normQ ); result = normQ / (M * eps); - if (side == MorseLeft) + if (side == ChamLeft) { printf(" ======================================================\n"); printf(" ||Id-U'*U||_oo / (M*eps) : %e \n", result ); @@ -252,22 +252,22 @@ static int check_orthogonality(int side, int M, int N, MORSE_Complex64_t *Q, int /*------------------------------------------------------------ * Check the bidiagonal reduction */ -static int check_reduction(int M, int N, double *S, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *U, int LDU, MORSE_Complex64_t *VT, int LDVT, double eps ) +static int check_reduction(int M, int N, double *S, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *U, int LDU, CHAMELEON_Complex64_t *VT, int LDVT, double eps ) { - MORSE_Complex64_t zone = 1.0; - MORSE_Complex64_t mzone = -1.0; + CHAMELEON_Complex64_t zone = 1.0; + CHAMELEON_Complex64_t mzone = -1.0; double Anorm, Rnorm, result; int info_reduction; int i; int maxMN = max(M, N); int minMN = min(M, N); - MORSE_Complex64_t *TEMP = (MORSE_Complex64_t *)malloc(minMN*minMN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(M *N *sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *TEMP = (CHAMELEON_Complex64_t *)malloc(minMN*minMN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(M *N *sizeof(CHAMELEON_Complex64_t)); double *work = (double *)malloc(maxMN*sizeof(double)); - LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, morse_lapack_const(MorseUpperLower), M, N, A, LDA, Residual, M); + LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, chameleon_lapack_const(ChamUpperLower), M, N, A, LDA, Residual, M); if ( M >= N ) { /* Compute TEMP = SIGMA * Vt */ @@ -297,10 +297,10 @@ static int check_reduction(int M, int N, double *S, MORSE_Complex64_t *A, int LD } /* Compute the norms */ - Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, morse_lapack_const(MorseOneNorm), M, N, Residual, M, work); - Anorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, morse_lapack_const(MorseOneNorm), M, N, A, LDA, work); + Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, chameleon_lapack_const(ChamOneNorm), M, N, Residual, M, work); + Anorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, chameleon_lapack_const(ChamOneNorm), M, N, A, LDA, work); - if (getenv("MORSE_TESTING_VERBOSE")) + if (getenv("CHAMELEON_TESTING_VERBOSE")) printf( "||A||_oo=%e\n||A - U*SIGMA*VT||_oo=%e\n", Anorm, Rnorm ); result = Rnorm / ( Anorm * maxMN * eps); diff --git a/testing/testing_zheevd.c b/testing/testing_zheevd.c index 8c8bcb5d45a3889d03efb79540e1f1c9810b3db8..f8512cf6955d7566e02ef2dfc09a8fb6a54d6a97 100644 --- a/testing/testing_zheevd.c +++ b/testing/testing_zheevd.c @@ -23,14 +23,14 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_orthogonality(int, int, MORSE_Complex64_t*, int, double); -static int check_reduction(int, int, int, MORSE_Complex64_t*, double*, int, MORSE_Complex64_t*, double); +static int check_orthogonality(int, int, CHAMELEON_Complex64_t*, int, double); +static int check_reduction(cham_uplo_t, int, int, CHAMELEON_Complex64_t*, double*, int, CHAMELEON_Complex64_t*, double); static int check_solution(int, double*, double*, double); int testing_zheevd(int argc, char **argv) @@ -52,19 +52,19 @@ int testing_zheevd(int argc, char **argv) double rcond = 1.0e6; int INFO = -1; - MORSE_enum uplo = MorseUpper; - MORSE_enum vec = MorseVec; + cham_uplo_t uplo = ChamUpper; + cham_job_t vec = ChamVec; int info_ortho = 0; int info_solution = 0; int info_reduction = 0; int LDAxN = LDA * N; - MORSE_Complex64_t *A1 = NULL; - MORSE_Complex64_t *A2 = (MORSE_Complex64_t *)malloc(LDAxN * sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A1 = NULL; + CHAMELEON_Complex64_t *A2 = (CHAMELEON_Complex64_t *)malloc(LDAxN * sizeof(CHAMELEON_Complex64_t)); double *W1 = (double *)malloc(N * sizeof(double)); double *W2 = (double *)malloc(N * sizeof(double)); - MORSE_Complex64_t *work = (MORSE_Complex64_t *)malloc(3* N * sizeof(MORSE_Complex64_t)); - MORSE_desc_t *T; + CHAMELEON_Complex64_t *work = (CHAMELEON_Complex64_t *)malloc(3* N * sizeof(CHAMELEON_Complex64_t)); + CHAM_desc_t *T; /* Check if unable to allocate memory */ if ( (!A2) || (!W1) || (!W2) || !(work) ) @@ -76,7 +76,7 @@ int testing_zheevd(int argc, char **argv) return -2; } - MORSE_Alloc_Workspace_zheevd(N, N, &T, 1, 1); + CHAMELEON_Alloc_Workspace_zheevd(N, N, &T, 1, 1); /*---------------------------------------------------------- * TESTING ZHEEVD @@ -89,10 +89,10 @@ int testing_zheevd(int argc, char **argv) } } LAPACKE_zlatms_work( LAPACK_COL_MAJOR, N, N, - morse_lapack_const(MorseDistSymmetric), ISEED, - morse_lapack_const(MorseHermGeev), W1, mode, rcond, + chameleon_lapack_const(ChamDistSymmetric), ISEED, + chameleon_lapack_const(ChamHermGeev), W1, mode, rcond, dmax, N, N, - morse_lapack_const(MorseNoPacking), A2, LDA, work ); + chameleon_lapack_const(ChamNoPacking), A2, LDA, work ); /* * Sort the eigenvalue because when computing the tridiag @@ -101,17 +101,17 @@ int testing_zheevd(int argc, char **argv) */ LAPACKE_dlasrt_work( 'I', N, W1 ); - if ( vec == MorseVec ) { - A1 = (MORSE_Complex64_t *)malloc(LDAxN*sizeof(MORSE_Complex64_t)); + if ( vec == ChamVec ) { + A1 = (CHAMELEON_Complex64_t *)malloc(LDAxN*sizeof(CHAMELEON_Complex64_t)); /* Copy A2 into A1 */ LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, 'A', N, N, A2, LDA, A1, LDA); } /* - * MORSE ZHEEVD + * CHAMELEON ZHEEVD */ - INFO = MORSE_zheevd(vec, uplo, N, A2, LDA, W2, T); + INFO = CHAMELEON_zheevd(vec, uplo, N, A2, LDA, W2, T); if (INFO != 0) { printf(" ERROR OCCURED INFO %d\n", INFO); @@ -119,7 +119,7 @@ int testing_zheevd(int argc, char **argv) } printf("\n"); - printf("------ TESTS FOR MORSE ZHEEVD ROUTINE ------- \n"); + printf("------ TESTS FOR CHAMELEON ZHEEVD ROUTINE ------- \n"); printf(" Size of the Matrix %d by %d\n", N, N); printf("\n"); printf(" The matrix A is randomly generated for each test.\n"); @@ -128,7 +128,7 @@ int testing_zheevd(int argc, char **argv) printf(" Computational tests pass if scaled residuals are less than 60.\n"); /* Check the orthogonality, reduction and the eigen solutions */ - if (vec == MorseVec) { + if (vec == ChamVec) { info_ortho = check_orthogonality(N, N, A2, LDA, eps); info_reduction = check_reduction(uplo, N, 1, A1, W2, LDA, A2, eps); } @@ -146,7 +146,7 @@ int testing_zheevd(int argc, char **argv) } fin: - MORSE_Dealloc_Workspace(&T); + CHAMELEON_Dealloc_Workspace(&T); free(A2); free(W1); free(W2); @@ -159,7 +159,7 @@ int testing_zheevd(int argc, char **argv) /*------------------------------------------------------------------- * Check the orthogonality of Q */ -static int check_orthogonality(int M, int N, MORSE_Complex64_t *Q, int LDQ, double eps) +static int check_orthogonality(int M, int N, CHAMELEON_Complex64_t *Q, int LDQ, double eps) { double done = 1.0; double mdone = -1.0; @@ -169,7 +169,7 @@ static int check_orthogonality(int M, int N, MORSE_Complex64_t *Q, int LDQ, doub double *work = (double *)malloc(minMN*sizeof(double)); /* Build the idendity matrix */ - MORSE_Complex64_t *Id = (MORSE_Complex64_t *) malloc(minMN*minMN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Id = (CHAMELEON_Complex64_t *) malloc(minMN*minMN*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlaset_work(LAPACK_COL_MAJOR, 'A', minMN, minMN, 0., 1., Id, minMN); /* Perform Id - Q'Q */ @@ -178,7 +178,7 @@ static int check_orthogonality(int M, int N, MORSE_Complex64_t *Q, int LDQ, doub else cblas_zherk(CblasColMajor, CblasUpper, CblasNoTrans, M, N, done, Q, LDQ, mdone, Id, minMN); - normQ = LAPACKE_zlanhe_work(LAPACK_COL_MAJOR, morse_lapack_const(MorseInfNorm), 'U', minMN, Id, minMN, work); + normQ = LAPACKE_zlanhe_work(LAPACK_COL_MAJOR, chameleon_lapack_const(ChamInfNorm), 'U', minMN, Id, minMN, work); result = normQ / (minMN * eps); printf(" ======================================================\n"); @@ -200,20 +200,20 @@ static int check_orthogonality(int M, int N, MORSE_Complex64_t *Q, int LDQ, doub /*------------------------------------------------------------ * Check the reduction */ -static int check_reduction(int uplo, int N, int bw, MORSE_Complex64_t *A, double *D, int LDA, MORSE_Complex64_t *Q, double eps ) +static int check_reduction(cham_uplo_t uplo, int N, int bw, CHAMELEON_Complex64_t *A, double *D, int LDA, CHAMELEON_Complex64_t *Q, double eps ) { (void) bw; - MORSE_Complex64_t zone = 1.0; - MORSE_Complex64_t mzone = -1.0; - MORSE_Complex64_t *TEMP = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t zone = 1.0; + CHAMELEON_Complex64_t mzone = -1.0; + CHAMELEON_Complex64_t *TEMP = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); double *work = (double *)malloc(N*sizeof(double)); double Anorm, Rnorm, result; int info_reduction; int i; /* Compute TEMP = Q * LAMBDA */ - LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, morse_lapack_const(MorseUpperLower), N, N, Q, LDA, TEMP, N); + LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, chameleon_lapack_const(ChamUpperLower), N, N, Q, LDA, TEMP, N); for (i = 0; i < N; i++){ cblas_zdscal(N, D[i], &(TEMP[i*N]), 1); @@ -224,14 +224,14 @@ static int check_reduction(int uplo, int N, int bw, MORSE_Complex64_t *A, double * otherwise it need to be symetrized before * checking. */ - LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, morse_lapack_const(MorseUpperLower), N, N, A, LDA, Residual, N); + LAPACKE_zlacpy_work(LAPACK_COL_MAJOR, chameleon_lapack_const(ChamUpperLower), N, N, A, LDA, Residual, N); cblas_zgemm(CblasColMajor, CblasNoTrans, CblasConjTrans, N, N, N, CBLAS_SADDR(mzone), TEMP, N, Q, LDA, CBLAS_SADDR(zone), Residual, N); - Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, morse_lapack_const(MorseOneNorm), N, N, Residual, N, work); - Anorm = LAPACKE_zlanhe_work(LAPACK_COL_MAJOR, morse_lapack_const(MorseOneNorm), morse_lapack_const(uplo), N, A, LDA, work); + Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, chameleon_lapack_const(ChamOneNorm), N, N, Residual, N, work); + Anorm = LAPACKE_zlanhe_work(LAPACK_COL_MAJOR, chameleon_lapack_const(ChamOneNorm), chameleon_lapack_const(uplo), N, A, LDA, work); result = Rnorm / ( Anorm * N * eps); - if ( uplo == MorseLower ){ + if ( uplo == ChamLower ){ printf(" ======================================================\n"); printf(" ||A-Q*LAMBDA*Q'||_oo/(||A||_oo.N.eps) : %15.3E \n", result ); printf(" ======================================================\n"); diff --git a/testing/testing_zhemm.c b/testing/testing_zhemm.c index 6767c34599646befa96f7164300c912d45cd27ce..a24428e348d5c8cdc6befea81dc8d0a4ec7808bf 100644 --- a/testing/testing_zhemm.c +++ b/testing/testing_zhemm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,16 +26,16 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_solution(MORSE_enum transA, MORSE_enum transB, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC); +static int check_solution(cham_side_t side, cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC); int testing_zhemm(int argc, char **argv) { @@ -53,8 +53,8 @@ int testing_zhemm(int argc, char **argv) return -1; } - MORSE_Complex64_t alpha = (MORSE_Complex64_t) atol(argv[0]); - MORSE_Complex64_t beta = (MORSE_Complex64_t) atol(argv[1]); + CHAMELEON_Complex64_t alpha = (CHAMELEON_Complex64_t) atol(argv[0]); + CHAMELEON_Complex64_t beta = (CHAMELEON_Complex64_t) atol(argv[1]); int M = atoi(argv[2]); int N = atoi(argv[3]); int LDA = atoi(argv[4]); @@ -69,11 +69,11 @@ int testing_zhemm(int argc, char **argv) int LDBxN = LDB*N; int LDCxN = LDC*N; - MORSE_Complex64_t *A = (MORSE_Complex64_t *)malloc(LDAxM*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B = (MORSE_Complex64_t *)malloc(LDBxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *C = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cinit = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cfinal = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A = (CHAMELEON_Complex64_t *)malloc(LDAxM*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B = (CHAMELEON_Complex64_t *)malloc(LDBxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *C = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cinit = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cfinal = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); /* Check if unable to allocate memory */ if ( (!A) || (!B) || (!C) || (!Cinit) || (!Cfinal) ) @@ -100,7 +100,7 @@ int testing_zhemm(int argc, char **argv) */ /* Initialize A */ - MORSE_zplghe( (double)0., MorseUpperLower, MNmax, A, LDA, 51 ); + CHAMELEON_zplghe( (double)0., ChamUpperLower, MNmax, A, LDA, 51 ); /* Initialize B */ LAPACKE_zlarnv_work(IONE, ISEED, LDBxN, B); @@ -119,8 +119,8 @@ int testing_zhemm(int argc, char **argv) for ( j = 0; j < N; j++) Cfinal[LDC*j+i] = C[LDC*j+i]; - /* MORSE ZHEMM */ - MORSE_zhemm(side[s], uplo[u], M, N, alpha, A, LDA, B, LDB, beta, Cfinal, LDC); + /* CHAMELEON ZHEMM */ + CHAMELEON_zhemm(side[s], uplo[u], M, N, alpha, A, LDA, B, LDB, beta, Cfinal, LDC); /* Check the solution */ info_solution = check_solution(side[s], uplo[u], M, N, alpha, A, LDA, B, LDB, beta, Cinit, Cfinal, LDC); @@ -148,45 +148,45 @@ int testing_zhemm(int argc, char **argv) * Check the solution */ -static int check_solution(MORSE_enum side, MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC) +static int check_solution(cham_side_t side, cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC) { int info_solution, NrowA; - double Anorm, Bnorm, Cinitnorm, Cmorsenorm, Clapacknorm, Rnorm; + double Anorm, Bnorm, Cinitnorm, Cchamnorm, Clapacknorm, Rnorm; double eps; - MORSE_Complex64_t beta_const; + CHAMELEON_Complex64_t beta_const; double result; double *work = (double *)malloc(max(M, N)* sizeof(double)); - beta_const = (MORSE_Complex64_t)-1.0; + beta_const = (CHAMELEON_Complex64_t)-1.0; - NrowA = (side == MorseLeft) ? M : N; + NrowA = (side == ChamLeft) ? M : N; Anorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', NrowA, NrowA, A, LDA, work); Bnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, B, LDB, work); Cinitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cref, LDC, work); - Cmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cmorse, LDC, work); + Cchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Ccham, LDC, work); cblas_zhemm(CblasColMajor, (CBLAS_SIDE)side, (CBLAS_UPLO)uplo, M, N, CBLAS_SADDR(alpha), A, LDA, B, LDB, CBLAS_SADDR(beta), Cref, LDC); Clapacknorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cref, LDC, work); - cblas_zaxpy(LDC * N, CBLAS_SADDR(beta_const), Cmorse, 1, Cref, 1); + cblas_zaxpy(LDC * N, CBLAS_SADDR(beta_const), Ccham, 1, Cref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cref, LDC, work); eps = LAPACKE_dlamch_work('e'); - printf("Rnorm %e, Anorm %e, Bnorm %e, Cinitnorm %e, Cmorsenorm %e, Clapacknorm %e\n",Rnorm,Anorm,Bnorm,Cinitnorm,Cmorsenorm,Clapacknorm); + printf("Rnorm %e, Anorm %e, Bnorm %e, Cinitnorm %e, Cchamnorm %e, Clapacknorm %e\n",Rnorm,Anorm,Bnorm,Cinitnorm,Cchamnorm,Clapacknorm); result = Rnorm / ((Anorm + Bnorm + Cinitnorm) * N * eps); printf("============\n"); printf("Checking the norm of the difference against reference ZHEMM \n"); - printf("-- ||Cmorse - Clapack||_oo/((||A||_oo+||B||_oo+||C||_oo).N.eps) = %e \n", result ); + printf("-- ||Ccham - Clapack||_oo/((||A||_oo+||B||_oo+||C||_oo).N.eps) = %e \n", result ); - if ( isinf(Clapacknorm) || isinf(Cmorsenorm) || isnan(result) || isinf(result) || (result > 10.0) ) { + if ( isinf(Clapacknorm) || isinf(Cchamnorm) || isnan(result) || isinf(result) || (result > 10.0) ) { printf("-- The solution is suspicious ! \n"); info_solution = 1; } diff --git a/testing/testing_zher2k.c b/testing/testing_zher2k.c index d53ba235ac23c1465b9a49435c1259d6e4d6cc5a..97d03b846ff899fe083c33ce7a31d3f141144a09 100644 --- a/testing/testing_zher2k.c +++ b/testing/testing_zher2k.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,16 +26,16 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_solution(MORSE_enum uplo, MORSE_enum trans, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - double beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC); +static int check_solution(cham_uplo_t uplo, cham_trans_t trans, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + double beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC); int testing_zher2k(int argc, char **argv) @@ -54,7 +54,7 @@ int testing_zher2k(int argc, char **argv) return -1; } - MORSE_Complex64_t alpha = (MORSE_Complex64_t) atol(argv[0]); + CHAMELEON_Complex64_t alpha = (CHAMELEON_Complex64_t) atol(argv[0]); double beta = (double) atol(argv[1]); int N = atoi(argv[2]); int K = atoi(argv[3]); @@ -70,11 +70,11 @@ int testing_zher2k(int argc, char **argv) size_t LDBxK = LDB*NKmax; size_t LDCxN = LDC*N; - MORSE_Complex64_t *A = (MORSE_Complex64_t *)malloc(LDAxK*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B = (MORSE_Complex64_t *)malloc(LDBxK*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *C = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cinit = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cfinal = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A = (CHAMELEON_Complex64_t *)malloc(LDAxK*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B = (CHAMELEON_Complex64_t *)malloc(LDBxK*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *C = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cinit = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cfinal = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); /* Check if unable to allocate memory */ if ( (!A) || (!B) || (!C) || (!Cinit) || (!Cfinal) ){ @@ -104,17 +104,17 @@ int testing_zher2k(int argc, char **argv) LAPACKE_zlarnv_work(IONE, ISEED, LDBxK, B); /* Initialize C */ - MORSE_zplghe( (double)0., MorseUpperLower, N, C, LDC, 51 ); + CHAMELEON_zplghe( (double)0., ChamUpperLower, N, C, LDC, 51 ); for (u=0; u<2; u++) { for (t=0; t<3; t++) { - if (trans[t] == MorseTrans) continue; + if (trans[t] == ChamTrans) continue; - memcpy(Cinit, C, LDCxN*sizeof(MORSE_Complex64_t)); - memcpy(Cfinal, C, LDCxN*sizeof(MORSE_Complex64_t)); + memcpy(Cinit, C, LDCxN*sizeof(CHAMELEON_Complex64_t)); + memcpy(Cfinal, C, LDCxN*sizeof(CHAMELEON_Complex64_t)); - /* MORSE ZHER2K */ - MORSE_zher2k(uplo[u], trans[t], N, K, alpha, A, LDA, B, LDB, beta, Cfinal, LDC); + /* CHAMELEON ZHER2K */ + CHAMELEON_zher2k(uplo[u], trans[t], N, K, alpha, A, LDA, B, LDB, beta, Cfinal, LDC); /* Check the solution */ info_solution = check_solution(uplo[u], trans[t], N, K, @@ -143,46 +143,46 @@ int testing_zher2k(int argc, char **argv) * Check the solution */ -static int check_solution(MORSE_enum uplo, MORSE_enum trans, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - double beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC) +static int check_solution(cham_uplo_t uplo, cham_trans_t trans, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + double beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC) { int info_solution; - double Anorm, Bnorm, Cinitnorm, Cmorsenorm, Clapacknorm, Rnorm, result; + double Anorm, Bnorm, Cinitnorm, Cchamnorm, Clapacknorm, Rnorm, result; double eps; - MORSE_Complex64_t beta_const; + CHAMELEON_Complex64_t beta_const; double *work = (double *)malloc(max(N, K)* sizeof(double)); beta_const = -1.0; Anorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', - (trans == MorseNoTrans) ? N : K, - (trans == MorseNoTrans) ? K : N, A, LDA, work); + (trans == ChamNoTrans) ? N : K, + (trans == ChamNoTrans) ? K : N, A, LDA, work); Bnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', - (trans == MorseNoTrans) ? N : K, - (trans == MorseNoTrans) ? K : N, B, LDB, work); + (trans == ChamNoTrans) ? N : K, + (trans == ChamNoTrans) ? K : N, B, LDB, work); Cinitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cref, LDC, work); - Cmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cmorse, LDC, work); + Cchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Ccham, LDC, work); cblas_zher2k(CblasColMajor, (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans, N, K, CBLAS_SADDR(alpha), A, LDA, B, LDB, (beta), Cref, LDC); Clapacknorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cref, LDC, work); - cblas_zaxpy(LDC*N, CBLAS_SADDR(beta_const), Cmorse, 1, Cref, 1); + cblas_zaxpy(LDC*N, CBLAS_SADDR(beta_const), Ccham, 1, Cref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cref, LDC, work); eps = LAPACKE_dlamch_work('e'); - printf("Rnorm %e, Anorm %e, Cinitnorm %e, Cmorsenorm %e, Clapacknorm %e\n", - Rnorm, Anorm, Cinitnorm, Cmorsenorm, Clapacknorm); + printf("Rnorm %e, Anorm %e, Cinitnorm %e, Cchamnorm %e, Clapacknorm %e\n", + Rnorm, Anorm, Cinitnorm, Cchamnorm, Clapacknorm); result = Rnorm / ((Anorm + Bnorm + Cinitnorm) * N * eps); printf("============\n"); printf("Checking the norm of the difference against reference ZHER2K \n"); - printf("-- ||Cmorse - Clapack||_oo/((||A||_oo+||C||_oo).N.eps) = %e \n", result); + printf("-- ||Ccham - Clapack||_oo/((||A||_oo+||C||_oo).N.eps) = %e \n", result); if ( isnan(Rnorm) || isinf(Rnorm) || isnan(result) || isinf(result) || (result > 10.0) ) { printf("-- The solution is suspicious ! \n"); diff --git a/testing/testing_zherk.c b/testing/testing_zherk.c index 2ee63f3e4b420562e30f2dc4373006dc867b06d1..ca0928a73967b7e5142139935f00efb6a96c9d02 100644 --- a/testing/testing_zherk.c +++ b/testing/testing_zherk.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,15 +26,15 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_solution(MORSE_enum uplo, MORSE_enum trans, int N, int K, - double alpha, MORSE_Complex64_t *A, int LDA, - double beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC); +static int check_solution(cham_uplo_t uplo, cham_trans_t trans, int N, int K, + double alpha, CHAMELEON_Complex64_t *A, int LDA, + double beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC); int testing_zherk(int argc, char **argv) @@ -66,10 +66,10 @@ int testing_zherk(int argc, char **argv) size_t LDAxK = LDA*NKmax; size_t LDCxN = LDC*N; - MORSE_Complex64_t *A = (MORSE_Complex64_t *)malloc(LDAxK*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *C = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cinit = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cfinal = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A = (CHAMELEON_Complex64_t *)malloc(LDAxK*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *C = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cinit = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cfinal = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); /* Check if unable to allocate memory */ if ( (!A) || (!C) || (!Cinit) || (!Cfinal) ){ @@ -98,17 +98,17 @@ int testing_zherk(int argc, char **argv) LAPACKE_zlarnv_work(IONE, ISEED, LDAxK, A); /* Initialize C */ - MORSE_zplgsy( (double)0., MorseUpperLower, N, C, LDC, 51 ); + CHAMELEON_zplgsy( (double)0., ChamUpperLower, N, C, LDC, 51 ); for (u=0; u<2; u++) { for (t=0; t<3; t++) { - if (trans[t] == MorseTrans) continue; + if (trans[t] == ChamTrans) continue; - memcpy(Cinit, C, LDCxN*sizeof(MORSE_Complex64_t)); - memcpy(Cfinal, C, LDCxN*sizeof(MORSE_Complex64_t)); + memcpy(Cinit, C, LDCxN*sizeof(CHAMELEON_Complex64_t)); + memcpy(Cfinal, C, LDCxN*sizeof(CHAMELEON_Complex64_t)); - /* MORSE ZHERK */ - MORSE_zherk(uplo[u], trans[t], N, K, alpha, A, LDA, beta, Cfinal, LDC); + /* CHAMELEON ZHERK */ + CHAMELEON_zherk(uplo[u], trans[t], N, K, alpha, A, LDA, beta, Cfinal, LDC); /* Check the solution */ info_solution = check_solution(uplo[u], trans[t], N, K, @@ -137,45 +137,45 @@ int testing_zherk(int argc, char **argv) * Check the solution */ -static int check_solution(MORSE_enum uplo, MORSE_enum trans, int N, int K, - double alpha, MORSE_Complex64_t *A, int LDA, - double beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC) +static int check_solution(cham_uplo_t uplo, cham_trans_t trans, int N, int K, + double alpha, CHAMELEON_Complex64_t *A, int LDA, + double beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC) { int info_solution; - double Anorm, Cinitnorm, Cmorsenorm, Clapacknorm, Rnorm; + double Anorm, Cinitnorm, Cchamnorm, Clapacknorm, Rnorm; double eps; - MORSE_Complex64_t beta_const; + CHAMELEON_Complex64_t beta_const; double result; double *work = (double *)malloc(max(N, K)* sizeof(double)); beta_const = -1.0; Anorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', - (trans == MorseNoTrans) ? N : K, - (trans == MorseNoTrans) ? K : N, A, LDA, work); + (trans == ChamNoTrans) ? N : K, + (trans == ChamNoTrans) ? K : N, A, LDA, work); Cinitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cref, LDC, work); - Cmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cmorse, LDC, work); + Cchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Ccham, LDC, work); cblas_zherk(CblasColMajor, (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans, N, K, (alpha), A, LDA, (beta), Cref, LDC); Clapacknorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cref, LDC, work); - cblas_zaxpy(LDC*N, CBLAS_SADDR(beta_const), Cmorse, 1, Cref, 1); + cblas_zaxpy(LDC*N, CBLAS_SADDR(beta_const), Ccham, 1, Cref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cref, LDC, work); eps = LAPACKE_dlamch_work('e'); - printf("Rnorm %e, Anorm %e, Cinitnorm %e, Cmorsenorm %e, Clapacknorm %e\n", - Rnorm, Anorm, Cinitnorm, Cmorsenorm, Clapacknorm); + printf("Rnorm %e, Anorm %e, Cinitnorm %e, Cchamnorm %e, Clapacknorm %e\n", + Rnorm, Anorm, Cinitnorm, Cchamnorm, Clapacknorm); result = Rnorm / ((Anorm + Cinitnorm) * N * eps); printf("============\n"); printf("Checking the norm of the difference against reference ZHERK \n"); - printf("-- ||Cmorse - Clapack||_oo/((||A||_oo+||C||_oo).N.eps) = %e \n", result); + printf("-- ||Ccham - Clapack||_oo/((||A||_oo+||C||_oo).N.eps) = %e \n", result); - if ( isinf(Clapacknorm) || isinf(Cmorsenorm) || isnan(result) || isinf(result) || (result > 10.0) ) { + if ( isinf(Clapacknorm) || isinf(Cchamnorm) || isnan(result) || isinf(result) || (result > 10.0) ) { printf("-- The solution is suspicious ! \n"); info_solution = 1; } diff --git a/testing/testing_zlange.c b/testing/testing_zlange.c index 859393db9f6e3f775a9e69da22bf3fc3e29a39a3..b0aaf5cd50025ca1e037d0626561409c771a8104 100644 --- a/testing/testing_zlange.c +++ b/testing/testing_zlange.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.6.0 for MORSE 1.0.0 + * from Plasma 2.6.0 for CHAMELEON 1.0.0 * @author Emmanuel Agullo * @author Mathieu Faverge * @date 2010-11-15 @@ -25,7 +25,7 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> @@ -50,9 +50,9 @@ int testing_zlange(int argc, char **argv) double eps; /* Allocate Data */ - MORSE_Complex64_t *A = (MORSE_Complex64_t *)malloc(LDAxN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A = (CHAMELEON_Complex64_t *)malloc(LDAxN*sizeof(CHAMELEON_Complex64_t)); double *work = (double*) malloc(max(M,N)*sizeof(double)); - double normmorse, normlapack, result; + double normcham, normlapack, result; eps = LAPACKE_dlamch_work('e'); @@ -70,28 +70,28 @@ int testing_zlange(int argc, char **argv) */ /* Initialize A, B, C */ - MORSE_zplrnt( M, N, A, LDA, 3436 ); + CHAMELEON_zplrnt( M, N, A, LDA, 3436 ); - /* MORSE ZLANGE */ + /* CHAMELEON ZLANGE */ for(n=0; n<4; n++) { - normmorse = MORSE_zlange(norm[n], M, N, A, LDA); - normlapack = LAPACKE_zlange_work(LAPACK_COL_MAJOR, morse_lapack_const(norm[n]), M, N, A, LDA, work); - printf("LAPACK %e, CHAMELEON %e\n", normlapack, normmorse); - result = fabs(normmorse - normlapack) / (normlapack * eps); + normcham = CHAMELEON_zlange(norm[n], M, N, A, LDA); + normlapack = LAPACKE_zlange_work(LAPACK_COL_MAJOR, chameleon_lapack_const(norm[n]), M, N, A, LDA, work); + printf("LAPACK %e, CHAMELEON %e\n", normlapack, normcham); + result = fabs(normcham - normlapack) / (normlapack * eps); switch(norm[n]) { - case MorseMaxNorm: + case ChamMaxNorm: /* result should be perfectly equal */ break; - case MorseInfNorm: + case ChamInfNorm: /* Sum order on the line can differ */ result = result / (double)N; break; - case MorseOneNorm: + case ChamOneNorm: /* Sum order on the column can differ */ result = result / (double)M; break; - case MorseFrobeniusNorm: + case ChamFrobeniusNorm: /* Sum order on every element can differ */ result = result / ((double)M * (double)N); break; @@ -109,30 +109,30 @@ int testing_zlange(int argc, char **argv) } #if defined(PRECISION_z) || defined(PRECISION_c) - /* MORSE ZLANTR */ + /* CHAMELEON ZLANTR */ for(n=1; n<3; n++) { for(u=0; u<2; u++) { int d; for(d=0; d<2; d++) { - normmorse = MORSE_zlantr(norm[n], uplo[u], diag[d], M, N, A, LDA); - normlapack = LAPACKE_zlantr_work(LAPACK_COL_MAJOR, morse_lapack_const(norm[n]), morse_lapack_const(uplo[u]), - morse_lapack_const(diag[d]), M, N, A, LDA, work); - printf("LAPACK %e, CHAMELEON %e\n", normlapack, normmorse); + normcham = CHAMELEON_zlantr(norm[n], uplo[u], diag[d], M, N, A, LDA); + normlapack = LAPACKE_zlantr_work(LAPACK_COL_MAJOR, chameleon_lapack_const(norm[n]), chameleon_lapack_const(uplo[u]), + chameleon_lapack_const(diag[d]), M, N, A, LDA, work); + printf("LAPACK %e, CHAMELEON %e\n", normlapack, normcham); - result = fabs(normmorse - normlapack) / (normlapack * eps); + result = fabs(normcham - normlapack) / (normlapack * eps); switch(norm[n]) { - case MorseMaxNorm: + case ChamMaxNorm: /* result should be perfectly equal */ break; - case MorseInfNorm: + case ChamInfNorm: /* Sum order on the line can differ */ result = result / (double)N; break; - case MorseOneNorm: + case ChamOneNorm: /* Sum order on the column can differ */ result = result / (double)M; break; - case MorseFrobeniusNorm: + case ChamFrobeniusNorm: /* Sum oreder on every element can differ */ result = result / ((double)M * (double)N); break; @@ -153,27 +153,27 @@ int testing_zlange(int argc, char **argv) } #endif - /* MORSE ZLANSY */ + /* CHAMELEON ZLANSY */ for(n=0; n<4; n++) { for(u=0; u<2; u++) { - normmorse = MORSE_zlansy(norm[n], uplo[u], min(M,N), A, LDA); - normlapack = LAPACKE_zlansy_work(LAPACK_COL_MAJOR, morse_lapack_const(norm[n]), morse_lapack_const(uplo[u]), min(M,N), A, LDA, work); - printf("LAPACK %e, CHAMELEON %e\n", normlapack, normmorse); + normcham = CHAMELEON_zlansy(norm[n], uplo[u], min(M,N), A, LDA); + normlapack = LAPACKE_zlansy_work(LAPACK_COL_MAJOR, chameleon_lapack_const(norm[n]), chameleon_lapack_const(uplo[u]), min(M,N), A, LDA, work); + printf("LAPACK %e, CHAMELEON %e\n", normlapack, normcham); - result = fabs(normmorse - normlapack) / (normlapack * eps); + result = fabs(normcham - normlapack) / (normlapack * eps); switch(norm[n]) { - case MorseMaxNorm: + case ChamMaxNorm: /* result should be perfectly equal */ break; - case MorseInfNorm: + case ChamInfNorm: /* Sum order on the line can differ */ result = result / (double)N; break; - case MorseOneNorm: + case ChamOneNorm: /* Sum order on the column can differ */ result = result / (double)M; break; - case MorseFrobeniusNorm: + case ChamFrobeniusNorm: /* Sum oreder on every element can differ */ result = result / ((double)M * (double)N); break; @@ -191,7 +191,7 @@ int testing_zlange(int argc, char **argv) } #if defined(PRECISION_z) || defined(PRECISION_c) - /* MORSE ZLANHE */ + /* CHAMELEON ZLANHE */ { int j; for (j=0; j<min(M,N); j++) { @@ -201,24 +201,24 @@ int testing_zlange(int argc, char **argv) for(n=0; n<4; n++) { for(u=0; u<2; u++) { - normmorse = MORSE_zlanhe(norm[n], uplo[u], min(M,N), A, LDA); - normlapack = LAPACKE_zlanhe_work(LAPACK_COL_MAJOR, morse_lapack_const(norm[n]), morse_lapack_const(uplo[u]), min(M,N), A, LDA, work); - printf("LAPACK %e, CHAMELEON %e\n", normlapack, normmorse); + normcham = CHAMELEON_zlanhe(norm[n], uplo[u], min(M,N), A, LDA); + normlapack = LAPACKE_zlanhe_work(LAPACK_COL_MAJOR, chameleon_lapack_const(norm[n]), chameleon_lapack_const(uplo[u]), min(M,N), A, LDA, work); + printf("LAPACK %e, CHAMELEON %e\n", normlapack, normcham); - result = fabs(normmorse - normlapack) / (normlapack * eps); + result = fabs(normcham - normlapack) / (normlapack * eps); switch(norm[n]) { - case MorseMaxNorm: + case ChamMaxNorm: /* result should be perfectly equal */ break; - case MorseInfNorm: + case ChamInfNorm: /* Sum order on the line can differ */ result = result / (double)N; break; - case MorseOneNorm: + case ChamOneNorm: /* Sum order on the column can differ */ result = result / (double)M; break; - case MorseFrobeniusNorm: + case ChamFrobeniusNorm: /* Sum oreder on every element can differ */ result = result / ((double)M * (double)N); break; diff --git a/testing/testing_zpemv.c b/testing/testing_zpemv.c index 9565e8e2f51be9a64c56e564a9c18ac7e123a67f..d3e07a5cc1d49c5b3ae9c1aa90e44948aea80d41 100644 --- a/testing/testing_zpemv.c +++ b/testing/testing_zpemv.c @@ -25,7 +25,7 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> @@ -34,21 +34,21 @@ /*-------------------------------------------------------------- * Check the pemv */ -static int check_solution(MORSE_enum trans, MORSE_enum storev, +static int check_solution(cham_trans_t trans, cham_store_t storev, int M, int N, int L, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *X, int INCX, - MORSE_Complex64_t beta, MORSE_Complex64_t *Y0, int INCY0, - MORSE_Complex64_t *Y, int INCY, - MORSE_Complex64_t *W, double *Rnorm) + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *X, int INCX, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Y0, int INCY0, + CHAMELEON_Complex64_t *Y, int INCY, + CHAMELEON_Complex64_t *W, double *Rnorm) { int k; double eps = LAPACKE_dlamch_work('e'); double *work; - MORSE_Complex64_t mzone = -1.0; + CHAMELEON_Complex64_t mzone = -1.0; /* Copy x to w */ - if ( trans == MorseNoTrans ) { + if ( trans == ChamNoTrans ) { k = N; } else { k = M; @@ -96,8 +96,8 @@ int testing_zpemv(int argc, char **argv) int arg_n = atoi(argv[0]); /* Local variables */ - MORSE_Complex64_t *A, *X, *Y, *A0, *Y0, *work; - MORSE_Complex64_t alpha, beta, alpha0, beta0; + CHAMELEON_Complex64_t *A, *X, *Y, *A0, *Y0, *work; + CHAMELEON_Complex64_t alpha, beta, alpha0, beta0; int n = arg_n; int lda = arg_n; @@ -105,7 +105,7 @@ int testing_zpemv(int argc, char **argv) int i, j, k, t; int nbtests = 0; int nfails = 0; - int storev; + cham_store_t storev; int l = 0; int m = n; int incx = 1; @@ -115,12 +115,12 @@ int testing_zpemv(int argc, char **argv) double eps = LAPACKE_dlamch_work('e'); /* Allocate Data */ - A = (MORSE_Complex64_t *)malloc(lda*n*sizeof(MORSE_Complex64_t)); - A0 = (MORSE_Complex64_t *)malloc(lda*n*sizeof(MORSE_Complex64_t)); - X = (MORSE_Complex64_t *)malloc(lda*n*sizeof(MORSE_Complex64_t)); - Y = (MORSE_Complex64_t *)malloc(lda*n*sizeof(MORSE_Complex64_t)); - Y0 = (MORSE_Complex64_t *)malloc( n*sizeof(MORSE_Complex64_t)); - work = (MORSE_Complex64_t *)malloc( 2*n*sizeof(MORSE_Complex64_t)); + A = (CHAMELEON_Complex64_t *)malloc(lda*n*sizeof(CHAMELEON_Complex64_t)); + A0 = (CHAMELEON_Complex64_t *)malloc(lda*n*sizeof(CHAMELEON_Complex64_t)); + X = (CHAMELEON_Complex64_t *)malloc(lda*n*sizeof(CHAMELEON_Complex64_t)); + Y = (CHAMELEON_Complex64_t *)malloc(lda*n*sizeof(CHAMELEON_Complex64_t)); + Y0 = (CHAMELEON_Complex64_t *)malloc( n*sizeof(CHAMELEON_Complex64_t)); + work = (CHAMELEON_Complex64_t *)malloc( 2*n*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlarnv_work(1, ISEED, 1, &alpha0); LAPACKE_zlarnv_work(1, ISEED, 1, &beta0 ); @@ -135,9 +135,9 @@ int testing_zpemv(int argc, char **argv) } /* Initialize Data */ - MORSE_zplrnt(n, n, A, lda, 479 ); - MORSE_zplrnt(n, n, X, lda, 320 ); - MORSE_zplrnt(n, 1, Y0, n, 573 ); + CHAMELEON_zplrnt(n, n, A, lda, 479 ); + CHAMELEON_zplrnt(n, n, X, lda, 320 ); + CHAMELEON_zplrnt(n, 1, Y0, n, 573 ); printf("\n"); printf("------ TESTS FOR CHAMELEON ZPEMV ROUTINE ------- \n"); @@ -175,8 +175,8 @@ int testing_zpemv(int argc, char **argv) LAPACKE_zlacpy_work( LAPACK_COL_MAJOR, 'A', m, n, A, lda, A0, lda); - if ( trans[t] == MorseNoTrans ) { - storev = MorseRowwise; + if ( trans[t] == ChamNoTrans ) { + storev = ChamRowwise; cstorev = storevstr[0]; /* zeroed the upper right triangle */ @@ -188,7 +188,7 @@ int testing_zpemv(int argc, char **argv) } } else { - storev = MorseColumnwise; + storev = ChamColumnwise; cstorev = storevstr[1]; /* zeroed the lower left triangle */ diff --git a/testing/testing_zposv.c b/testing/testing_zposv.c index f2e1ead1759acce639fef1d56e95310263d542f0..6b7a621cb28ec16ba11d0d2f1a550382bc859cd4 100644 --- a/testing/testing_zposv.c +++ b/testing/testing_zposv.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Bilel Hadri, Hatem Ltaief * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,14 +27,18 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_factorization(int, MORSE_Complex64_t*, MORSE_Complex64_t*, int, int , double); -static int check_solution(int, int, MORSE_Complex64_t*, int, MORSE_Complex64_t*, MORSE_Complex64_t*, int, double); +static int +check_factorization( int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, + cham_uplo_t uplo, double eps ); +static int +check_solution( int N, int NRHS, CHAMELEON_Complex64_t *A1, int LDA, + CHAMELEON_Complex64_t *B1, CHAMELEON_Complex64_t *B2, int LDB, double eps ); int testing_zposv(int argc, char **argv) { @@ -55,14 +59,14 @@ int testing_zposv(int argc, char **argv) int NRHS = atoi(argv[2]); int LDB = atoi(argv[3]); double eps; - int uplo; + cham_uplo_t uplo; int info_solution, info_factorization; - int trans1, trans2; + cham_trans_t trans1, trans2; - MORSE_Complex64_t *A1 = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *A2 = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B1 = (MORSE_Complex64_t *)malloc(LDB*NRHS*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B2 = (MORSE_Complex64_t *)malloc(LDB*NRHS*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A1 = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *A2 = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B1 = (CHAMELEON_Complex64_t *)malloc(LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B2 = (CHAMELEON_Complex64_t *)malloc(LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); /* Check if unable to allocate memory */ if ( (!A1) || (!A2)|| (!B1) || (!B2) ) @@ -75,21 +79,21 @@ int testing_zposv(int argc, char **argv) eps = LAPACKE_dlamch_work( 'e' ); - uplo = MorseUpper; - trans1 = uplo == MorseUpper ? MorseConjTrans : MorseNoTrans; - trans2 = uplo == MorseUpper ? MorseNoTrans : MorseConjTrans; + uplo = ChamUpper; + trans1 = uplo == ChamUpper ? ChamConjTrans : ChamNoTrans; + trans2 = uplo == ChamUpper ? ChamNoTrans : ChamConjTrans; /*------------------------------------------------------------- * TESTING ZPOSV */ /* Initialize A1 and A2 for Symmetric Positive Matrix */ - MORSE_zplghe( (double)N, MorseUpperLower, N, A1, LDA, 51 ); - MORSE_zlacpy( MorseUpperLower, N, N, A1, LDA, A2, LDA ); + CHAMELEON_zplghe( (double)N, ChamUpperLower, N, A1, LDA, 51 ); + CHAMELEON_zlacpy( ChamUpperLower, N, N, A1, LDA, A2, LDA ); /* Initialize B1 and B2 */ - MORSE_zplrnt( N, NRHS, B1, LDB, 371 ); - MORSE_zlacpy( MorseUpperLower, N, NRHS, B1, LDB, B2, LDB ); + CHAMELEON_zplrnt( N, NRHS, B1, LDB, 371 ); + CHAMELEON_zlacpy( ChamUpperLower, N, NRHS, B1, LDB, B2, LDB ); printf("\n"); printf("------ TESTS FOR CHAMELEON ZPOSV ROUTINE ------- \n"); @@ -100,8 +104,8 @@ int testing_zposv(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n", eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - /* MORSE ZPOSV */ - MORSE_zposv(uplo, N, NRHS, A2, LDA, B2, LDB); + /* CHAMELEON ZPOSV */ + CHAMELEON_zposv(uplo, N, NRHS, A2, LDA, B2, LDB); /* Check the factorization and the solution */ info_factorization = check_factorization( N, A1, A2, LDA, uplo, eps); @@ -123,16 +127,16 @@ int testing_zposv(int argc, char **argv) */ /* Initialize A1 and A2 for Symmetric Positif Matrix */ - MORSE_zplghe( (double)N, MorseUpperLower, N, A1, LDA, 51 ); - MORSE_zlacpy( MorseUpperLower, N, N, A1, LDA, A2, LDA ); + CHAMELEON_zplghe( (double)N, ChamUpperLower, N, A1, LDA, 51 ); + CHAMELEON_zlacpy( ChamUpperLower, N, N, A1, LDA, A2, LDA ); /* Initialize B1 and B2 */ - MORSE_zplrnt( N, NRHS, B1, LDB, 371 ); - MORSE_zlacpy( MorseUpperLower, N, NRHS, B1, LDB, B2, LDB ); + CHAMELEON_zplrnt( N, NRHS, B1, LDB, 371 ); + CHAMELEON_zlacpy( ChamUpperLower, N, NRHS, B1, LDB, B2, LDB ); - /* Morse routines */ - MORSE_zpotrf(uplo, N, A2, LDA); - MORSE_zpotrs(uplo, N, NRHS, A2, LDA, B2, LDB); + /* Cham routines */ + CHAMELEON_zpotrf(uplo, N, A2, LDA); + CHAMELEON_zpotrs(uplo, N, NRHS, A2, LDA, B2, LDB); printf("\n"); printf("------ TESTS FOR CHAMELEON ZPOTRF + ZPOTRS ROUTINE ------- \n"); @@ -163,18 +167,18 @@ int testing_zposv(int argc, char **argv) */ /* Initialize A1 and A2 for Symmetric Positif Matrix */ - MORSE_zplghe( (double)N, MorseUpperLower, N, A1, LDA, 51 ); - MORSE_zlacpy( MorseUpperLower, N, N, A1, LDA, A2, LDA ); + CHAMELEON_zplghe( (double)N, ChamUpperLower, N, A1, LDA, 51 ); + CHAMELEON_zlacpy( ChamUpperLower, N, N, A1, LDA, A2, LDA ); /* Initialize B1 and B2 */ - MORSE_zplrnt( N, NRHS, B1, LDB, 371 ); - MORSE_zlacpy( MorseUpperLower, N, NRHS, B1, LDB, B2, LDB ); + CHAMELEON_zplrnt( N, NRHS, B1, LDB, 371 ); + CHAMELEON_zlacpy( ChamUpperLower, N, NRHS, B1, LDB, B2, LDB ); - /* MORSE routines */ - MORSE_zpotrf(uplo, N, A2, LDA); - MORSE_ztrsm(MorseLeft, uplo, trans1, MorseNonUnit, + /* CHAMELEON routines */ + CHAMELEON_zpotrf(uplo, N, A2, LDA); + CHAMELEON_ztrsm(ChamLeft, uplo, trans1, ChamNonUnit, N, NRHS, 1.0, A2, LDA, B2, LDB); - MORSE_ztrsm(MorseLeft, uplo, trans2, MorseNonUnit, + CHAMELEON_ztrsm(ChamLeft, uplo, trans2, ChamNonUnit, N, NRHS, 1.0, A2, LDA, B2, LDB); printf("\n"); @@ -210,27 +214,29 @@ int testing_zposv(int argc, char **argv) /*------------------------------------------------------------------------ * Check the factorization of the matrix A2 */ -static int check_factorization(int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, int LDA, int uplo, double eps) +static int +check_factorization( int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, + cham_uplo_t uplo, double eps ) { double Anorm, Rnorm; - MORSE_Complex64_t alpha; + CHAMELEON_Complex64_t alpha; int info_factorization; int i,j; - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *L1 = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *L2 = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *L1 = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *L2 = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); double *work = (double *)malloc(N*sizeof(double)); - memset((void*)L1, 0, N*N*sizeof(MORSE_Complex64_t)); - memset((void*)L2, 0, N*N*sizeof(MORSE_Complex64_t)); + memset((void*)L1, 0, N*N*sizeof(CHAMELEON_Complex64_t)); + memset((void*)L2, 0, N*N*sizeof(CHAMELEON_Complex64_t)); alpha= 1.0; LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,' ', N, N, A1, LDA, Residual, N); /* Dealing with L'L or U'U */ - if (uplo == MorseUpper){ + if (uplo == ChamUpper){ LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'u', N, N, A2, LDA, L1, N); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'u', N, N, A2, LDA, L2, N); cblas_ztrmm(CblasColMajor, CblasLeft, CblasUpper, CblasConjTrans, CblasNonUnit, N, N, CBLAS_SADDR(alpha), L1, N, L2, N); @@ -271,12 +277,13 @@ static int check_factorization(int N, MORSE_Complex64_t *A1, MORSE_Complex64_t * /*------------------------------------------------------------------------ * Check the accuracy of the solution of the linear system */ - -static int check_solution(int N, int NRHS, MORSE_Complex64_t *A1, int LDA, MORSE_Complex64_t *B1, MORSE_Complex64_t *B2, int LDB, double eps ) +static int +check_solution( int N, int NRHS, CHAMELEON_Complex64_t *A1, int LDA, + CHAMELEON_Complex64_t *B1, CHAMELEON_Complex64_t *B2, int LDB, double eps ) { int info_solution; double Rnorm, Anorm, Xnorm, Bnorm, result; - MORSE_Complex64_t alpha, beta; + CHAMELEON_Complex64_t alpha, beta; double *work = (double *)malloc(N*sizeof(double)); alpha = 1.0; @@ -289,7 +296,7 @@ static int check_solution(int N, int NRHS, MORSE_Complex64_t *A1, int LDA, MORSE cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, N, NRHS, N, CBLAS_SADDR(alpha), A1, LDA, B2, LDB, CBLAS_SADDR(beta), B1, LDB); Rnorm = LAPACKE_zlange( LAPACK_COL_MAJOR, 'i', N, NRHS, B1, LDB ); - if (getenv("MORSE_TESTING_VERBOSE")) + if (getenv("CHAMELEON_TESTING_VERBOSE")) printf( "||A||_oo=%f\n||X||_oo=%f\n||B||_oo=%f\n||A X - B||_oo=%e\n", Anorm, Xnorm, Bnorm, Rnorm ); result = Rnorm / ( (Anorm*Xnorm+Bnorm)*N*eps ) ; diff --git a/testing/testing_zpotri.c b/testing/testing_zpotri.c index 379db6631896321a20e1dc95e47cdee1c8d003f6..6c5b0d0ee5bb98190bbe24298d4f9c3b2f5500fd 100644 --- a/testing/testing_zpotri.c +++ b/testing/testing_zpotri.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Hatem Ltaief * @author Mathieu Faverge * @author Emmanuel Agullo @@ -27,14 +27,18 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_factorization(int, MORSE_Complex64_t*, MORSE_Complex64_t*, int, int, double); -static int check_inverse(int, MORSE_Complex64_t *, MORSE_Complex64_t *, int, int, double); +static int +check_factorization( int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, + cham_uplo_t uplo, double eps ); +static int +check_inverse( int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, + cham_uplo_t uplo, double eps ); int testing_zpotri(int argc, char **argv) { @@ -51,12 +55,12 @@ int testing_zpotri(int argc, char **argv) int N = atoi(argv[0]); int LDA = atoi(argv[1]); double eps; - int uplo; + cham_uplo_t uplo; int info_inverse, info_factorization; - MORSE_Complex64_t *A1 = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *A2 = (MORSE_Complex64_t *)malloc(LDA*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *WORK = (MORSE_Complex64_t *)malloc(2*LDA*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A1 = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *A2 = (CHAMELEON_Complex64_t *)malloc(LDA*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *WORK = (CHAMELEON_Complex64_t *)malloc(2*LDA*sizeof(CHAMELEON_Complex64_t)); /* Check if unable to allocate memory */ if ( (!A1) || (!A2) || (!WORK) ) @@ -69,15 +73,15 @@ int testing_zpotri(int argc, char **argv) eps = LAPACKE_dlamch_work( 'e' ); - uplo = MorseUpper; + uplo = ChamUpper; /*------------------------------------------------------------- * TESTING ZPOTRI */ /* Initialize A1 and A2 for Symmetric Positif Matrix */ - MORSE_zplghe( (double)N, MorseUpperLower, N, A1, LDA, 51 ); - MORSE_zlacpy( MorseUpperLower, N, N, A1, LDA, A2, LDA ); + CHAMELEON_zplghe( (double)N, ChamUpperLower, N, A1, LDA, 51 ); + CHAMELEON_zlacpy( ChamUpperLower, N, N, A1, LDA, A2, LDA ); printf("\n"); printf("------ TESTS FOR CHAMELEON ZPOTRI ROUTINE ------- \n"); @@ -88,14 +92,14 @@ int testing_zpotri(int argc, char **argv) printf(" The relative machine precision (eps) is to be %e \n", eps); printf(" Computational tests pass if scaled residuals are less than 60.\n"); - /* MORSE ZPOTRF */ - MORSE_zpotrf(uplo, N, A2, LDA); + /* CHAMELEON ZPOTRF */ + CHAMELEON_zpotrf(uplo, N, A2, LDA); /* Check the factorization */ info_factorization = check_factorization( N, A1, A2, LDA, uplo, eps); - /* MORSE ZPOTRI */ - MORSE_zpotri(uplo, N, A2, LDA); + /* CHAMELEON ZPOTRI */ + CHAMELEON_zpotri(uplo, N, A2, LDA); /* Check the inverse */ info_inverse = check_inverse(N, A1, A2, LDA, uplo, eps); @@ -120,27 +124,27 @@ int testing_zpotri(int argc, char **argv) /*------------------------------------------------------------------------ * Check the factorization of the matrix A2 */ -static int check_factorization(int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, int LDA, int uplo, double eps) +static int check_factorization(int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, cham_uplo_t uplo, double eps) { double Anorm, Rnorm; - MORSE_Complex64_t alpha; + CHAMELEON_Complex64_t alpha; int info_factorization; int i,j; - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *L1 = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *L2 = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *L1 = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *L2 = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); double *work = (double *)malloc(N*sizeof(double)); - memset((void*)L1, 0, N*N*sizeof(MORSE_Complex64_t)); - memset((void*)L2, 0, N*N*sizeof(MORSE_Complex64_t)); + memset((void*)L1, 0, N*N*sizeof(CHAMELEON_Complex64_t)); + memset((void*)L2, 0, N*N*sizeof(CHAMELEON_Complex64_t)); alpha= 1.0; LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,' ', N, N, A1, LDA, Residual, N); /* Dealing with L'L or U'U */ - if (uplo == MorseUpper){ + if (uplo == ChamUpper){ LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'u', N, N, A2, LDA, L1, N); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'u', N, N, A2, LDA, L2, N); cblas_ztrmm(CblasColMajor, CblasLeft, CblasUpper, CblasConjTrans, CblasNonUnit, N, N, CBLAS_SADDR(alpha), L1, N, L2, N); @@ -182,20 +186,20 @@ static int check_factorization(int N, MORSE_Complex64_t *A1, MORSE_Complex64_t * * Check the accuracy of the computed inverse */ -static int check_inverse(int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, int LDA, int uplo, double eps ) +static int check_inverse(int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, cham_uplo_t uplo, double eps ) { int info_inverse; int i, j; double Rnorm, Anorm, Ainvnorm, result; - MORSE_Complex64_t alpha, beta, zone; - MORSE_Complex64_t *work = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t alpha, beta, zone; + CHAMELEON_Complex64_t *work = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); alpha = -1.0; beta = 0.0; zone = 1.0; /* Rebuild the other part of the inverse matrix */ - if(uplo == MorseUpper){ + if(uplo == ChamUpper){ for(j=0; j<N; j++) { for(i=0; i<j; i++) { *(A2+j+i*LDA) = *(A2+i+j*LDA); @@ -221,7 +225,7 @@ static int check_inverse(int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, in Anorm = LAPACKE_zlange( LAPACK_COL_MAJOR, 'o', N, N, A1, LDA ); Ainvnorm = LAPACKE_zlange( LAPACK_COL_MAJOR, 'o', N, N, A2, LDA ); - if (getenv("MORSE_TESTING_VERBOSE")) { + if (getenv("CHAMELEON_TESTING_VERBOSE")) { printf( "||A||_1=%f\n||Ainv||_1=%f\n||Id - A*Ainv||_1=%e\n", Anorm, Ainvnorm, Rnorm ); } diff --git a/testing/testing_zsymm.c b/testing/testing_zsymm.c index 46c156123487b9e2f87ace978cf8e49b541ac6e0..3d5cb74e0494728a13687d3fd813a6bde157ab4c 100644 --- a/testing/testing_zsymm.c +++ b/testing/testing_zsymm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,16 +26,17 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_solution(MORSE_enum transA, MORSE_enum transB, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC); +static int +check_solution( cham_side_t side, cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC ); int testing_zsymm(int argc, char **argv) { @@ -53,8 +54,8 @@ int testing_zsymm(int argc, char **argv) return -1; } - MORSE_Complex64_t alpha = (MORSE_Complex64_t) atol(argv[0]); - MORSE_Complex64_t beta = (MORSE_Complex64_t) atol(argv[1]); + CHAMELEON_Complex64_t alpha = (CHAMELEON_Complex64_t) atol(argv[0]); + CHAMELEON_Complex64_t beta = (CHAMELEON_Complex64_t) atol(argv[1]); int M = atoi(argv[2]); int N = atoi(argv[3]); int LDA = atoi(argv[4]); @@ -69,11 +70,11 @@ int testing_zsymm(int argc, char **argv) int LDBxN = LDB*N; int LDCxN = LDC*N; - MORSE_Complex64_t *A = (MORSE_Complex64_t *)malloc(LDAxM*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B = (MORSE_Complex64_t *)malloc(LDBxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *C = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cinit = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cfinal = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A = (CHAMELEON_Complex64_t *)malloc(LDAxM*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B = (CHAMELEON_Complex64_t *)malloc(LDBxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *C = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cinit = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cfinal = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); /* Check if unable to allocate memory */ if ( (!A) || (!B) || (!C) || (!Cinit) || (!Cfinal) ) @@ -100,7 +101,7 @@ int testing_zsymm(int argc, char **argv) */ /* Initialize A */ - MORSE_zplgsy( (double)0., MorseUpperLower, MNmax, A, LDA, 51 ); + CHAMELEON_zplgsy( (double)0., ChamUpperLower, MNmax, A, LDA, 51 ); /* Initialize B */ LAPACKE_zlarnv_work(IONE, ISEED, LDBxN, B); @@ -119,8 +120,8 @@ int testing_zsymm(int argc, char **argv) for ( j = 0; j < N; j++) Cfinal[LDC*j+i] = C[LDC*j+i]; - /* MORSE ZSYMM */ - MORSE_zsymm(side[s], uplo[u], M, N, alpha, A, LDA, B, LDB, beta, Cfinal, LDC); + /* CHAMELEON ZSYMM */ + CHAMELEON_zsymm(side[s], uplo[u], M, N, alpha, A, LDA, B, LDB, beta, Cfinal, LDC); /* Check the solution */ info_solution = check_solution(side[s], uplo[u], M, N, alpha, A, LDA, B, LDB, beta, Cinit, Cfinal, LDC); @@ -148,45 +149,46 @@ int testing_zsymm(int argc, char **argv) * Check the solution */ -static int check_solution(MORSE_enum side, MORSE_enum uplo, int M, int N, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC) +static int +check_solution( cham_side_t side, cham_uplo_t uplo, int M, int N, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC ) { int info_solution, NrowA; - double Anorm, Bnorm, Cinitnorm, Cmorsenorm, Clapacknorm, Rnorm; + double Anorm, Bnorm, Cinitnorm, Cchamnorm, Clapacknorm, Rnorm; double eps; - MORSE_Complex64_t beta_const; + CHAMELEON_Complex64_t beta_const; double result; double *work = (double *)malloc(max(M, N)* sizeof(double)); - beta_const = (MORSE_Complex64_t)-1.0; + beta_const = (CHAMELEON_Complex64_t)-1.0; - NrowA = (side == MorseLeft) ? M : N; + NrowA = (side == ChamLeft) ? M : N; Anorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', NrowA, NrowA, A, LDA, work); Bnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, B, LDB, work); Cinitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cref, LDC, work); - Cmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cmorse, LDC, work); + Cchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Ccham, LDC, work); cblas_zsymm(CblasColMajor, (CBLAS_SIDE)side, (CBLAS_UPLO)uplo, M, N, CBLAS_SADDR(alpha), A, LDA, B, LDB, CBLAS_SADDR(beta), Cref, LDC); Clapacknorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cref, LDC, work); - cblas_zaxpy(LDC * N, CBLAS_SADDR(beta_const), Cmorse, 1, Cref, 1); + cblas_zaxpy(LDC * N, CBLAS_SADDR(beta_const), Ccham, 1, Cref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cref, LDC, work); eps = LAPACKE_dlamch_work('e'); - printf("Rnorm %e, Anorm %e, Bnorm %e, Cinitnorm %e, Cmorsenorm %e, Clapacknorm %e\n",Rnorm,Anorm,Bnorm,Cinitnorm,Cmorsenorm,Clapacknorm); + printf("Rnorm %e, Anorm %e, Bnorm %e, Cinitnorm %e, Cchamnorm %e, Clapacknorm %e\n",Rnorm,Anorm,Bnorm,Cinitnorm,Cchamnorm,Clapacknorm); result = Rnorm / ((Anorm + Bnorm + Cinitnorm) * N * eps); printf("============\n"); printf("Checking the norm of the difference against reference ZSYMM \n"); - printf("-- ||Cmorse - Clapack||_oo/((||A||_oo+||B||_oo+||C||_oo).N.eps) = %e \n", result ); + printf("-- ||Ccham - Clapack||_oo/((||A||_oo+||B||_oo+||C||_oo).N.eps) = %e \n", result ); - if ( isinf(Clapacknorm) || isinf(Cmorsenorm) || isnan(result) || isinf(result) || (result > 10.0) ) { + if ( isinf(Clapacknorm) || isinf(Cchamnorm) || isnan(result) || isinf(result) || (result > 10.0) ) { printf("-- The solution is suspicious ! \n"); info_solution = 1; } diff --git a/testing/testing_zsyr2k.c b/testing/testing_zsyr2k.c index eec56cccfedb8b35720f6d483124a47aee7481e9..52f93685a0d32deb1e76afcb2672c1fdab409dce 100644 --- a/testing/testing_zsyr2k.c +++ b/testing/testing_zsyr2k.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,16 +26,16 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_solution(MORSE_enum uplo, MORSE_enum trans, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC); +static int check_solution(cham_uplo_t uplo, cham_trans_t trans, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC); int testing_zsyr2k(int argc, char **argv) @@ -54,8 +54,8 @@ int testing_zsyr2k(int argc, char **argv) return -1; } - MORSE_Complex64_t alpha = (MORSE_Complex64_t) atol(argv[0]); - MORSE_Complex64_t beta = (MORSE_Complex64_t) atol(argv[1]); + CHAMELEON_Complex64_t alpha = (CHAMELEON_Complex64_t) atol(argv[0]); + CHAMELEON_Complex64_t beta = (CHAMELEON_Complex64_t) atol(argv[1]); int N = atoi(argv[2]); int K = atoi(argv[3]); int LDA = atoi(argv[4]); @@ -70,11 +70,11 @@ int testing_zsyr2k(int argc, char **argv) size_t LDBxK = LDB*NKmax; size_t LDCxN = LDC*N; - MORSE_Complex64_t *A = (MORSE_Complex64_t *)malloc(LDAxK*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B = (MORSE_Complex64_t *)malloc(LDBxK*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *C = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cinit = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cfinal = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A = (CHAMELEON_Complex64_t *)malloc(LDAxK*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B = (CHAMELEON_Complex64_t *)malloc(LDBxK*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *C = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cinit = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cfinal = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); /* Check if unable to allocate memory */ if ( (!A) || (!B) || (!C) || (!Cinit) || (!Cfinal) ) @@ -105,16 +105,16 @@ int testing_zsyr2k(int argc, char **argv) LAPACKE_zlarnv_work(IONE, ISEED, LDBxK, B); /* Initialize C */ - MORSE_zplgsy( (double)0., MorseUpperLower, N, C, LDC, 51 ); + CHAMELEON_zplgsy( (double)0., ChamUpperLower, N, C, LDC, 51 ); for (u=0; u<2; u++) { for (t=0; t<2; t++) { - memcpy(Cinit, C, LDCxN*sizeof(MORSE_Complex64_t)); - memcpy(Cfinal, C, LDCxN*sizeof(MORSE_Complex64_t)); + memcpy(Cinit, C, LDCxN*sizeof(CHAMELEON_Complex64_t)); + memcpy(Cfinal, C, LDCxN*sizeof(CHAMELEON_Complex64_t)); - /* MORSE ZSYR2K */ - MORSE_zsyr2k(uplo[u], trans[t], N, K, alpha, A, LDA, B, LDB, beta, Cfinal, LDC); + /* CHAMELEON ZSYR2K */ + CHAMELEON_zsyr2k(uplo[u], trans[t], N, K, alpha, A, LDA, B, LDB, beta, Cfinal, LDC); /* Check the solution */ info_solution = check_solution(uplo[u], trans[t], N, K, @@ -143,46 +143,46 @@ int testing_zsyr2k(int argc, char **argv) * Check the solution */ -static int check_solution(MORSE_enum uplo, MORSE_enum trans, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC) +static int check_solution(cham_uplo_t uplo, cham_trans_t trans, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC) { int info_solution; - double Anorm, Bnorm, Cinitnorm, Cmorsenorm, Clapacknorm, Rnorm, result; + double Anorm, Bnorm, Cinitnorm, Cchamnorm, Clapacknorm, Rnorm, result; double eps; - MORSE_Complex64_t beta_const; + CHAMELEON_Complex64_t beta_const; double *work = (double *)malloc(max(N, K)* sizeof(double)); beta_const = -1.0; Anorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', - (trans == MorseNoTrans) ? N : K, - (trans == MorseNoTrans) ? K : N, A, LDA, work); + (trans == ChamNoTrans) ? N : K, + (trans == ChamNoTrans) ? K : N, A, LDA, work); Bnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', - (trans == MorseNoTrans) ? N : K, - (trans == MorseNoTrans) ? K : N, B, LDB, work); + (trans == ChamNoTrans) ? N : K, + (trans == ChamNoTrans) ? K : N, B, LDB, work); Cinitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cref, LDC, work); - Cmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cmorse, LDC, work); + Cchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Ccham, LDC, work); cblas_zsyr2k(CblasColMajor, (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans, N, K, CBLAS_SADDR(alpha), A, LDA, B, LDB, CBLAS_SADDR(beta), Cref, LDC); Clapacknorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cref, LDC, work); - cblas_zaxpy(LDC*N, CBLAS_SADDR(beta_const), Cmorse, 1, Cref, 1); + cblas_zaxpy(LDC*N, CBLAS_SADDR(beta_const), Ccham, 1, Cref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cref, LDC, work); eps = LAPACKE_dlamch_work('e'); - printf("Rnorm %e, Anorm %e, Cinitnorm %e, Cmorsenorm %e, Clapacknorm %e\n", - Rnorm, Anorm, Cinitnorm, Cmorsenorm, Clapacknorm); + printf("Rnorm %e, Anorm %e, Cinitnorm %e, Cchamnorm %e, Clapacknorm %e\n", + Rnorm, Anorm, Cinitnorm, Cchamnorm, Clapacknorm); result = Rnorm / ((Anorm + Bnorm + Cinitnorm) * N * eps); printf("============\n"); printf("Checking the norm of the difference against reference ZSYR2K \n"); - printf("-- ||Cmorse - Clapack||_oo/((||A||_oo+||C||_oo).N.eps) = %e \n", result); + printf("-- ||Ccham - Clapack||_oo/((||A||_oo+||C||_oo).N.eps) = %e \n", result); if ( isnan(Rnorm) || isinf(Rnorm) || isnan(result) || isinf(result) || (result > 10.0) ) { printf("-- The solution is suspicious ! \n"); diff --git a/testing/testing_zsyrk.c b/testing/testing_zsyrk.c index 33afc77d1c930604c1b21f947b8b9b346d948364..64347e6392612f4c02005be365244c92ed00f44d 100644 --- a/testing/testing_zsyrk.c +++ b/testing/testing_zsyrk.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,15 +26,15 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_solution(MORSE_enum uplo, MORSE_enum trans, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC); +static int check_solution(cham_uplo_t uplo, cham_trans_t trans, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC); int testing_zsyrk(int argc, char **argv) @@ -52,8 +52,8 @@ int testing_zsyrk(int argc, char **argv) return -1; } - MORSE_Complex64_t alpha = (MORSE_Complex64_t) atol(argv[0]); - MORSE_Complex64_t beta = (MORSE_Complex64_t) atol(argv[1]); + CHAMELEON_Complex64_t alpha = (CHAMELEON_Complex64_t) atol(argv[0]); + CHAMELEON_Complex64_t beta = (CHAMELEON_Complex64_t) atol(argv[1]); int N = atoi(argv[2]); int K = atoi(argv[3]); int LDA = atoi(argv[4]); @@ -66,10 +66,10 @@ int testing_zsyrk(int argc, char **argv) size_t LDAxK = LDA*NKmax; size_t LDCxN = LDC*N; - MORSE_Complex64_t *A = (MORSE_Complex64_t *)malloc(LDAxK*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *C = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cinit = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Cfinal = (MORSE_Complex64_t *)malloc(LDCxN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A = (CHAMELEON_Complex64_t *)malloc(LDAxK*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *C = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cinit = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Cfinal = (CHAMELEON_Complex64_t *)malloc(LDCxN*sizeof(CHAMELEON_Complex64_t)); /* Check if unable to allocate memory */ if ( (!A) || (!C) || (!Cinit) || (!Cfinal) ){ @@ -98,15 +98,15 @@ int testing_zsyrk(int argc, char **argv) LAPACKE_zlarnv_work(IONE, ISEED, LDAxK, A); /* Initialize C */ - MORSE_zplgsy( (double)0., MorseUpperLower, N, C, LDC, 51 ); + CHAMELEON_zplgsy( (double)0., ChamUpperLower, N, C, LDC, 51 ); for (u=0; u<2; u++) { for (t=0; t<2; t++) { - memcpy(Cinit, C, LDCxN*sizeof(MORSE_Complex64_t)); - memcpy(Cfinal, C, LDCxN*sizeof(MORSE_Complex64_t)); + memcpy(Cinit, C, LDCxN*sizeof(CHAMELEON_Complex64_t)); + memcpy(Cfinal, C, LDCxN*sizeof(CHAMELEON_Complex64_t)); - /* MORSE ZSYRK */ - MORSE_zsyrk(uplo[u], trans[t], N, K, alpha, A, LDA, beta, Cfinal, LDC); + /* CHAMELEON ZSYRK */ + CHAMELEON_zsyrk(uplo[u], trans[t], N, K, alpha, A, LDA, beta, Cfinal, LDC); /* Check the solution */ info_solution = check_solution(uplo[u], trans[t], N, K, @@ -135,45 +135,45 @@ int testing_zsyrk(int argc, char **argv) * Check the solution */ -static int check_solution(MORSE_enum uplo, MORSE_enum trans, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t beta, MORSE_Complex64_t *Cref, MORSE_Complex64_t *Cmorse, int LDC) +static int check_solution(cham_uplo_t uplo, cham_trans_t trans, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Cref, CHAMELEON_Complex64_t *Ccham, int LDC) { int info_solution; - double Anorm, Cinitnorm, Cmorsenorm, Clapacknorm, Rnorm; + double Anorm, Cinitnorm, Cchamnorm, Clapacknorm, Rnorm; double eps; - MORSE_Complex64_t beta_const; + CHAMELEON_Complex64_t beta_const; double result; double *work = (double *)malloc(max(N, K)* sizeof(double)); beta_const = -1.0; Anorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', - (trans == MorseNoTrans) ? N : K, - (trans == MorseNoTrans) ? K : N, A, LDA, work); + (trans == ChamNoTrans) ? N : K, + (trans == ChamNoTrans) ? K : N, A, LDA, work); Cinitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cref, LDC, work); - Cmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cmorse, LDC, work); + Cchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Ccham, LDC, work); cblas_zsyrk(CblasColMajor, (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans, N, K, CBLAS_SADDR(alpha), A, LDA, CBLAS_SADDR(beta), Cref, LDC); Clapacknorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cref, LDC, work); - cblas_zaxpy(LDC*N, CBLAS_SADDR(beta_const), Cmorse, 1, Cref, 1); + cblas_zaxpy(LDC*N, CBLAS_SADDR(beta_const), Ccham, 1, Cref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', N, N, Cref, LDC, work); eps = LAPACKE_dlamch_work('e'); - printf("Rnorm %e, Anorm %e, Cinitnorm %e, Cmorsenorm %e, Clapacknorm %e\n", - Rnorm, Anorm, Cinitnorm, Cmorsenorm, Clapacknorm); + printf("Rnorm %e, Anorm %e, Cinitnorm %e, Cchamnorm %e, Clapacknorm %e\n", + Rnorm, Anorm, Cinitnorm, Cchamnorm, Clapacknorm); result = Rnorm / ((Anorm + Cinitnorm) * N * eps); printf("============\n"); printf("Checking the norm of the difference against reference ZSYRK \n"); - printf("-- ||Cmorse - Clapack||_oo/((||A||_oo+||C||_oo).N.eps) = %e \n", result); + printf("-- ||Ccham - Clapack||_oo/((||A||_oo+||C||_oo).N.eps) = %e \n", result); - if ( isinf(Clapacknorm) || isinf(Cmorsenorm) || isnan(result) || isinf(result) || (result > 10.0) ) { + if ( isinf(Clapacknorm) || isinf(Cchamnorm) || isnan(result) || isinf(result) || (result > 10.0) ) { printf("-- The solution is suspicious ! \n"); info_solution = 1; } diff --git a/testing/testing_ztrmm.c b/testing/testing_ztrmm.c index 4d13517b7b68d0af16333d4e3162a5e5975cc3e1..a548d3e846e29fffb750332142ad37b3f3e46749 100644 --- a/testing/testing_ztrmm.c +++ b/testing/testing_ztrmm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,16 +26,16 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_solution(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum diag, - int M, int N, MORSE_Complex64_t alpha, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *Bref, MORSE_Complex64_t *Bmorse, int LDB); +static int check_solution(cham_side_t side, cham_uplo_t uplo, cham_trans_t trans, cham_diag_t diag, + int M, int N, CHAMELEON_Complex64_t alpha, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *Bref, CHAMELEON_Complex64_t *Bcham, int LDB); int testing_ztrmm(int argc, char **argv) { @@ -51,7 +51,7 @@ int testing_ztrmm(int argc, char **argv) return -1; } - MORSE_Complex64_t alpha = (MORSE_Complex64_t) atol(argv[0]); + CHAMELEON_Complex64_t alpha = (CHAMELEON_Complex64_t) atol(argv[0]); int M = atoi(argv[1]); int N = atoi(argv[2]); int LDA = atoi(argv[3]); @@ -63,10 +63,10 @@ int testing_ztrmm(int argc, char **argv) int LDAxM = LDA*max(M,N); int LDBxN = LDB*max(M,N); - MORSE_Complex64_t *A = (MORSE_Complex64_t *)malloc(LDAxM*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B = (MORSE_Complex64_t *)malloc(LDBxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Binit = (MORSE_Complex64_t *)malloc(LDBxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Bfinal = (MORSE_Complex64_t *)malloc(LDBxN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A = (CHAMELEON_Complex64_t *)malloc(LDAxM*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B = (CHAMELEON_Complex64_t *)malloc(LDBxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Binit = (CHAMELEON_Complex64_t *)malloc(LDBxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Bfinal = (CHAMELEON_Complex64_t *)malloc(LDBxN*sizeof(CHAMELEON_Complex64_t)); /* Check if unable to allocate memory */ if ( (!A) || (!B) || (!Binit) || (!Bfinal) ) @@ -107,11 +107,11 @@ int testing_ztrmm(int argc, char **argv) #endif for (d=0; d<2; d++) { - memcpy(Binit, B, LDBxN*sizeof(MORSE_Complex64_t)); - memcpy(Bfinal, B, LDBxN*sizeof(MORSE_Complex64_t)); + memcpy(Binit, B, LDBxN*sizeof(CHAMELEON_Complex64_t)); + memcpy(Bfinal, B, LDBxN*sizeof(CHAMELEON_Complex64_t)); - /* MORSE ZTRMM */ - MORSE_ztrmm(side[s], uplo[u], trans[t], diag[d], + /* CHAMELEON ZTRMM */ + CHAMELEON_ztrmm(side[s], uplo[u], trans[t], diag[d], M, N, alpha, A, LDA, Bfinal, LDB); /* Check the solution */ @@ -142,51 +142,51 @@ int testing_ztrmm(int argc, char **argv) /*-------------------------------------------------------------- * Check the solution */ -static int check_solution(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum diag, - int M, int N, MORSE_Complex64_t alpha, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *Bref, MORSE_Complex64_t *Bmorse, int LDB) +static int check_solution(cham_side_t side, cham_uplo_t uplo, cham_trans_t trans, cham_diag_t diag, + int M, int N, CHAMELEON_Complex64_t alpha, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *Bref, CHAMELEON_Complex64_t *Bcham, int LDB) { int info_solution; - double Anorm, Binitnorm, Bmorsenorm, Blapacknorm, Rnorm, result; + double Anorm, Binitnorm, Bchamnorm, Blapacknorm, Rnorm, result; double eps; - MORSE_Complex64_t mzone = (MORSE_Complex64_t)-1.0; + CHAMELEON_Complex64_t mzone = (CHAMELEON_Complex64_t)-1.0; double *work = (double *)malloc(max(M, N)* sizeof(double)); int Am, An; - if (side == MorseLeft) { + if (side == ChamLeft) { Am = M; An = M; } else { Am = N; An = N; } - Anorm = LAPACKE_zlantr_work(LAPACK_COL_MAJOR, 'I', morse_lapack_const(uplo), morse_lapack_const(diag), + Anorm = LAPACKE_zlantr_work(LAPACK_COL_MAJOR, 'I', chameleon_lapack_const(uplo), chameleon_lapack_const(diag), Am, An, A, LDA, work); Binitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Bref, LDB, work); - Bmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Bmorse, LDB, work); + Bchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Bcham, LDB, work); cblas_ztrmm(CblasColMajor, (CBLAS_SIDE)side, (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans, (CBLAS_DIAG)diag, M, N, CBLAS_SADDR(alpha), A, LDA, Bref, LDB); Blapacknorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Bref, LDB, work); - cblas_zaxpy(LDB * N, CBLAS_SADDR(mzone), Bmorse, 1, Bref, 1); + cblas_zaxpy(LDB * N, CBLAS_SADDR(mzone), Bcham, 1, Bref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Bref, LDB, work); eps = LAPACKE_dlamch_work('e'); - printf("Rnorm %e, Anorm %e, Binitnorm %e, Bmorsenorm %e, Blapacknorm %e\n", - Rnorm, Anorm, Binitnorm, Bmorsenorm, Blapacknorm); + printf("Rnorm %e, Anorm %e, Binitnorm %e, Bchamnorm %e, Blapacknorm %e\n", + Rnorm, Anorm, Binitnorm, Bchamnorm, Blapacknorm); result = Rnorm / ((Anorm + Blapacknorm) * max(M,N) * eps); printf("============\n"); printf("Checking the norm of the difference against reference ZTRMM \n"); - printf("-- ||Cmorse - Clapack||_oo/((||A||_oo+||B||_oo).N.eps) = %e \n", result); + printf("-- ||Ccham - Clapack||_oo/((||A||_oo+||B||_oo).N.eps) = %e \n", result); - if ( isinf(Blapacknorm) || isinf(Bmorsenorm) || isnan(result) || isinf(result) || (result > 10.0) ) { + if ( isinf(Blapacknorm) || isinf(Bchamnorm) || isnan(result) || isinf(result) || (result > 10.0) ) { printf("-- The solution is suspicious ! \n"); info_solution = 1; } diff --git a/testing/testing_ztrsm.c b/testing/testing_ztrsm.c index 4a19927360bcb76d6a1a7f30f07874a7933e23c1..f23429aecce301f41e1c55157a8c4f82355c3cb4 100644 --- a/testing/testing_ztrsm.c +++ b/testing/testing_ztrsm.c @@ -13,7 +13,7 @@ * * @version 1.0.0 * @comment This file has been automatically generated - * from Plasma 2.5.0 for MORSE 1.0.0 + * from Plasma 2.5.0 for CHAMELEON 1.0.0 * @author Mathieu Faverge * @author Emmanuel Agullo * @author Cedric Castagnede @@ -26,16 +26,16 @@ #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> #include "testing_zauxiliary.h" -static int check_solution(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum diag, - int M, int N, MORSE_Complex64_t alpha, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *Bref, MORSE_Complex64_t *Bmorse, int LDB); +static int check_solution(cham_side_t side, cham_uplo_t uplo, cham_trans_t trans, cham_diag_t diag, + int M, int N, CHAMELEON_Complex64_t alpha, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *Bref, CHAMELEON_Complex64_t *Bcham, int LDB); int testing_ztrsm(int argc, char **argv) { @@ -51,7 +51,7 @@ int testing_ztrsm(int argc, char **argv) return -1; } - MORSE_Complex64_t alpha = (MORSE_Complex64_t) atol(argv[0]); + CHAMELEON_Complex64_t alpha = (CHAMELEON_Complex64_t) atol(argv[0]); int M = atoi(argv[1]); int N = atoi(argv[2]); int LDA = atoi(argv[3]); @@ -63,10 +63,10 @@ int testing_ztrsm(int argc, char **argv) int LDAxM = LDA*max(M,N); int LDBxN = LDB*max(M,N); - MORSE_Complex64_t *A = (MORSE_Complex64_t *)malloc(LDAxM*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *B = (MORSE_Complex64_t *)malloc(LDBxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Binit = (MORSE_Complex64_t *)malloc(LDBxN*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Bfinal = (MORSE_Complex64_t *)malloc(LDBxN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *A = (CHAMELEON_Complex64_t *)malloc(LDAxM*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *B = (CHAMELEON_Complex64_t *)malloc(LDBxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Binit = (CHAMELEON_Complex64_t *)malloc(LDBxN*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Bfinal = (CHAMELEON_Complex64_t *)malloc(LDBxN*sizeof(CHAMELEON_Complex64_t)); /* Check if unable to allocate memory */ if ( (!A) || (!B) || (!Binit) || (!Bfinal) ) @@ -107,11 +107,11 @@ int testing_ztrsm(int argc, char **argv) #endif for (d=0; d<2; d++) { - memcpy(Binit, B, LDBxN*sizeof(MORSE_Complex64_t)); - memcpy(Bfinal, B, LDBxN*sizeof(MORSE_Complex64_t)); + memcpy(Binit, B, LDBxN*sizeof(CHAMELEON_Complex64_t)); + memcpy(Bfinal, B, LDBxN*sizeof(CHAMELEON_Complex64_t)); - /* MORSE ZTRSM */ - MORSE_ztrsm(side[s], uplo[u], trans[t], diag[d], + /* CHAMELEON ZTRSM */ + CHAMELEON_ztrsm(side[s], uplo[u], trans[t], diag[d], M, N, alpha, A, LDA, Bfinal, LDB); /* Check the solution */ @@ -142,51 +142,51 @@ int testing_ztrsm(int argc, char **argv) /*-------------------------------------------------------------- * Check the solution */ -static int check_solution(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum diag, - int M, int N, MORSE_Complex64_t alpha, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *Bref, MORSE_Complex64_t *Bmorse, int LDB) +static int check_solution(cham_side_t side, cham_uplo_t uplo, cham_trans_t trans, cham_diag_t diag, + int M, int N, CHAMELEON_Complex64_t alpha, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *Bref, CHAMELEON_Complex64_t *Bcham, int LDB) { int info_solution; - double Anorm, Binitnorm, Bmorsenorm, Blapacknorm, Rnorm, result; + double Anorm, Binitnorm, Bchamnorm, Blapacknorm, Rnorm, result; double eps; - MORSE_Complex64_t mzone = (MORSE_Complex64_t)-1.0; + CHAMELEON_Complex64_t mzone = (CHAMELEON_Complex64_t)-1.0; double *work = (double *)malloc(max(M, N)* sizeof(double)); int Am, An; - if (side == MorseLeft) { + if (side == ChamLeft) { Am = M; An = M; } else { Am = N; An = N; } - Anorm = LAPACKE_zlantr_work(LAPACK_COL_MAJOR, 'I', morse_lapack_const(uplo), morse_lapack_const(diag), + Anorm = LAPACKE_zlantr_work(LAPACK_COL_MAJOR, 'I', chameleon_lapack_const(uplo), chameleon_lapack_const(diag), Am, An, A, LDA, work); Binitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Bref, LDB, work); - Bmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Bmorse, LDB, work); + Bchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Bcham, LDB, work); cblas_ztrsm(CblasColMajor, (CBLAS_SIDE)side, (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans, (CBLAS_DIAG)diag, M, N, CBLAS_SADDR(alpha), A, LDA, Bref, LDB); Blapacknorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Bref, LDB, work); - cblas_zaxpy(LDB * N, CBLAS_SADDR(mzone), Bmorse, 1, Bref, 1); + cblas_zaxpy(LDB * N, CBLAS_SADDR(mzone), Bcham, 1, Bref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Bref, LDB, work); eps = LAPACKE_dlamch_work('e'); - printf("Rnorm %e, Anorm %e, Binitnorm %e, Bmorsenorm %e, Blapacknorm %e\n", - Rnorm, Anorm, Binitnorm, Bmorsenorm, Blapacknorm); + printf("Rnorm %e, Anorm %e, Binitnorm %e, Bchamnorm %e, Blapacknorm %e\n", + Rnorm, Anorm, Binitnorm, Bchamnorm, Blapacknorm); result = Rnorm / ((Anorm + Blapacknorm) * max(M,N) * eps); printf("============\n"); printf("Checking the norm of the difference against reference ZTRSM \n"); - printf("-- ||Cmorse - Clapack||_oo/((||A||_oo+||B||_oo).N.eps) = %e \n", result); + printf("-- ||Ccham - Clapack||_oo/((||A||_oo+||B||_oo).N.eps) = %e \n", result); - if ( isinf(Blapacknorm) || isinf(Bmorsenorm) || isnan(result) || isinf(result) || (result > 10.0) ) { + if ( isinf(Blapacknorm) || isinf(Bchamnorm) || isnan(result) || isinf(result) || (result > 10.0) ) { printf("-- The solution is suspicious ! \n"); info_solution = 1; } diff --git a/timing/CMakeLists.txt b/timing/CMakeLists.txt index 8cd70f721192c14fc23a4a1ec44c3881cb19ee15..0ed0d3bdfaa6b36821fe6e0b61b49c6d8b5bc408 100644 --- a/timing/CMakeLists.txt +++ b/timing/CMakeLists.txt @@ -9,8 +9,8 @@ # ### # -# @project MORSE -# MORSE is a software package provided by: +# @project CHAMELEON +# CHAMELEON is a software package provided by: # Inria Bordeaux - Sud-Ouest, # Univ. of Tennessee, # King Abdullah Univesity of Science and Technology @@ -25,7 +25,7 @@ # ### -# Generate the morse auxiliary headers for all possible precisions +# Generate the chameleon auxiliary headers for all possible precisions # ---------------------------------------------------------------- set(TIMING_AUX_HDRS_GENERATED "") set(ZHDR @@ -47,7 +47,7 @@ add_custom_target(timing_include ALL SOURCES ${TIMING_AUX_HDRS}) set(CHAMELEON_SOURCES_TARGETS "${CHAMELEON_SOURCES_TARGETS};timing_include" CACHE INTERNAL "List of targets of sources") if (NOT CHAMELEON_SIMULATION) - # Generate the morse auxiliary sources for all possible precisions + # Generate the chameleon auxiliary sources for all possible precisions # ---------------------------------------------------------------- set(TIMING_AUX_SRCS_GENERATED "") set(ZSRC @@ -70,7 +70,7 @@ if (NOT CHAMELEON_SIMULATION) add_dependencies(chameleon_timing timing_include timing_aux_sources) endif() -# Generate the morse testing sources for all possible precisions +# Generate the chameleon testing sources for all possible precisions # -------------------------------------------------------------- set(TIMINGS "") set(ZSRC_LAP_INT diff --git a/timing/flops.h b/timing/flops.h index a13f1d6cb45234a1cbd3b0f9d03fb3ce6a02cca6..fa06811d9eb78137627f4556fd78bcf8d06e7327 100644 --- a/timing/flops.h +++ b/timing/flops.h @@ -52,8 +52,8 @@ #define FMULS_GEMM(__m, __n, __k) ((double)(__m) * (double)(__n) * (double)(__k)) #define FADDS_GEMM(__m, __n, __k) ((double)(__m) * (double)(__n) * (double)(__k)) -#define FMULS_SYMM(__side, __m, __n) ( ( (__side) == MorseLeft ) ? FMULS_GEMM((__m), (__m), (__n)) : FMULS_GEMM((__m), (__n), (__n)) ) -#define FADDS_SYMM(__side, __m, __n) ( ( (__side) == MorseLeft ) ? FADDS_GEMM((__m), (__m), (__n)) : FADDS_GEMM((__m), (__n), (__n)) ) +#define FMULS_SYMM(__side, __m, __n) ( ( (__side) == ChamLeft ) ? FMULS_GEMM((__m), (__m), (__n)) : FMULS_GEMM((__m), (__n), (__n)) ) +#define FADDS_SYMM(__side, __m, __n) ( ( (__side) == ChamLeft ) ? FADDS_GEMM((__m), (__m), (__n)) : FADDS_GEMM((__m), (__n), (__n)) ) #define FMULS_HEMM FMULS_SYMM #define FADDS_HEMM FADDS_SYMM @@ -71,8 +71,8 @@ #define FADDS_TRMM_2(__m, __n) (0.5 * (double)(__n) * (double)(__m) * ((double)(__m)-1.)) -#define FMULS_TRMM(__side, __m, __n) ( ( (__side) == MorseLeft ) ? FMULS_TRMM_2((__m), (__n)) : FMULS_TRMM_2((__n), (__m)) ) -#define FADDS_TRMM(__side, __m, __n) ( ( (__side) == MorseLeft ) ? FADDS_TRMM_2((__m), (__n)) : FADDS_TRMM_2((__n), (__m)) ) +#define FMULS_TRMM(__side, __m, __n) ( ( (__side) == ChamLeft ) ? FMULS_TRMM_2((__m), (__n)) : FMULS_TRMM_2((__n), (__m)) ) +#define FADDS_TRMM(__side, __m, __n) ( ( (__side) == ChamLeft ) ? FADDS_TRMM_2((__m), (__n)) : FADDS_TRMM_2((__n), (__m)) ) #define FMULS_TRSM FMULS_TRMM #define FADDS_TRSM FMULS_TRMM diff --git a/timing/time_zgelqf.c b/timing/time_zgelqf.c index e5ed56b72218a2b8b3bd7f8781bd64b078426ee5..bdda31be5eb966d4465dcfe23cac2c6c621fc92d 100644 --- a/timing/time_zgelqf.c +++ b/timing/time_zgelqf.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgelqf" +#define _NAME "CHAMELEON_zgelqf" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GELQF(M, N) #define _FADDS FADDS_GELQF(M, N) @@ -26,9 +26,9 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *T; + CHAM_desc_t *T; PASTE_CODE_IPARAM_LOCALS( iparam ); if ( M != N && check ) { @@ -37,30 +37,30 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, N ); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, N ); /* Initialize Data */ - MORSE_zplrnt(M, N, A, LDA, 3456); + CHAMELEON_zplrnt(M, N, A, LDA, 3456); /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgels(M, N, &T, P, Q); - memset(T->mat, 0, (T->llm*T->lln)*sizeof(MorseComplexDouble)); + CHAMELEON_Alloc_Workspace_zgels(M, N, &T, P, Q); + memset(T->mat, 0, (T->llm*T->lln)*sizeof(ChamComplexDouble)); /* Save AT in lapack layout for check */ - PASTE_CODE_ALLOCATE_COPY( Acpy, check, MORSE_Complex64_t, A, LDA, N ); + PASTE_CODE_ALLOCATE_COPY( Acpy, check, CHAMELEON_Complex64_t, A, LDA, N ); START_TIMING(); - MORSE_zgelqf( M, N, A, LDA, T ); + CHAMELEON_zgelqf( M, N, A, LDA, T ); STOP_TIMING(); /* Check the solution */ if ( check ) { - PASTE_CODE_ALLOCATE_MATRIX( X, 1, MORSE_Complex64_t, LDB, NRHS ); - MORSE_zplrnt( N, NRHS, X, LDB, 5673 ); - PASTE_CODE_ALLOCATE_COPY( B, 1, MORSE_Complex64_t, X, LDB, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX( X, 1, CHAMELEON_Complex64_t, LDB, NRHS ); + CHAMELEON_zplrnt( N, NRHS, X, LDB, 5673 ); + PASTE_CODE_ALLOCATE_COPY( B, 1, CHAMELEON_Complex64_t, X, LDB, NRHS ); - MORSE_zgelqs(M, N, NRHS, A, LDA, T, X, LDB); + CHAMELEON_zgelqs(M, N, NRHS, A, LDA, T, X, LDB); dparam[IPARAM_RES] = z_check_solution(M, N, NRHS, Acpy, LDA, B, X, LDB, &(dparam[IPARAM_ANORM]), @@ -73,7 +73,7 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Free Workspace */ - MORSE_Dealloc_Workspace( &T ); + CHAMELEON_Dealloc_Workspace( &T ); free( A ); return 0; diff --git a/timing/time_zgelqf_tile.c b/timing/time_zgelqf_tile.c index 2234f90f311bca235c3c71588ebfc8d9a3cb6b1f..9fed6d255f17052041096cd9d235c56ea8c6e3a6 100644 --- a/timing/time_zgelqf_tile.c +++ b/timing/time_zgelqf_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgelqf_Tile" +#define _NAME "CHAMELEON_zgelqf_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GELQF( M, N ) #define _FADDS FADDS_GELQF( M, N ) @@ -25,56 +25,56 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *descT; + CHAM_desc_t *descT; PASTE_CODE_IPARAM_LOCALS( iparam ); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, ( check && M == N ), CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, ( check && M == N ), CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, ( check && M == N ), CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); - MORSE_zplrnt_Tile( descA, 5373 ); + CHAMELEON_zplrnt_Tile( descA, 5373 ); /* Save A for check */ if (check == 1 && M == N){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); } /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgels_Tile(M, N, &descT, P, Q); - memset(descT->mat, 0, (descT->llm*descT->lln)*sizeof(MorseComplexDouble)); + CHAMELEON_Alloc_Workspace_zgels_Tile(M, N, &descT, P, Q); + memset(descT->mat, 0, (descT->llm*descT->lln)*sizeof(ChamComplexDouble)); - /* MORSE ZGEQRF */ + /* CHAMELEON ZGEQRF */ START_TIMING(); - MORSE_zgelqf_Tile( descA, descT ); + CHAMELEON_zgelqf_Tile( descA, descT ); STOP_TIMING(); /* Check the solution */ if ( check && M == N ) { /* Initialize and save B */ - MORSE_zplrnt_Tile( descX, 2264 ); - MORSE_zlacpy_Tile(MorseUpperLower, descX, descB); + CHAMELEON_zplrnt_Tile( descX, 2264 ); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descX, descB); /* Compute the solution */ - MORSE_zgelqs_Tile( descA, descT, descX ); + CHAMELEON_zgelqs_Tile( descA, descT, descX ); /* Check solution */ - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descX ) PASTE_CODE_FREE_MATRIX( descAC ) PASTE_CODE_FREE_MATRIX( descB ) } /* Free data */ - MORSE_Dealloc_Workspace(&descT); + CHAMELEON_Dealloc_Workspace(&descT); PASTE_CODE_FREE_MATRIX( descA ) return 0; diff --git a/timing/time_zgels.c b/timing/time_zgels.c index c905b4a8adcddb5b40710f8371042ba83131f8ec..73668bfa22572f02a2ee776c5bb63a7b6af6a597 100644 --- a/timing/time_zgels.c +++ b/timing/time_zgels.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgels" +#define _NAME "CHAMELEON_zgels" /* See Lawn 41 page 120 */ #define _FMULS (FMULS_GEQRF( M, N ) + FMULS_GEQRS( M, N, NRHS )) #define _FADDS (FADDS_GEQRF( M, N ) + FADDS_GEQRS( M, N, NRHS )) @@ -26,9 +26,9 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *T; + CHAM_desc_t *T; PASTE_CODE_IPARAM_LOCALS( iparam ); if ( M != N ) { @@ -37,17 +37,17 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, N ); - PASTE_CODE_ALLOCATE_MATRIX( x, 1, MORSE_Complex64_t, LDB, NRHS); - PASTE_CODE_ALLOCATE_MATRIX( Acpy, check, MORSE_Complex64_t, LDA, N ); - PASTE_CODE_ALLOCATE_MATRIX( b, check, MORSE_Complex64_t, LDB, NRHS); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, N ); + PASTE_CODE_ALLOCATE_MATRIX( x, 1, CHAMELEON_Complex64_t, LDB, NRHS); + PASTE_CODE_ALLOCATE_MATRIX( Acpy, check, CHAMELEON_Complex64_t, LDA, N ); + PASTE_CODE_ALLOCATE_MATRIX( b, check, CHAMELEON_Complex64_t, LDB, NRHS); /* Initialiaze Data */ - MORSE_zplrnt( M, N, A, LDA, 453 ); - MORSE_zplrnt( M, NRHS, x, LDB, 5673 ); + CHAMELEON_zplrnt( M, N, A, LDA, 453 ); + CHAMELEON_zplrnt( M, NRHS, x, LDB, 5673 ); - MORSE_Alloc_Workspace_zgels(M, N, &T, P, Q); - memset(T->mat, 0, (T->llm*T->lln)*sizeof(MorseComplexDouble)); + CHAMELEON_Alloc_Workspace_zgels(M, N, &T, P, Q); + memset(T->mat, 0, (T->llm*T->lln)*sizeof(ChamComplexDouble)); /* Save A and b */ if (check) { @@ -56,7 +56,7 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } START_TIMING(); - MORSE_zgels( MorseNoTrans, M, N, NRHS, A, LDA, T, x, LDB ); + CHAMELEON_zgels( ChamNoTrans, M, N, NRHS, A, LDA, T, x, LDB ); STOP_TIMING(); /* Check the solution */ @@ -69,7 +69,7 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) free(Acpy); free(b); } - MORSE_Dealloc_Workspace( &T ); + CHAMELEON_Dealloc_Workspace( &T ); free( A ); free( x ); diff --git a/timing/time_zgels_tile.c b/timing/time_zgels_tile.c index cc61b2f210d5cf1b1ab9bae0c1890c07907aba89..90d6cd94adf22f5f2d8a42b2e6507fca633f9700 100644 --- a/timing/time_zgels_tile.c +++ b/timing/time_zgels_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgels_Tile" +#define _NAME "CHAMELEON_zgels_Tile" /* See Lawn 41 page 120 */ #define _FMULS (FMULS_GEQRF( M, N ) + FMULS_GEQRS( M, N, NRHS )) #define _FADDS (FADDS_GEQRF( M, N ) + FADDS_GEQRS( M, N, NRHS )) @@ -25,9 +25,9 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *descT; + CHAM_desc_t *descT; PASTE_CODE_IPARAM_LOCALS( iparam ); if ( M != N ) { @@ -36,40 +36,40 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, 1, MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); - MORSE_zplrnt_Tile( descA, 5373 ); - MORSE_zplrnt_Tile( descX, 673 ); + CHAMELEON_zplrnt_Tile( descA, 5373 ); + CHAMELEON_zplrnt_Tile( descX, 673 ); /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgels_Tile(M, N, &descT, P, Q); - memset(descT->mat, 0, (descT->llm*descT->lln)*sizeof(MorseComplexDouble)); + CHAMELEON_Alloc_Workspace_zgels_Tile(M, N, &descT, P, Q); + memset(descT->mat, 0, (descT->llm*descT->lln)*sizeof(ChamComplexDouble)); /* Save A and B for check */ if (check == 1){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); - MORSE_zlacpy_Tile(MorseUpperLower, descX, descB); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descX, descB); } - /* MORSE ZGELS */ + /* CHAMELEON ZGELS */ START_TIMING(); - MORSE_zgels_Tile( MorseNoTrans, descA, descT, descX ); + CHAMELEON_zgels_Tile( ChamNoTrans, descA, descT, descX ); STOP_TIMING(); /* Allocate Workspace */ - MORSE_Dealloc_Workspace(&descT); + CHAMELEON_Dealloc_Workspace(&descT); /* Check the solution */ if ( check ) { - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descAC ); PASTE_CODE_FREE_MATRIX( descB ); } diff --git a/timing/time_zgemm.c b/timing/time_zgemm.c index bf64498e94ed73efb9356dbe7fddf32618966ed5..c98086f19a231dfc76601eabb52d861ce71844ba 100644 --- a/timing/time_zgemm.c +++ b/timing/time_zgemm.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgemm" +#define _NAME "CHAMELEON_zgemm" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GEMM(M, N, K) #define _FADDS FADDS_GEMM(M, N, K) @@ -26,41 +26,41 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_Complex64_t alpha, beta; + CHAMELEON_Complex64_t alpha, beta; PASTE_CODE_IPARAM_LOCALS( iparam ); LDB = chameleon_max(K, iparam[IPARAM_LDB]); LDC = chameleon_max(M, iparam[IPARAM_LDC]); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, K ); - PASTE_CODE_ALLOCATE_MATRIX( B, 1, MORSE_Complex64_t, LDB, N ); - PASTE_CODE_ALLOCATE_MATRIX( C, 1, MORSE_Complex64_t, LDC, N ); - PASTE_CODE_ALLOCATE_MATRIX( C2, check, MORSE_Complex64_t, LDC, N ); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, K ); + PASTE_CODE_ALLOCATE_MATRIX( B, 1, CHAMELEON_Complex64_t, LDB, N ); + PASTE_CODE_ALLOCATE_MATRIX( C, 1, CHAMELEON_Complex64_t, LDC, N ); + PASTE_CODE_ALLOCATE_MATRIX( C2, check, CHAMELEON_Complex64_t, LDC, N ); - MORSE_zplrnt( M, K, A, LDA, 453 ); - MORSE_zplrnt( K, N, B, LDB, 5673 ); - MORSE_zplrnt( M, N, C, LDC, 740 ); + CHAMELEON_zplrnt( M, K, A, LDA, 453 ); + CHAMELEON_zplrnt( K, N, B, LDB, 5673 ); + CHAMELEON_zplrnt( M, N, C, LDC, 740 ); LAPACKE_zlarnv_work(1, ISEED, 1, &alpha); LAPACKE_zlarnv_work(1, ISEED, 1, &beta ); if (check) { - memcpy(C2, C, LDC*N*sizeof(MORSE_Complex64_t)); + memcpy(C2, C, LDC*N*sizeof(CHAMELEON_Complex64_t)); } START_TIMING(); - MORSE_zgemm( MorseNoTrans, MorseNoTrans, M, N, K, alpha, A, LDA, B, LDB, beta, C, LDC ); + CHAMELEON_zgemm( ChamNoTrans, ChamNoTrans, M, N, K, alpha, A, LDA, B, LDB, beta, C, LDC ); STOP_TIMING(); /* Check the solution */ if (check) { dparam[IPARAM_RES] = 0.0; - dparam[IPARAM_RES] = z_check_gemm( MorseNoTrans, MorseNoTrans, M, N, K, + dparam[IPARAM_RES] = z_check_gemm( ChamNoTrans, ChamNoTrans, M, N, K, alpha, A, LDA, B, LDB, beta, C, C2, LDC, &(dparam[IPARAM_ANORM]), &(dparam[IPARAM_BNORM]), diff --git a/timing/time_zgemm_tile.c b/timing/time_zgemm_tile.c index ae504b8bca796cb07c95b82ab0c6f0f629754b74..20ac03db6276a4af05bbf5a142bf825c0b10e490 100644 --- a/timing/time_zgemm_tile.c +++ b/timing/time_zgemm_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgemm_Tile" +#define _NAME "CHAMELEON_zgemm_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GEMM(M, N, K) #define _FADDS FADDS_GEMM(M, N, K) @@ -26,9 +26,9 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_Complex64_t alpha, beta; + CHAMELEON_Complex64_t alpha, beta; PASTE_CODE_IPARAM_LOCALS( iparam ); @@ -36,14 +36,14 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) LDC = chameleon_max(M, iparam[IPARAM_LDC]); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, K ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, 1, MORSE_Complex64_t, MorseComplexDouble, LDB, K, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descC, 1, MORSE_Complex64_t, MorseComplexDouble, LDC, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, K ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, K, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descC, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDC, M, N ); /* Initialiaze Data */ - MORSE_zplrnt_Tile( descA, 5373 ); - MORSE_zplrnt_Tile( descB, 7672 ); - MORSE_zplrnt_Tile( descC, 6387 ); + CHAMELEON_zplrnt_Tile( descA, 5373 ); + CHAMELEON_zplrnt_Tile( descB, 7672 ); + CHAMELEON_zplrnt_Tile( descC, 6387 ); #if !defined(CHAMELEON_SIMULATION) LAPACKE_zlarnv_work(1, ISEED, 1, &alpha); @@ -54,21 +54,21 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) #endif /* Save C for check */ - PASTE_TILE_TO_LAPACK( descC, C2, check, MORSE_Complex64_t, LDC, N ); + PASTE_TILE_TO_LAPACK( descC, C2, check, CHAMELEON_Complex64_t, LDC, N ); START_TIMING(); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, alpha, descA, descB, beta, descC ); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, alpha, descA, descB, beta, descC ); STOP_TIMING(); #if !defined(CHAMELEON_SIMULATION) /* Check the solution */ if (check) { - PASTE_TILE_TO_LAPACK( descA, A, check, MORSE_Complex64_t, LDA, K ); - PASTE_TILE_TO_LAPACK( descB, B, check, MORSE_Complex64_t, LDB, N ); - PASTE_TILE_TO_LAPACK( descC, C, check, MORSE_Complex64_t, LDC, N ); + PASTE_TILE_TO_LAPACK( descA, A, check, CHAMELEON_Complex64_t, LDA, K ); + PASTE_TILE_TO_LAPACK( descB, B, check, CHAMELEON_Complex64_t, LDB, N ); + PASTE_TILE_TO_LAPACK( descC, C, check, CHAMELEON_Complex64_t, LDC, N ); - dparam[IPARAM_RES] = z_check_gemm( MorseNoTrans, MorseNoTrans, M, N, K, + dparam[IPARAM_RES] = z_check_gemm( ChamNoTrans, ChamNoTrans, M, N, K, alpha, A, LDA, B, LDB, beta, C, C2, LDC, &(dparam[IPARAM_ANORM]), &(dparam[IPARAM_BNORM]), diff --git a/timing/time_zgeqrf.c b/timing/time_zgeqrf.c index 6e0423b5def850c01eeea9bd63752dc4d839d165..a4b73351c0fde466b77114ef0804324135d0b206 100644 --- a/timing/time_zgeqrf.c +++ b/timing/time_zgeqrf.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgeqrf" +#define _NAME "CHAMELEON_zgeqrf" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GEQRF(M, N) #define _FADDS FADDS_GEQRF(M, N) @@ -26,9 +26,9 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *T; + CHAM_desc_t *T; PASTE_CODE_IPARAM_LOCALS( iparam ); if ( M != N && check ) { @@ -37,30 +37,30 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, N ); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, N ); /* Initialize Data */ - MORSE_zplrnt(M, N, A, LDA, 3456); + CHAMELEON_zplrnt(M, N, A, LDA, 3456); /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgels(M, N, &T, P, Q); - memset(T->mat, 0, (T->llm*T->lln)*sizeof(MorseComplexDouble)); + CHAMELEON_Alloc_Workspace_zgels(M, N, &T, P, Q); + memset(T->mat, 0, (T->llm*T->lln)*sizeof(ChamComplexDouble)); /* Save AT in lapack layout for check */ - PASTE_CODE_ALLOCATE_COPY( Acpy, check, MORSE_Complex64_t, A, LDA, N ); + PASTE_CODE_ALLOCATE_COPY( Acpy, check, CHAMELEON_Complex64_t, A, LDA, N ); START_TIMING(); - MORSE_zgeqrf( M, N, A, LDA, T ); + CHAMELEON_zgeqrf( M, N, A, LDA, T ); STOP_TIMING(); /* Check the solution */ if ( check ) { - PASTE_CODE_ALLOCATE_MATRIX( X, 1, MORSE_Complex64_t, LDB, NRHS ); - MORSE_zplrnt( N, NRHS, X, LDB, 5673 ); - PASTE_CODE_ALLOCATE_COPY( B, 1, MORSE_Complex64_t, X, LDB, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX( X, 1, CHAMELEON_Complex64_t, LDB, NRHS ); + CHAMELEON_zplrnt( N, NRHS, X, LDB, 5673 ); + PASTE_CODE_ALLOCATE_COPY( B, 1, CHAMELEON_Complex64_t, X, LDB, NRHS ); - MORSE_zgeqrs(M, N, NRHS, A, LDA, T, X, LDB); + CHAMELEON_zgeqrs(M, N, NRHS, A, LDA, T, X, LDB); dparam[IPARAM_RES] = z_check_solution(M, N, NRHS, Acpy, LDA, B, X, LDB, &(dparam[IPARAM_ANORM]), @@ -73,7 +73,7 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Free Workspace */ - MORSE_Dealloc_Workspace( &T ); + CHAMELEON_Dealloc_Workspace( &T ); free( A ); return 0; diff --git a/timing/time_zgeqrf_hqr.c b/timing/time_zgeqrf_hqr.c index 0bb4afb4fa6dca93447b1d63c106f2272980fb95..b160912ba4d9c3303d9b560b9c1000b11fd6f436 100644 --- a/timing/time_zgeqrf_hqr.c +++ b/timing/time_zgeqrf_hqr.c @@ -16,11 +16,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgeqrf_param" +#define _NAME "CHAMELEON_zgeqrf_param" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GEQRF(M, N) #define _FADDS FADDS_GEQRF(M, N) @@ -29,10 +29,10 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *TS; - MORSE_desc_t *TT; + CHAM_desc_t *TS; + CHAM_desc_t *TT; libhqr_tree_t qrtree; libhqr_matrix_t matrix; int hlvl, llvl, qr_a, domino; @@ -44,19 +44,19 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, N ); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, N ); /* Initialize Data */ - MORSE_zplrnt(M, N, A, LDA, 3456); + CHAMELEON_zplrnt(M, N, A, LDA, 3456); /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgels(M, N, &TS, P, Q); - memset(TS->mat, 0, (TS->llm*TS->lln)*sizeof(MorseComplexDouble)); - MORSE_Alloc_Workspace_zgels(M, N, &TT, P, Q); - memset(TT->mat, 0, (TT->llm*TT->lln)*sizeof(MorseComplexDouble)); + CHAMELEON_Alloc_Workspace_zgels(M, N, &TS, P, Q); + memset(TS->mat, 0, (TS->llm*TS->lln)*sizeof(ChamComplexDouble)); + CHAMELEON_Alloc_Workspace_zgels(M, N, &TT, P, Q); + memset(TT->mat, 0, (TT->llm*TT->lln)*sizeof(ChamComplexDouble)); /* Save AT in lapack layout for check */ - PASTE_CODE_ALLOCATE_COPY( Acpy, check, MORSE_Complex64_t, A, LDA, N ); + PASTE_CODE_ALLOCATE_COPY( Acpy, check, CHAMELEON_Complex64_t, A, LDA, N ); /* Initialize matrix */ matrix.mt = TS->mt; @@ -75,17 +75,17 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) &matrix, llvl, hlvl, qr_a, P, domino, 0); START_TIMING(); - MORSE_zgeqrf_param(&qrtree, M, N, A, LDA, TS, TT ); + CHAMELEON_zgeqrf_param(&qrtree, M, N, A, LDA, TS, TT ); STOP_TIMING(); /* Check the solution */ if ( check ) { - PASTE_CODE_ALLOCATE_MATRIX( X, 1, MORSE_Complex64_t, LDB, NRHS ); - MORSE_zplrnt( N, NRHS, X, LDB, 5673 ); - PASTE_CODE_ALLOCATE_COPY( B, 1, MORSE_Complex64_t, X, LDB, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX( X, 1, CHAMELEON_Complex64_t, LDB, NRHS ); + CHAMELEON_zplrnt( N, NRHS, X, LDB, 5673 ); + PASTE_CODE_ALLOCATE_COPY( B, 1, CHAMELEON_Complex64_t, X, LDB, NRHS ); - MORSE_zgeqrs_param(&qrtree, M, N, NRHS, A, LDA, TS, TT, X, LDB); + CHAMELEON_zgeqrs_param(&qrtree, M, N, NRHS, A, LDA, TS, TT, X, LDB); dparam[IPARAM_RES] = z_check_solution(M, N, NRHS, Acpy, LDA, B, X, LDB, &(dparam[IPARAM_ANORM]), @@ -99,8 +99,8 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) /* Free Workspace */ libhqr_finalize( &qrtree ); - MORSE_Dealloc_Workspace( &TS ); - MORSE_Dealloc_Workspace( &TT ); + CHAMELEON_Dealloc_Workspace( &TS ); + CHAMELEON_Dealloc_Workspace( &TT ); free( A ); return 0; diff --git a/timing/time_zgeqrf_hqr_tile.c b/timing/time_zgeqrf_hqr_tile.c index 5f5cbf74f3335dc5eba973e031c22c8d3c1a1bc6..a28b15aa4f6e01eed98f986bc023cc55178b0a00 100644 --- a/timing/time_zgeqrf_hqr_tile.c +++ b/timing/time_zgeqrf_hqr_tile.c @@ -16,11 +16,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgeqrf_param" +#define _NAME "CHAMELEON_zgeqrf_param" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GEQRF(M, N) #define _FADDS FADDS_GEQRF(M, N) @@ -29,10 +29,10 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *TS; - MORSE_desc_t *TT; + CHAM_desc_t *TS; + CHAM_desc_t *TT; libhqr_tree_t qrtree; libhqr_matrix_t matrix; int hlvl, llvl, qr_a, domino; @@ -44,23 +44,23 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA0, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, ( check && M == N ), CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA0, ( check && M == N ), CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, ( check && M == N ), CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); - MORSE_zplrnt_Tile( descA, 5373 ); + CHAMELEON_zplrnt_Tile( descA, 5373 ); /* Save A for check */ if (check == 1 && M == N){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descA0); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descA0); } /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgels(M, N, &TS, P, Q); - memset(TS->mat, 0, (TS->llm*TS->lln)*sizeof(MorseComplexDouble)); - MORSE_Alloc_Workspace_zgels(M, N, &TT, P, Q); - memset(TT->mat, 0, (TT->llm*TT->lln)*sizeof(MorseComplexDouble)); + CHAMELEON_Alloc_Workspace_zgels(M, N, &TS, P, Q); + memset(TS->mat, 0, (TS->llm*TS->lln)*sizeof(ChamComplexDouble)); + CHAMELEON_Alloc_Workspace_zgels(M, N, &TT, P, Q); + memset(TT->mat, 0, (TT->llm*TT->lln)*sizeof(ChamComplexDouble)); /* Initialize matrix */ matrix.mt = TS->mt; @@ -79,25 +79,25 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) &matrix, llvl, hlvl, qr_a, P, domino, 0); START_TIMING(); - MORSE_zgeqrf_param_Tile(&qrtree, descA, TS, TT ); + CHAMELEON_zgeqrf_param_Tile(&qrtree, descA, TS, TT ); STOP_TIMING(); /* Check the solution */ if ( check && M == N) { /* Initialize and save B */ - MORSE_zplrnt_Tile( descX, 2264 ); - MORSE_zlacpy_Tile(MorseUpperLower, descX, descB); + CHAMELEON_zplrnt_Tile( descX, 2264 ); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descX, descB); /* Compute the solution */ - MORSE_zgeqrs_param_Tile(&qrtree, descA, TS, TT, descX ); + CHAMELEON_zgeqrs_param_Tile(&qrtree, descA, TS, TT, descX ); /* Check solution */ - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descA0); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descA0, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descA0); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descA0, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descX ) PASTE_CODE_FREE_MATRIX( descA0 ) PASTE_CODE_FREE_MATRIX( descB ) @@ -105,8 +105,8 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) /* Free Workspace */ libhqr_finalize( &qrtree ); - MORSE_Dealloc_Workspace( &TS ); - MORSE_Dealloc_Workspace( &TT ); + CHAMELEON_Dealloc_Workspace( &TS ); + CHAMELEON_Dealloc_Workspace( &TT ); free( descA ); return 0; diff --git a/timing/time_zgeqrf_tile.c b/timing/time_zgeqrf_tile.c index fb9cfa4ea30d778dd423b630011fbbecc4040d98..50d55ac304d146924db1a9c34b316aa3d277c735 100644 --- a/timing/time_zgeqrf_tile.c +++ b/timing/time_zgeqrf_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgeqrf_Tile" +#define _NAME "CHAMELEON_zgeqrf_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GEQRF( M, N ) #define _FADDS FADDS_GEQRF( M, N ) @@ -25,56 +25,56 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *descT; + CHAM_desc_t *descT; PASTE_CODE_IPARAM_LOCALS( iparam ); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA0, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, ( check && M == N ), CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA0, ( check && M == N ), CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, ( check && M == N ), CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); - MORSE_zplrnt_Tile( descA, 5373 ); + CHAMELEON_zplrnt_Tile( descA, 5373 ); /* Save A for check */ if (check == 1 && M == N){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descA0); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descA0); } /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgels_Tile(M, N, &descT, P, Q); - memset(descT->mat, 0, (descT->llm*descT->lln)*sizeof(MorseComplexDouble)); + CHAMELEON_Alloc_Workspace_zgels_Tile(M, N, &descT, P, Q); + memset(descT->mat, 0, (descT->llm*descT->lln)*sizeof(ChamComplexDouble)); - /* MORSE ZGEQRF */ + /* CHAMELEON ZGEQRF */ START_TIMING(); - MORSE_zgeqrf_Tile( descA, descT ); + CHAMELEON_zgeqrf_Tile( descA, descT ); STOP_TIMING(); /* Check the solution */ if ( check && M == N ) { /* Initialize and save B */ - MORSE_zplrnt_Tile( descX, 2264 ); - MORSE_zlacpy_Tile(MorseUpperLower, descX, descB); + CHAMELEON_zplrnt_Tile( descX, 2264 ); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descX, descB); /* Compute the solution */ - MORSE_zgeqrs_Tile( descA, descT, descX ); + CHAMELEON_zgeqrs_Tile( descA, descT, descX ); /* Check solution */ - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descA0); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descA0, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descA0); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descA0, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descX ) PASTE_CODE_FREE_MATRIX( descA0 ) PASTE_CODE_FREE_MATRIX( descB ) } /* Free data */ - MORSE_Dealloc_Workspace(&descT); + CHAMELEON_Dealloc_Workspace(&descT); PASTE_CODE_FREE_MATRIX( descA ) return 0; diff --git a/timing/time_zgeqrs_tile.c b/timing/time_zgeqrs_tile.c index 4dbca75f9f440460edbd1dfa81ee48f29e73f387..9b3d85d0770c1c920bd2640710c9f0c38c267a54 100644 --- a/timing/time_zgeqrs_tile.c +++ b/timing/time_zgeqrs_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgeqrs_Tile" +#define _NAME "CHAMELEON_zgeqrs_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GEQRS( M, N, NRHS ) #define _FADDS FADDS_GEQRS( M, N, NRHS ) @@ -25,59 +25,59 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *descT; + CHAM_desc_t *descT; PASTE_CODE_IPARAM_LOCALS( iparam ); check = 1; M = N; /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, ( check && M == N ), CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, ( check && M == N ), CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, ( check && M == N ), CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); - MORSE_zplrnt_Tile( descA, 5373 ); + CHAMELEON_zplrnt_Tile( descA, 5373 ); /* Save A for check */ if (check == 1 && M == N){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); } /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgels_Tile(M, N, &descT, P, Q); - memset(descT->mat, 0, (descT->llm*descT->lln)*sizeof(MorseComplexDouble)); + CHAMELEON_Alloc_Workspace_zgels_Tile(M, N, &descT, P, Q); + memset(descT->mat, 0, (descT->llm*descT->lln)*sizeof(ChamComplexDouble)); - /* MORSE ZGEQRF */ - MORSE_zgeqrf_Tile( descA, descT ); + /* CHAMELEON ZGEQRF */ + CHAMELEON_zgeqrf_Tile( descA, descT ); /* Check the solution */ if ( check && M == N ) { /* Initialize and save B */ - MORSE_zplrnt_Tile( descX, 2264 ); - MORSE_zlacpy_Tile(MorseUpperLower, descX, descB); + CHAMELEON_zplrnt_Tile( descX, 2264 ); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descX, descB); /* Compute the solution */ START_TIMING(); - MORSE_zgeqrs_Tile( descA, descT, descX ); + CHAMELEON_zgeqrs_Tile( descA, descT, descX ); STOP_TIMING(); /* Check solution */ - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descX ); PASTE_CODE_FREE_MATRIX( descAC ); PASTE_CODE_FREE_MATRIX( descB ) } /* Free data */ - MORSE_Dealloc_Workspace(&descT); + CHAMELEON_Dealloc_Workspace(&descT); PASTE_CODE_FREE_MATRIX( descA ); return 0; diff --git a/timing/time_zgesv_incpiv.c b/timing/time_zgesv_incpiv.c index 00a68985347f948a4b278a26e4deb14596712064..7be9c01c0d9d192bc40a4fa7a5ef76ff0f3e3c2c 100644 --- a/timing/time_zgesv_incpiv.c +++ b/timing/time_zgesv_incpiv.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgesv_incpiv" +#define _NAME "CHAMELEON_zgesv_incpiv" /* See Lawn 41 page 120 */ #define _FMULS (FMULS_GETRF( N, N ) + FMULS_GETRS( N, NRHS )) #define _FADDS (FADDS_GETRF( N, N ) + FADDS_GETRS( N, NRHS )) @@ -26,9 +26,9 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *L; + CHAM_desc_t *L; int *piv; PASTE_CODE_IPARAM_LOCALS( iparam ); @@ -38,21 +38,21 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, N ); - PASTE_CODE_ALLOCATE_MATRIX( X, 1, MORSE_Complex64_t, LDB, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, N ); + PASTE_CODE_ALLOCATE_MATRIX( X, 1, CHAMELEON_Complex64_t, LDB, NRHS ); /* Initialiaze Data */ - MORSE_zplrnt( N, N, A, LDA, 51 ); - MORSE_zplrnt( N, NRHS, X, LDB, 5673 ); + CHAMELEON_zplrnt( N, N, A, LDA, 51 ); + CHAMELEON_zplrnt( N, NRHS, X, LDB, 5673 ); - MORSE_Alloc_Workspace_zgesv_incpiv(N, &L, &piv, P, Q); + CHAMELEON_Alloc_Workspace_zgesv_incpiv(N, &L, &piv, P, Q); /* Save A and b */ - PASTE_CODE_ALLOCATE_COPY( Acpy, check, MORSE_Complex64_t, A, LDA, N ); - PASTE_CODE_ALLOCATE_COPY( B, check, MORSE_Complex64_t, X, LDB, NRHS ); + PASTE_CODE_ALLOCATE_COPY( Acpy, check, CHAMELEON_Complex64_t, A, LDA, N ); + PASTE_CODE_ALLOCATE_COPY( B, check, CHAMELEON_Complex64_t, X, LDB, NRHS ); START_TIMING(); - MORSE_zgesv_incpiv( N, NRHS, A, N, L, piv, X, LDB ); + CHAMELEON_zgesv_incpiv( N, NRHS, A, N, L, piv, X, LDB ); STOP_TIMING(); /* Check the solution */ @@ -65,7 +65,7 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) free(Acpy); free(B); } - MORSE_Dealloc_Workspace( &L ); + CHAMELEON_Dealloc_Workspace( &L ); free( piv ); free( X ); free( A ); diff --git a/timing/time_zgesv_incpiv_tile.c b/timing/time_zgesv_incpiv_tile.c index 825bdc8e5bc56d03afa5c0aee0ed644f8bac60bf..8b9676d1d488ecb65e2778fe4c36edf19bd49537 100644 --- a/timing/time_zgesv_incpiv_tile.c +++ b/timing/time_zgesv_incpiv_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgesv_incpiv_Tile" +#define _NAME "CHAMELEON_zgesv_incpiv_Tile" /* See Lawn 41 page 120 */ #define _FMULS (FMULS_GETRF( N, N ) + FMULS_GETRS( N, NRHS )) #define _FADDS (FADDS_GETRF( N, N ) + FADDS_GETRS( N, NRHS )) @@ -25,9 +25,9 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *descL; + CHAM_desc_t *descL; int *piv; PASTE_CODE_IPARAM_LOCALS( iparam ); @@ -37,40 +37,40 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, 1, MORSE_Complex64_t, MorseComplexDouble, LDB, N, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, MORSE_Complex64_t, MorseComplexDouble, LDB, N, NRHS );; + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS );; /* Initialize A and b */ - MORSE_zplrnt_Tile( descA, 8796 ); - MORSE_zplrnt_Tile( descX, 7732 ); + CHAMELEON_zplrnt_Tile( descA, 8796 ); + CHAMELEON_zplrnt_Tile( descX, 7732 ); /* Save AT and bT in lapack layout for check */ /* Save AT and bT for check */ if (check == 1){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); - MORSE_zlacpy_Tile(MorseUpperLower, descX, descB); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descX, descB); } /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgesv_incpiv_Tile(N, &descL, &piv, P, Q); + CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile(N, &descL, &piv, P, Q); START_TIMING(); - MORSE_zgesv_incpiv_Tile( descA, descL, piv, descX ); + CHAMELEON_zgesv_incpiv_Tile( descA, descL, piv, descX ); STOP_TIMING(); /* Allocate Workspace */ - MORSE_Dealloc_Workspace(&descL); + CHAMELEON_Dealloc_Workspace(&descL); /* Check the solution */ if ( check ) { - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descAC ); PASTE_CODE_FREE_MATRIX( descB ); } diff --git a/timing/time_zgesv_nopiv.c b/timing/time_zgesv_nopiv.c index a1df5e56f6482cec6cb830400d841df99316e9e7..1b03d1e98e717a4efd2a911a97e6fde1748757c3 100644 --- a/timing/time_zgesv_nopiv.c +++ b/timing/time_zgesv_nopiv.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgesv_nopiv" +#define _NAME "CHAMELEON_zgesv_nopiv" /* See Lawn 41 page 120 */ #define _FMULS (FMULS_GETRF( N, N ) + FMULS_GETRS( N, NRHS )) #define _FADDS (FADDS_GETRF( N, N ) + FADDS_GETRS( N, NRHS )) @@ -26,7 +26,7 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); @@ -36,19 +36,19 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, N ); - PASTE_CODE_ALLOCATE_MATRIX( X, 1, MORSE_Complex64_t, LDB, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, N ); + PASTE_CODE_ALLOCATE_MATRIX( X, 1, CHAMELEON_Complex64_t, LDB, NRHS ); /* Initialiaze Data */ - MORSE_zplrnt( N, N, A, LDA, 51 ); - MORSE_zplrnt( N, NRHS, X, LDB, 5673 ); + CHAMELEON_zplrnt( N, N, A, LDA, 51 ); + CHAMELEON_zplrnt( N, NRHS, X, LDB, 5673 ); /* Save A and b */ - PASTE_CODE_ALLOCATE_COPY( Acpy, check, MORSE_Complex64_t, A, LDA, N ); - PASTE_CODE_ALLOCATE_COPY( B, check, MORSE_Complex64_t, X, LDB, NRHS ); + PASTE_CODE_ALLOCATE_COPY( Acpy, check, CHAMELEON_Complex64_t, A, LDA, N ); + PASTE_CODE_ALLOCATE_COPY( B, check, CHAMELEON_Complex64_t, X, LDB, NRHS ); START_TIMING(); - MORSE_zgesv_nopiv( N, NRHS, A, N, X, LDB ); + CHAMELEON_zgesv_nopiv( N, NRHS, A, N, X, LDB ); STOP_TIMING(); /* Check the solution */ diff --git a/timing/time_zgesv_nopiv_tile.c b/timing/time_zgesv_nopiv_tile.c index d41cef9f40c0257652ee873bf3b35043ccad80c2..7082f642fa2d38e442f16028b26eb242005277a7 100644 --- a/timing/time_zgesv_nopiv_tile.c +++ b/timing/time_zgesv_nopiv_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgesv_nopiv_Tile" +#define _NAME "CHAMELEON_zgesv_nopiv_Tile" /* See Lawn 41 page 120 */ #define _FMULS (FMULS_GETRF( N, N ) + FMULS_GETRS( N, NRHS )) #define _FADDS (FADDS_GETRF( N, N ) + FADDS_GETRS( N, NRHS )) @@ -25,7 +25,7 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); @@ -35,34 +35,34 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, 1, MORSE_Complex64_t, MorseComplexDouble, LDB, N, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, MORSE_Complex64_t, MorseComplexDouble, LDB, N, NRHS );; + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS );; /* Initialize A and b */ - MORSE_zplrnt_Tile( descA, 8796 ); - MORSE_zplrnt_Tile( descX, 7732 ); + CHAMELEON_zplrnt_Tile( descA, 8796 ); + CHAMELEON_zplrnt_Tile( descX, 7732 ); /* Save AT and bT in lapack layout for check */ /* Save AT and bT for check */ if (check == 1){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); - MORSE_zlacpy_Tile(MorseUpperLower, descX, descB); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descX, descB); } START_TIMING(); - MORSE_zgesv_nopiv_Tile( descA, descX ); + CHAMELEON_zgesv_nopiv_Tile( descA, descX ); STOP_TIMING(); /* Check the solution */ if ( check ) { - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descAC ); PASTE_CODE_FREE_MATRIX( descB ); } diff --git a/timing/time_zgesvd_tile.c b/timing/time_zgesvd_tile.c index 4f207aeb6a802fe79f4db848cf5b1ac44a87d562..155d0507aa41ab745cf7c4ba96e4105bd95851a5 100644 --- a/timing/time_zgesvd_tile.c +++ b/timing/time_zgesvd_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zheev_Tile" +#define _NAME "CHAMELEON_zheev_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GEBRD( M, N ) #define _FADDS FADDS_GEBRD( M, N ) @@ -25,35 +25,35 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); - MORSE_desc_t *descT; - int jobu = MorseVec; - int jobvt = MorseVec; + CHAM_desc_t *descT; + int jobu = ChamVec; + int jobvt = ChamVec; int INFO; /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX( VT, (jobvt == MorseVec), MORSE_Complex64_t, N, N ); - PASTE_CODE_ALLOCATE_MATRIX( U, (jobu == MorseVec), MORSE_Complex64_t, M, M ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX( VT, (jobvt == ChamVec), CHAMELEON_Complex64_t, N, N ); + PASTE_CODE_ALLOCATE_MATRIX( U, (jobu == ChamVec), CHAMELEON_Complex64_t, M, M ); PASTE_CODE_ALLOCATE_MATRIX( S, 1, double, N, 1 ); /* Initialiaze Data */ - MORSE_zplrnt_Tile(descA, 51 ); + CHAMELEON_zplrnt_Tile(descA, 51 ); /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgesvd(N, N, &descT, 1, 1); + CHAMELEON_Alloc_Workspace_zgesvd(N, N, &descT, 1, 1); - if ( jobu == MorseVec ) { + if ( jobu == ChamVec ) { LAPACKE_zlaset_work(LAPACK_COL_MAJOR, 'A', M, M, 0., 1., U, M); } - if ( jobvt == MorseVec ) { + if ( jobvt == ChamVec ) { LAPACKE_zlaset_work(LAPACK_COL_MAJOR, 'A', N, N, 0., 1., VT, N); } START_TIMING(); - INFO = MORSE_zgesvd_Tile(jobu, jobvt, descA, S, descT, U, M, VT, N); + INFO = CHAMELEON_zgesvd_Tile(jobu, jobvt, descA, S, descT, U, M, VT, N); STOP_TIMING(); if( INFO != 0 ) { @@ -61,7 +61,7 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* DeAllocate Workspace */ - MORSE_Dealloc_Workspace(&descT); + CHAMELEON_Dealloc_Workspace(&descT); if ( U != NULL ) { free( U ); diff --git a/timing/time_zgetrf_incpiv.c b/timing/time_zgetrf_incpiv.c index e50581076424c177d8f7e2eaf19224808661db60..cc86539a0d7892995a29cc90d08acd7c134ea680 100644 --- a/timing/time_zgetrf_incpiv.c +++ b/timing/time_zgetrf_incpiv.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgetrf_incpiv_Tile" +#define _NAME "CHAMELEON_zgetrf_incpiv_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GETRF(M, N) #define _FADDS FADDS_GETRF(M, N) @@ -26,9 +26,9 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *L; + CHAM_desc_t *L; int *piv; PASTE_CODE_IPARAM_LOCALS( iparam ); @@ -38,29 +38,29 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, N ); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, N ); /* Initialize Data */ - MORSE_zplrnt(M, N, A, LDA, 3456); + CHAMELEON_zplrnt(M, N, A, LDA, 3456); /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgesv_incpiv( chameleon_min(M,N), &L, &piv, P, Q); + CHAMELEON_Alloc_Workspace_zgesv_incpiv( chameleon_min(M,N), &L, &piv, P, Q); /* Save AT in lapack layout for check */ - PASTE_CODE_ALLOCATE_COPY( Acpy, check, MORSE_Complex64_t, A, LDA, N ); + PASTE_CODE_ALLOCATE_COPY( Acpy, check, CHAMELEON_Complex64_t, A, LDA, N ); START_TIMING(); - MORSE_zgetrf_incpiv( M, N, A, LDA, L, piv ); + CHAMELEON_zgetrf_incpiv( M, N, A, LDA, L, piv ); STOP_TIMING(); /* Check the solution */ if ( check ) { - PASTE_CODE_ALLOCATE_MATRIX( X, 1, MORSE_Complex64_t, LDB, NRHS ); - MORSE_zplrnt( N, NRHS, X, LDB, 5673 ); - PASTE_CODE_ALLOCATE_COPY( B, 1, MORSE_Complex64_t, X, LDB, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX( X, 1, CHAMELEON_Complex64_t, LDB, NRHS ); + CHAMELEON_zplrnt( N, NRHS, X, LDB, 5673 ); + PASTE_CODE_ALLOCATE_COPY( B, 1, CHAMELEON_Complex64_t, X, LDB, NRHS ); - MORSE_zgetrs_incpiv( MorseNoTrans, N, NRHS, A, LDA, L, piv, X, LDB ); + CHAMELEON_zgetrs_incpiv( ChamNoTrans, N, NRHS, A, LDA, L, piv, X, LDB ); dparam[IPARAM_RES] = z_check_solution(M, N, NRHS, Acpy, LDA, B, X, LDB, &(dparam[IPARAM_ANORM]), diff --git a/timing/time_zgetrf_incpiv_tile.c b/timing/time_zgetrf_incpiv_tile.c index 0d2f8ba536a8e3708dc5f505a0e53e8f650209e8..041e685a0ec8740a0fe517b6504b2b30e69f2788 100644 --- a/timing/time_zgetrf_incpiv_tile.c +++ b/timing/time_zgetrf_incpiv_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgetrf_incpiv_Tile" +#define _NAME "CHAMELEON_zgetrf_incpiv_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GETRF(M, N) #define _FADDS FADDS_GETRF(M, N) @@ -25,9 +25,9 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *descL; + CHAM_desc_t *descL; int *piv; PASTE_CODE_IPARAM_LOCALS( iparam ); @@ -37,45 +37,45 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); - MORSE_zplrnt_Tile(descA, 3456); + CHAMELEON_zplrnt_Tile(descA, 3456); /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgesv_incpiv_Tile(chameleon_min(M,N), &descL, &piv, P, Q); + CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile(chameleon_min(M,N), &descL, &piv, P, Q); /* Save A for check */ if (check == 1){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); } START_TIMING(); - MORSE_zgetrf_incpiv_Tile( descA, descL, piv ); + CHAMELEON_zgetrf_incpiv_Tile( descA, descL, piv ); STOP_TIMING(); /* Check the solution */ if ( check ) { - MORSE_zplrnt_Tile( descX, 7732 ); - MORSE_zlacpy_Tile(MorseUpperLower, descX, descB); + CHAMELEON_zplrnt_Tile( descX, 7732 ); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descX, descB); - MORSE_zgetrs_incpiv_Tile( descA, descL, piv, descX ); + CHAMELEON_zgetrs_incpiv_Tile( descA, descL, piv, descX ); - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descX ); PASTE_CODE_FREE_MATRIX( descAC ); PASTE_CODE_FREE_MATRIX( descB ); } /* Deallocate Workspace */ - MORSE_Dealloc_Workspace(&descL); + CHAMELEON_Dealloc_Workspace(&descL); PASTE_CODE_FREE_MATRIX( descA ); free( piv ); diff --git a/timing/time_zgetrf_nopiv.c b/timing/time_zgetrf_nopiv.c index 6806c6c8a3308f9cb1a7386700f3340ad43acf94..bcc29441c65ef0de974587f5b867b538c5fc11b6 100644 --- a/timing/time_zgetrf_nopiv.c +++ b/timing/time_zgetrf_nopiv.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgetrf_Tile" +#define _NAME "CHAMELEON_zgetrf_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GETRF(M, N) #define _FADDS FADDS_GETRF(M, N) @@ -26,7 +26,7 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); @@ -36,26 +36,26 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, N ); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, N ); /* Initialize Data */ - MORSE_zplrnt(M, N, A, LDA, 3456); + CHAMELEON_zplrnt(M, N, A, LDA, 3456); /* Save AT in lapack layout for check */ - PASTE_CODE_ALLOCATE_COPY( Acpy, check, MORSE_Complex64_t, A, LDA, N ); + PASTE_CODE_ALLOCATE_COPY( Acpy, check, CHAMELEON_Complex64_t, A, LDA, N ); START_TIMING(); - MORSE_zgetrf_nopiv( M, N, A, LDA ); + CHAMELEON_zgetrf_nopiv( M, N, A, LDA ); STOP_TIMING(); /* Check the solution */ if ( check ) { - PASTE_CODE_ALLOCATE_MATRIX( X, 1, MORSE_Complex64_t, LDB, NRHS ); - MORSE_zplrnt( N, NRHS, X, LDB, 7732 ); - PASTE_CODE_ALLOCATE_COPY( B, 1, MORSE_Complex64_t, X, LDB, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX( X, 1, CHAMELEON_Complex64_t, LDB, NRHS ); + CHAMELEON_zplrnt( N, NRHS, X, LDB, 7732 ); + PASTE_CODE_ALLOCATE_COPY( B, 1, CHAMELEON_Complex64_t, X, LDB, NRHS ); - MORSE_zgetrs_nopiv( MorseNoTrans, N, NRHS, A, LDA, X, LDB ); + CHAMELEON_zgetrs_nopiv( ChamNoTrans, N, NRHS, A, LDA, X, LDB ); dparam[IPARAM_RES] = z_check_solution(M, N, NRHS, Acpy, LDA, B, X, LDB, &(dparam[IPARAM_ANORM]), diff --git a/timing/time_zgetrf_nopiv_tile.c b/timing/time_zgetrf_nopiv_tile.c index bcb0173c3debc635bbbce2646b4b8ad5e1d958fc..9282742918569328d18e1c0e7a407422554a9282 100644 --- a/timing/time_zgetrf_nopiv_tile.c +++ b/timing/time_zgetrf_nopiv_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgetrf_Tile" +#define _NAME "CHAMELEON_zgetrf_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_GETRF(M, N) #define _FADDS FADDS_GETRF(M, N) @@ -25,7 +25,7 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); @@ -35,16 +35,16 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); - MORSE_zplrnt_Tile(descA, 3456); + CHAMELEON_zplrnt_Tile(descA, 3456); /* Save A for check */ if (check == 1){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); } /** @@ -53,25 +53,25 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) * while performances are similar on CPU. On this algorithm it is therefore * recommended to execute all TRSMs (~low amount) on CPU to increase GPU efficiency. */ - //RUNTIME_zlocality_onerestrict( MORSE_TRSM, STARPU_CPU ); + //RUNTIME_zlocality_onerestrict( CHAMELEON_TRSM, STARPU_CPU ); START_TIMING(); - MORSE_zgetrf_nopiv_Tile( descA ); + CHAMELEON_zgetrf_nopiv_Tile( descA ); STOP_TIMING(); /* Check the solution */ if ( check ) { - MORSE_zplrnt_Tile( descX, 7732 ); - MORSE_zlacpy_Tile(MorseUpperLower, descX, descB); + CHAMELEON_zplrnt_Tile( descX, 7732 ); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descX, descB); - MORSE_zgetrs_nopiv_Tile( descA, descX ); + CHAMELEON_zgetrs_nopiv_Tile( descA, descX ); - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descX ); PASTE_CODE_FREE_MATRIX( descAC ); PASTE_CODE_FREE_MATRIX( descB ); diff --git a/timing/time_zgetri_tile.c b/timing/time_zgetri_tile.c index 6a32b1897e7e92edcd57112c926e68245c998917..f5f46655a5daaaf7d5fe97c96a9de34ede7b9bac 100644 --- a/timing/time_zgetri_tile.c +++ b/timing/time_zgetri_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgetri_Tile" +#define _NAME "CHAMELEON_zgetri_Tile" /* See Lawn 41 page 120 */ #define _FMULS (FMULS_GETRF(M, N) + FMULS_GETRI( N )) #define _FADDS (FADDS_GETRF(M, N) + FADDS_GETRI( N )) @@ -30,37 +30,37 @@ * Check the factorization of the matrix A2 */ #if 0 -static int check_getri_factorization(MORSE_desc_t *descA1, MORSE_desc_t *descA2, int *IPIV) +static int check_getri_factorization(CHAM_desc_t *descA1, CHAM_desc_t *descA2, int *IPIV) { int info_factorization; double Rnorm, Anorm, Xnorm, Bnorm, result; double *work = (double *)malloc((descA1->m)*sizeof(double)); double eps = LAPACKE_dlamch_work('e'); - MORSE_desc_t *descB, *descX; - MORSE_Complex64_t *b = (MORSE_Complex64_t *)malloc((descA1->m)*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *x = (MORSE_Complex64_t *)malloc((descA1->m)*sizeof(MORSE_Complex64_t)); + CHAM_desc_t *descB, *descX; + CHAMELEON_Complex64_t *b = (CHAMELEON_Complex64_t *)malloc((descA1->m)*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *x = (CHAMELEON_Complex64_t *)malloc((descA1->m)*sizeof(CHAMELEON_Complex64_t)); - MORSE_Desc_Create(&descB, b, MorseComplexDouble, descA1->mb, descA1->nb, descA1->bsiz, + CHAMELEON_Desc_Create(&descB, b, ChamComplexDouble, descA1->mb, descA1->nb, descA1->bsiz, descA1->m, 1, 0, 0, descA1->m, 1, 1, 1); - MORSE_Desc_Create(&descX, x, MorseComplexDouble, descA1->mb, descA1->nb, descA1->bsiz, + CHAMELEON_Desc_Create(&descX, x, ChamComplexDouble, descA1->mb, descA1->nb, descA1->bsiz, descA1->m, 1, 0, 0, descA1->m, 1, 1, 1); - MORSE_zplrnt_Tile( descX, 537 ); - MORSE_zlacpy_Tile( MorseUpperLower, descX, descB); + CHAMELEON_zplrnt_Tile( descX, 537 ); + CHAMELEON_zlacpy_Tile( ChamUpperLower, descX, descB); - MORSE_zgetrs_Tile( MorseNoTrans, descA2, IPIV, descX ); + CHAMELEON_zgetrs_Tile( ChamNoTrans, descA2, IPIV, descX ); - Xnorm = MORSE_zlange_Tile(MorseInfNorm, descX, work); - Anorm = MORSE_zlange_Tile(MorseInfNorm, descA1, work); - Bnorm = MORSE_zlange_Tile(MorseInfNorm, descB, work); + Xnorm = CHAMELEON_zlange_Tile(ChamInfNorm, descX, work); + Anorm = CHAMELEON_zlange_Tile(ChamInfNorm, descA1, work); + Bnorm = CHAMELEON_zlange_Tile(ChamInfNorm, descB, work); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, - (MORSE_Complex64_t)1., descA1, descX, - (MORSE_Complex64_t)-1., descB); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, + (CHAMELEON_Complex64_t)1., descA1, descX, + (CHAMELEON_Complex64_t)-1., descB); - Rnorm = MORSE_zlange_Tile(MorseInfNorm, descB, work); + Rnorm = CHAMELEON_zlange_Tile(ChamInfNorm, descB, work); - if (getenv("MORSE_TESTING_VERBOSE")) + if (getenv("CHAMELEON_TESTING_VERBOSE")) printf( "||A||_oo=%f\n||X||_oo=%f\n||B||_oo=%f\n||A X - B||_oo=%e\n", Anorm, Xnorm, Bnorm, Rnorm ); result = Rnorm / ( (Anorm*Xnorm+Bnorm)*(descA1->m)*eps ) ; @@ -77,8 +77,8 @@ static int check_getri_factorization(MORSE_desc_t *descA1, MORSE_desc_t *descA2, info_factorization = 0; } free(x); free(b); free(work); - MORSE_Desc_Destroy(&descB); - MORSE_Desc_Destroy(&descX); + CHAMELEON_Desc_Destroy(&descB); + CHAMELEON_Desc_Destroy(&descX); return info_factorization; } @@ -88,25 +88,25 @@ static int check_getri_factorization(MORSE_desc_t *descA1, MORSE_desc_t *descA2, * Check the accuracy of the computed inverse */ -static int check_getri_inverse(MORSE_desc_t *descA1, MORSE_desc_t *descA2, int *IPIV, double *dparam ) +static int check_getri_inverse(CHAM_desc_t *descA1, CHAM_desc_t *descA2, int *IPIV, double *dparam ) { double Rnorm, Anorm, Ainvnorm, result; double *W = (double *)malloc(descA1->n*sizeof(double)); - MORSE_Complex64_t *work = (MORSE_Complex64_t *)malloc(descA1->n*descA1->n*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *work = (CHAMELEON_Complex64_t *)malloc(descA1->n*descA1->n*sizeof(CHAMELEON_Complex64_t)); double eps = LAPACKE_dlamch_work('e'); - MORSE_desc_t *descW; + CHAM_desc_t *descW; - MORSE_Desc_Create(&descW, work, MorseComplexDouble, descA1->mb, descA1->nb, descA1->bsiz, + CHAMELEON_Desc_Create(&descW, work, ChamComplexDouble, descA1->mb, descA1->nb, descA1->bsiz, descA1->m, descA1->n, 0, 0, descA1->m, descA1->n); - MORSE_zlaset_Tile( MorseUpperLower, (MORSE_Complex64_t)0., (MORSE_Complex64_t)1., descW); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, - (MORSE_Complex64_t)-1., descA2, descA1, - (MORSE_Complex64_t)1., descW); + CHAMELEON_zlaset_Tile( ChamUpperLower, (CHAMELEON_Complex64_t)0., (CHAMELEON_Complex64_t)1., descW); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, + (CHAMELEON_Complex64_t)-1., descA2, descA1, + (CHAMELEON_Complex64_t)1., descW); - Anorm = MORSE_zlange_Tile(MorseInfNorm, descA1, W); - Ainvnorm = MORSE_zlange_Tile(MorseInfNorm, descA2, W); - Rnorm = MORSE_zlange_Tile(MorseInfNorm, descW, W); + Anorm = CHAMELEON_zlange_Tile(ChamInfNorm, descA1, W); + Ainvnorm = CHAMELEON_zlange_Tile(ChamInfNorm, descA2, W); + Rnorm = CHAMELEON_zlange_Tile(ChamInfNorm, descW, W); dparam[IPARAM_ANORM] = Anorm; dparam[IPARAM_BNORM] = Ainvnorm; @@ -121,17 +121,17 @@ static int check_getri_inverse(MORSE_desc_t *descA1, MORSE_desc_t *descA2, int * dparam[IPARAM_XNORM] = 0.; } - MORSE_Desc_Destroy(&descW); + CHAMELEON_Desc_Destroy(&descW); free(W); free(work); - return MORSE_SUCCESS; + return CHAMELEON_SUCCESS; } static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t descW; + CHAM_desc_t descW; int ret = 0; PASTE_CODE_IPARAM_LOCALS( iparam ); @@ -141,99 +141,99 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA2, check, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA2, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); PASTE_CODE_ALLOCATE_MATRIX( piv, 1, int, N, 1 ); - MORSE_Alloc_Workspace_zgetri_Tile_Async(descA, &descW); - MORSE_zplrnt_Tile( descA, 3453 ); + CHAMELEON_Alloc_Workspace_zgetri_Tile_Async(descA, &descW); + CHAMELEON_zplrnt_Tile( descA, 3453 ); if ( check ) { - MORSE_zlacpy_Tile( MorseUpperLower, descA, descA2 ); + CHAMELEON_zlacpy_Tile( ChamUpperLower, descA, descA2 ); } - /* MORSE ZGETRF / ZTRTRI / ZTRSMRV */ + /* CHAMELEON ZGETRF / ZTRTRI / ZTRSMRV */ { #if defined(TRACE_BY_SEQUENCE) - MORSE_sequence_t *sequence; - MORSE_request_t request[4] = { MORSE_REQUEST_INITIALIZER, - MORSE_REQUEST_INITIALIZER, - MORSE_REQUEST_INITIALIZER, - MORSE_REQUEST_INITIALIZER }; + RUNTIME_sequence_t *sequence; + RUNTIME_request_t request[4] = { RUNTIME_REQUEST_INITIALIZER, + RUNTIME_REQUEST_INITIALIZER, + RUNTIME_REQUEST_INITIALIZER, + RUNTIME_REQUEST_INITIALIZER }; - MORSE_Sequence_Create(&sequence); + CHAMELEON_Sequence_Create(&sequence); if ( ! iparam[IPARAM_ASYNC] ) { START_TIMING(); - MORSE_zgetrf_Tile_Async( descA, piv, sequence, &request[0] ); - MORSE_Sequence_Wait(sequence); + CHAMELEON_zgetrf_Tile_Async( descA, piv, sequence, &request[0] ); + CHAMELEON_Sequence_Wait(sequence); - MORSE_ztrtri_Tile_Async( MorseUpper, MorseNonUnit, descA, sequence, &request[1] ); - MORSE_Sequence_Wait(sequence); + CHAMELEON_ztrtri_Tile_Async( ChamUpper, ChamNonUnit, descA, sequence, &request[1] ); + CHAMELEON_Sequence_Wait(sequence); - MORSE_ztrsmrv_Tile_Async( MorseRight, MorseLower, MorseNoTrans, MorseUnit, - (MORSE_Complex64_t) 1.0, descA, &descW, + CHAMELEON_ztrsmrv_Tile_Async( ChamRight, ChamLower, ChamNoTrans, ChamUnit, + (CHAMELEON_Complex64_t) 1.0, descA, &descW, sequence, &request[2] ); - MORSE_Sequence_Wait(sequence); + CHAMELEON_Sequence_Wait(sequence); - MORSE_zlaswpc_Tile_Async( descA, 1, descA->m, piv, -1, + CHAMELEON_zlaswpc_Tile_Async( descA, 1, descA->m, piv, -1, sequence, &request[3] ); - MORSE_Desc_Flush( descA, sequence ); - MORSE_Sequence_Wait(sequence); + CHAMELEON_Desc_Flush( descA, sequence ); + CHAMELEON_Sequence_Wait(sequence); STOP_TIMING(); } else { START_TIMING(); - MORSE_zgetrf_Tile_Async( descA, piv, sequence, &request[0]); - MORSE_ztrtri_Tile_Async( MorseUpper, MorseNonUnit, + CHAMELEON_zgetrf_Tile_Async( descA, piv, sequence, &request[0]); + CHAMELEON_ztrtri_Tile_Async( ChamUpper, ChamNonUnit, descA, sequence, &request[1] ); - MORSE_ztrsmrv_Tile_Async( MorseRight, MorseLower, MorseNoTrans, MorseUnit, - (MORSE_Complex64_t) 1.0, + CHAMELEON_ztrsmrv_Tile_Async( ChamRight, ChamLower, ChamNoTrans, ChamUnit, + (CHAMELEON_Complex64_t) 1.0, descA, &descW, sequence, &request[2] ); - MORSE_zlaswpc_Tile_Async( descA, 1, descA->m, piv, -1, + CHAMELEON_zlaswpc_Tile_Async( descA, 1, descA->m, piv, -1, sequence, &request[3] ); /* Wait for everything */ - MORSE_Desc_Flush( descA, sequence ); - MORSE_Sequence_Wait( sequence ); + CHAMELEON_Desc_Flush( descA, sequence ); + CHAMELEON_Sequence_Wait( sequence ); STOP_TIMING(); } - MORSE_Sequence_Destroy(sequence[0]); - MORSE_Sequence_Destroy(sequence[1]); - MORSE_Sequence_Destroy(sequence[2]); - MORSE_Sequence_Destroy(sequence[3]); + CHAMELEON_Sequence_Destroy(sequence[0]); + CHAMELEON_Sequence_Destroy(sequence[1]); + CHAMELEON_Sequence_Destroy(sequence[2]); + CHAMELEON_Sequence_Destroy(sequence[3]); #else if ( ! iparam[IPARAM_ASYNC] ) { START_TIMING(); - MORSE_zgetrf_Tile(descA, piv); - MORSE_ztrtri_Tile(MorseUpper, MorseNonUnit, descA); - MORSE_ztrsmrv_Tile(MorseRight, MorseLower, MorseNoTrans, MorseUnit, - (MORSE_Complex64_t) 1.0, descA, &descW); - MORSE_zlaswpc_Tile(descA, 1, descA->m, piv, -1); + CHAMELEON_zgetrf_Tile(descA, piv); + CHAMELEON_ztrtri_Tile(ChamUpper, ChamNonUnit, descA); + CHAMELEON_ztrsmrv_Tile(ChamRight, ChamLower, ChamNoTrans, ChamUnit, + (CHAMELEON_Complex64_t) 1.0, descA, &descW); + CHAMELEON_zlaswpc_Tile(descA, 1, descA->m, piv, -1); STOP_TIMING(); } else { - MORSE_sequence_t *sequence; - MORSE_request_t request[2] = { MORSE_REQUEST_INITIALIZER, - MORSE_REQUEST_INITIALIZER }; + RUNTIME_sequence_t *sequence; + RUNTIME_request_t request[2] = { RUNTIME_REQUEST_INITIALIZER, + RUNTIME_REQUEST_INITIALIZER }; - MORSE_Sequence_Create(&sequence); + CHAMELEON_Sequence_Create(&sequence); START_TIMING(); - MORSE_zgetrf_Tile_Async(descA, piv, sequence, &request[0]); - MORSE_zgetri_Tile_Async(descA, piv, &descW, sequence, &request[1]); - MORSE_Desc_Flush( descA, sequence ); - MORSE_Sequence_Wait(sequence); + CHAMELEON_zgetrf_Tile_Async(descA, piv, sequence, &request[0]); + CHAMELEON_zgetri_Tile_Async(descA, piv, &descW, sequence, &request[1]); + CHAMELEON_Desc_Flush( descA, sequence ); + CHAMELEON_Sequence_Wait(sequence); STOP_TIMING(); - MORSE_Sequence_Destroy(sequence); + CHAMELEON_Sequence_Destroy(sequence); } #endif } diff --git a/timing/time_zgetrs_incpiv_tile.c b/timing/time_zgetrs_incpiv_tile.c index 2ada8ece1c226401bcb2fa129b027ff03e2cea91..5a2c69394aac749305775dc1c60461d7a32faf22 100644 --- a/timing/time_zgetrs_incpiv_tile.c +++ b/timing/time_zgetrs_incpiv_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgetrs_incpiv_Tile" +#define _NAME "CHAMELEON_zgetrs_incpiv_Tile" /* See Lawn 41 page 120 */ #define _FMULS (FMULS_GETRS( N, NRHS )) #define _FADDS (FADDS_GETRS( N, NRHS )) @@ -25,9 +25,9 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_desc_t *descL; + CHAM_desc_t *descL; int *piv; PASTE_CODE_IPARAM_LOCALS( iparam ); check = 1; @@ -38,49 +38,49 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); - MORSE_zplrnt_Tile(descA, 3456); + CHAMELEON_zplrnt_Tile(descA, 3456); /* Allocate Workspace */ - MORSE_Alloc_Workspace_zgesv_incpiv_Tile(chameleon_min(M,N), &descL, &piv, P, Q); + CHAMELEON_Alloc_Workspace_zgesv_incpiv_Tile(chameleon_min(M,N), &descL, &piv, P, Q); /* Save A for check */ if (check == 1){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); } - /* MORSE ZGETRF_NOPIV */ - MORSE_zgetrf_incpiv_Tile( descA, descL, piv ); + /* CHAMELEON ZGETRF_NOPIV */ + CHAMELEON_zgetrf_incpiv_Tile( descA, descL, piv ); /* Check the solution */ if ( check ) { /* Initialize and save B */ - MORSE_zplrnt_Tile( descX, 7732 ); - MORSE_zlacpy_Tile(MorseUpperLower, descX, descB); + CHAMELEON_zplrnt_Tile( descX, 7732 ); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descX, descB); /* Compute the solution */ START_TIMING(); - MORSE_zgetrs_incpiv_Tile( descA, descL, piv, descX ); + CHAMELEON_zgetrs_incpiv_Tile( descA, descL, piv, descX ); STOP_TIMING(); /* Check solution */ - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descX ); PASTE_CODE_FREE_MATRIX( descAC ); PASTE_CODE_FREE_MATRIX( descB ); } /* Deallocate Workspace */ - MORSE_Dealloc_Workspace(&descL); + CHAMELEON_Dealloc_Workspace(&descL); PASTE_CODE_FREE_MATRIX( descA ); free( piv ); diff --git a/timing/time_zgetrs_nopiv_tile.c b/timing/time_zgetrs_nopiv_tile.c index abca3941174b6276fb404ca36c4f60b4c397170d..ceeebeac6aeadbc702f8adee0e9ddc701d9f7760 100644 --- a/timing/time_zgetrs_nopiv_tile.c +++ b/timing/time_zgetrs_nopiv_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zgetrs_nopiv_Tile" +#define _NAME "CHAMELEON_zgetrs_nopiv_Tile" /* See Lawn 41 page 120 */ #define _FMULS (FMULS_GETRS( N, NRHS )) #define _FADDS (FADDS_GETRS( N, NRHS )) @@ -25,7 +25,7 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); check = 1; @@ -36,39 +36,39 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, M, NRHS ); - MORSE_zplrnt_Tile(descA, 3456); + CHAMELEON_zplrnt_Tile(descA, 3456); /* Save A for check */ if (check == 1){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); } - /* MORSE ZGETRF_NOPIV */ - MORSE_zgetrf_nopiv_Tile( descA ); + /* CHAMELEON ZGETRF_NOPIV */ + CHAMELEON_zgetrf_nopiv_Tile( descA ); /* Check the solution */ if ( check ) { /* Initialize and save B */ - MORSE_zplrnt_Tile( descX, 7732 ); - MORSE_zlacpy_Tile(MorseUpperLower, descX, descB); + CHAMELEON_zplrnt_Tile( descX, 7732 ); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descX, descB); /* Compute the solution */ START_TIMING(); - MORSE_zgetrs_nopiv_Tile( descA, descX ); + CHAMELEON_zgetrs_nopiv_Tile( descA, descX ); STOP_TIMING(); /* Check solution */ - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descX ); PASTE_CODE_FREE_MATRIX( descAC ); PASTE_CODE_FREE_MATRIX( descB ); diff --git a/timing/time_zheevd_tile.c b/timing/time_zheevd_tile.c index c81341b1dc2b810032fc65311b8c262d7a360ac9..8a6a95cbc7ed22b80ab33ed693e99e4ce843f75a 100644 --- a/timing/time_zheevd_tile.c +++ b/timing/time_zheevd_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zheevd_Tile" +#define _NAME "CHAMELEON_zheevd_Tile" /* See Lawn 41 page 120 */ #define _FMULS ((2. / 3.) * ((double)N * (double)N * (double)N)) #define _FADDS ((2. / 3.) * ((double)N * (double)N * (double)N)) @@ -26,26 +26,26 @@ /* #include <mkl_service.h> */ static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); - MORSE_desc_t *descT; - int uplo = MorseLower; - int vec = MorseVec; + CHAM_desc_t *descT; + cham_uplo_t uplo = ChamLower; + int vec = ChamVec; int INFO; LDA = chameleon_max(LDA, N); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, N); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, N); PASTE_CODE_ALLOCATE_MATRIX( S, 1, double, N, 1 ); /* Allocate Workspace */ - MORSE_zplghe( (double)N, MorseUpperLower, N, A, LDA, 51 ); - MORSE_Alloc_Workspace_zheevd(N, N, &descT, 1, 1); + CHAMELEON_zplghe( (double)N, ChamUpperLower, N, A, LDA, 51 ); + CHAMELEON_Alloc_Workspace_zheevd(N, N, &descT, 1, 1); START_TIMING(); - INFO = MORSE_zheevd(vec, uplo, N, A, LDA, S, descT); + INFO = CHAMELEON_zheevd(vec, uplo, N, A, LDA, S, descT); STOP_TIMING(); if (INFO != 0){ @@ -53,7 +53,7 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) } /* DeAllocate Workspace */ - MORSE_Dealloc_Workspace(&descT); + CHAMELEON_Dealloc_Workspace(&descT); free( A ); (void)dparam; diff --git a/timing/time_zlange.c b/timing/time_zlange.c index 42874b184f3a7676288d8c33d16fd72d3692dae3..85ef806b205bce2b7f8964067b7858d60db96208 100644 --- a/timing/time_zlange.c +++ b/timing/time_zlange.c @@ -13,59 +13,59 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zlange" +#define _NAME "CHAMELEON_zlange" #define _FMULS FMULS_LANGE(M, N) #define _FADDS FADDS_LANGE(M, N) #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { int hres = 0; - double normmorse, normlapack, result; - int norm = MorseInfNorm; + double normcham, normlapack, result; + int norm = ChamInfNorm; PASTE_CODE_IPARAM_LOCALS( iparam ); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, M, N ); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, M, N ); - MORSE_zplrnt( M, N, A, LDA, 3436 ); + CHAMELEON_zplrnt( M, N, A, LDA, 3436 ); - /* MORSE ZLANGE */ + /* CHAMELEON ZLANGE */ START_TIMING(); - normmorse = MORSE_zlange(norm, M, N, A, LDA); + normcham = CHAMELEON_zlange(norm, M, N, A, LDA); STOP_TIMING(); /* Check the solution */ if ( check ) { double *work = (double*) malloc(chameleon_max(M,N)*sizeof(double)); - normlapack = LAPACKE_zlange_work(LAPACK_COL_MAJOR, morse_lapack_const(norm), M, N, A, LDA, work); - result = fabs(normmorse - normlapack); + normlapack = LAPACKE_zlange_work(LAPACK_COL_MAJOR, chameleon_lapack_const(norm), M, N, A, LDA, work); + result = fabs(normcham - normlapack); switch(norm) { - case MorseMaxNorm: + case ChamMaxNorm: /* result should be perfectly equal */ break; - case MorseInfNorm: + case ChamInfNorm: /* Sum order on the line can differ */ result = result / (double)N; break; - case MorseOneNorm: + case ChamOneNorm: /* Sum order on the column can differ */ result = result / (double)M; break; - case MorseFrobeniusNorm: + case ChamFrobeniusNorm: /* Sum oreder on every element can differ */ result = result / ((double)M * (double)N); break; } - if ( MORSE_My_Mpi_Rank() == 0 ) { + if ( CHAMELEON_My_Mpi_Rank() == 0 ) { dparam[IPARAM_ANORM] = normlapack; dparam[IPARAM_BNORM] = 0.; dparam[IPARAM_XNORM] = 1.; diff --git a/timing/time_zlange_tile.c b/timing/time_zlange_tile.c index d52d1898614918ab42f444fed5c804e641be4fbe..8c445d2a5704f383be9eb85a6255e40c7716b4de 100644 --- a/timing/time_zlange_tile.c +++ b/timing/time_zlange_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zlange_Tile" +#define _NAME "CHAMELEON_zlange_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_LANGE(M, N) #define _FADDS FADDS_LANGE(M, N) @@ -25,20 +25,20 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - double normmorse, normlapack, result; - int norm = MorseInfNorm; + double normcham, normlapack, result; + int norm = ChamInfNorm; PASTE_CODE_IPARAM_LOCALS( iparam ); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); - MORSE_zplrnt_Tile( descA, 3436 ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, M, N ); + CHAMELEON_zplrnt_Tile( descA, 3436 ); - /* MORSE ZPOSV */ + /* CHAMELEON ZPOSV */ START_TIMING(); - normmorse = MORSE_zlange_Tile(norm, descA); + normcham = CHAMELEON_zlange_Tile(norm, descA); STOP_TIMING(); #if !defined(CHAMELEON_SIMULATION) @@ -46,28 +46,28 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) if ( check ) { /* Allocate Data */ - PASTE_TILE_TO_LAPACK( descA, A, check, MORSE_Complex64_t, M, N ); + PASTE_TILE_TO_LAPACK( descA, A, check, CHAMELEON_Complex64_t, M, N ); double *work = (double*) malloc(chameleon_max(M,N)*sizeof(double)); - normlapack = LAPACKE_zlange_work(LAPACK_COL_MAJOR, morse_lapack_const(norm), M, N, A, LDA, work); - result = fabs(normmorse - normlapack); + normlapack = LAPACKE_zlange_work(LAPACK_COL_MAJOR, chameleon_lapack_const(norm), M, N, A, LDA, work); + result = fabs(normcham - normlapack); switch(norm) { - case MorseMaxNorm: + case ChamMaxNorm: /* result should be perfectly equal */ break; - case MorseInfNorm: + case ChamInfNorm: /* Sum order on the line can differ */ result = result / (double)N; break; - case MorseOneNorm: + case ChamOneNorm: /* Sum order on the column can differ */ result = result / (double)M; break; - case MorseFrobeniusNorm: + case ChamFrobeniusNorm: /* Sum oreder on every element can differ */ result = result / ((double)M * (double)N); break; } - if ( MORSE_My_Mpi_Rank() == 0 ) { + if ( CHAMELEON_My_Mpi_Rank() == 0 ) { dparam[IPARAM_ANORM] = normlapack; dparam[IPARAM_BNORM] = 0.; dparam[IPARAM_XNORM] = 1.; @@ -79,6 +79,6 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) #endif PASTE_CODE_FREE_MATRIX( descA ); - (void)normmorse; + (void)normcham; return 0; } diff --git a/timing/time_zposv.c b/timing/time_zposv.c index fc9183c58dfcbdaef791bacf7b85d4e9b872e744..86d141ecef0a791911b6f6d0a2c803680a667eb1 100644 --- a/timing/time_zposv.c +++ b/timing/time_zposv.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zposv" +#define _NAME "CHAMELEON_zposv" /* See Lawn 41 page 120 */ #define _FMULS (FMULS_POTRF( N ) + FMULS_POTRS( N, NRHS )) #define _FADDS (FADDS_POTRF( N ) + FADDS_POTRS( N, NRHS )) @@ -26,28 +26,28 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); - MORSE_enum uplo = MorseUpper; + cham_uplo_t uplo = ChamUpper; LDA = chameleon_max(LDA, N); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, N ); - PASTE_CODE_ALLOCATE_MATRIX( X, 1, MORSE_Complex64_t, LDB, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, N ); + PASTE_CODE_ALLOCATE_MATRIX( X, 1, CHAMELEON_Complex64_t, LDB, NRHS ); /* Initialiaze Data */ - MORSE_zplghe((double)N, MorseUpperLower, N, A, LDA, 51 ); - MORSE_zplrnt( N, NRHS, X, LDB, 5673 ); + CHAMELEON_zplghe((double)N, ChamUpperLower, N, A, LDA, 51 ); + CHAMELEON_zplrnt( N, NRHS, X, LDB, 5673 ); /* Save A and b */ - PASTE_CODE_ALLOCATE_COPY( Acpy, check, MORSE_Complex64_t, A, LDA, N ); - PASTE_CODE_ALLOCATE_COPY( B, check, MORSE_Complex64_t, X, LDB, NRHS ); + PASTE_CODE_ALLOCATE_COPY( Acpy, check, CHAMELEON_Complex64_t, A, LDA, N ); + PASTE_CODE_ALLOCATE_COPY( B, check, CHAMELEON_Complex64_t, X, LDB, NRHS ); - /* MORSE ZPOSV */ + /* CHAMELEON ZPOSV */ START_TIMING(); - MORSE_zposv(uplo, N, NRHS, A, LDA, X, LDB); + CHAMELEON_zposv(uplo, N, NRHS, A, LDA, X, LDB); STOP_TIMING(); /* Check the solution */ diff --git a/timing/time_zposv_tile.c b/timing/time_zposv_tile.c index fa4a6196a6e6f3b051f7dce80d7090a3862b8c5b..d2d04fdfae8771e9a7b9e86795add510c0006cca 100644 --- a/timing/time_zposv_tile.c +++ b/timing/time_zposv_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zposv_Tile" +#define _NAME "CHAMELEON_zposv_Tile" /* See Lawn 41 page 120 */ #define _FMULS (FMULS_POTRF( N ) + FMULS_POTRS( N, NRHS )) #define _FADDS (FADDS_POTRF( N ) + FADDS_POTRS( N, NRHS )) @@ -25,41 +25,41 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); - MORSE_enum uplo = MorseUpper; + cham_uplo_t uplo = ChamUpper; LDA = chameleon_max(LDA, N); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, 1, MORSE_Complex64_t, MorseComplexDouble, LDB, N, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, MORSE_Complex64_t, MorseComplexDouble, LDB, N, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS ); /* Initialize AT and bT for Symmetric Positif Matrix */ - MORSE_zplghe_Tile((double)N, MorseUpperLower, descA, 51 ); - MORSE_zplrnt_Tile( descX, 7732 ); + CHAMELEON_zplghe_Tile((double)N, ChamUpperLower, descA, 51 ); + CHAMELEON_zplrnt_Tile( descX, 7732 ); /* Save AT and bT for check */ if (check == 1){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); - MORSE_zlacpy_Tile(MorseUpperLower, descX, descB); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descX, descB); } - /* MORSE ZPOSV */ + /* CHAMELEON ZPOSV */ START_TIMING(); - MORSE_zposv_Tile(uplo, descA, descX); + CHAMELEON_zposv_Tile(uplo, descA, descX); STOP_TIMING(); /* Check the solution */ if (check) { - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descAC ); PASTE_CODE_FREE_MATRIX( descB ); } diff --git a/timing/time_zpotrf.c b/timing/time_zpotrf.c index 9baf6e3fe8288776f0891bb526e52656b502e885..95b4043564c5593cc32a8e354f49134702a39fdc 100644 --- a/timing/time_zpotrf.c +++ b/timing/time_zpotrf.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zpotrf" +#define _NAME "CHAMELEON_zpotrf" /* See Lawn 41 page 120 */ #define _FMULS FMULS_POTRF( N ) #define _FADDS FADDS_POTRF( N ) @@ -26,35 +26,35 @@ #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); - int uplo = MorseLower; + cham_uplo_t uplo = ChamLower; LDA = chameleon_max(LDA, N); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, N ); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, N ); /* Initialiaze Data */ - MORSE_zplghe( (double)N, MorseUpperLower, N, A, LDA, 51 ); + CHAMELEON_zplghe( (double)N, ChamUpperLower, N, A, LDA, 51 ); /* Save A and b */ - PASTE_CODE_ALLOCATE_COPY( A2, check, MORSE_Complex64_t, A, LDA, N ); + PASTE_CODE_ALLOCATE_COPY( A2, check, CHAMELEON_Complex64_t, A, LDA, N ); - /* MORSE ZPOSV */ + /* CHAMELEON ZPOSV */ START_TIMING(); - MORSE_zpotrf(uplo, N, A, LDA); + CHAMELEON_zpotrf(uplo, N, A, LDA); STOP_TIMING(); /* Check the solution */ if (check) { - PASTE_CODE_ALLOCATE_MATRIX( B, check, MORSE_Complex64_t, LDB, NRHS ); - MORSE_zplrnt( N, NRHS, B, LDB, 5673 ); - PASTE_CODE_ALLOCATE_COPY( X, check, MORSE_Complex64_t, B, LDB, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX( B, check, CHAMELEON_Complex64_t, LDB, NRHS ); + CHAMELEON_zplrnt( N, NRHS, B, LDB, 5673 ); + PASTE_CODE_ALLOCATE_COPY( X, check, CHAMELEON_Complex64_t, B, LDB, NRHS ); - MORSE_zpotrs(uplo, N, NRHS, A, LDA, X, LDB); + CHAMELEON_zpotrs(uplo, N, NRHS, A, LDA, X, LDB); dparam[IPARAM_RES] = z_check_solution(N, N, NRHS, A2, LDA, B, X, LDB, &(dparam[IPARAM_ANORM]), diff --git a/timing/time_zpotrf_tile.c b/timing/time_zpotrf_tile.c index eb69d0cc4c0750719b145774e51faad1bed705ec..8665f2238713bd7dfd850fcbd8fe89ce4c155db7 100644 --- a/timing/time_zpotrf_tile.c +++ b/timing/time_zpotrf_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zpotrf_Tile" +#define _NAME "CHAMELEON_zpotrf_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_POTRF( N ) #define _FADDS FADDS_POTRF( N ) @@ -25,48 +25,48 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); - int uplo = MorseUpper; + cham_uplo_t uplo = ChamUpper; LDA = chameleon_max(LDA, N); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, MORSE_Complex64_t, MorseComplexDouble, LDB, N, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, MORSE_Complex64_t, MorseComplexDouble, LDB, N, NRHS ); - MORSE_zplghe_Tile( (double)N, MorseUpperLower, descA, 51 ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS ); + CHAMELEON_zplghe_Tile( (double)N, ChamUpperLower, descA, 51 ); /* Save A for check */ if (check == 1){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); } //RUNTIME_zlocality_allrestrict( STARPU_CUDA ); - /* MORSE ZPOTRF */ + /* CHAMELEON ZPOTRF */ START_TIMING(); - MORSE_zpotrf_Tile(uplo, descA); + CHAMELEON_zpotrf_Tile(uplo, descA); STOP_TIMING(); /* Check the solution */ if ( check ) { /* Initialize and save B */ - MORSE_zplrnt_Tile( descB, 7672 ); - MORSE_zlacpy_Tile(MorseUpperLower, descB, descX); + CHAMELEON_zplrnt_Tile( descB, 7672 ); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descB, descX); /* Compute the solution */ - MORSE_zpotrs_Tile( uplo, descA, descX ); + CHAMELEON_zpotrs_Tile( uplo, descA, descX ); /* Check solution */ - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descB ); PASTE_CODE_FREE_MATRIX( descAC ); diff --git a/timing/time_zpotri_tile.c b/timing/time_zpotri_tile.c index 78f20db8f22fd7895eed70b2640e0f64c75ba892..f2d7b50121c98d587d5042d8f20f42181db4d1c3 100644 --- a/timing/time_zpotri_tile.c +++ b/timing/time_zpotri_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zpotri_Tile" +#define _NAME "CHAMELEON_zpotri_Tile" /* See Lawn 41 page 120 */ #define _FMULS (FMULS_POTRF( N ) + FMULS_POTRI( N )) #define _FADDS (FADDS_POTRF( N ) + FADDS_POTRI( N )) @@ -27,95 +27,95 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); - MORSE_enum uplo = MorseLower; + cham_uplo_t uplo = ChamLower; LDA = chameleon_max(LDA, N); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); /* * Initialize Data * It's done in static to avoid having the same sequence than one * the function we want to trace */ - MORSE_zplghe_Tile( (double)N, MorseUpperLower, descA, 51 ); + CHAMELEON_zplghe_Tile( (double)N, ChamUpperLower, descA, 51 ); - /* MORSE ZPOTRF / ZTRTRI / ZLAUUM */ + /* CHAMELEON ZPOTRF / ZTRTRI / ZLAUUM */ /* * Example of the different way to combine several asynchonous calls */ #if defined(TRACE_BY_SEQUENCE) { - MORSE_sequence_t *sequence; - MORSE_request_t request[3] = { MORSE_REQUEST_INITIALIZER, - MORSE_REQUEST_INITIALIZER, - MORSE_REQUEST_INITIALIZER }; + RUNTIME_sequence_t *sequence; + RUNTIME_request_t request[3] = { RUNTIME_REQUEST_INITIALIZER, + RUNTIME_REQUEST_INITIALIZER, + RUNTIME_REQUEST_INITIALIZER }; - MORSE_Sequence_Create(&sequence); + CHAMELEON_Sequence_Create(&sequence); if ( ! iparam[IPARAM_ASYNC] ) { START_TIMING(); - MORSE_zpotrf_Tile_Async(uplo, descA, sequence, &request[0]); - MORSE_Desc_Flush( descA, sequence ); - MORSE_Sequence_Wait(sequence); + CHAMELEON_zpotrf_Tile_Async(uplo, descA, sequence, &request[0]); + CHAMELEON_Desc_Flush( descA, sequence ); + CHAMELEON_Sequence_Wait(sequence); - MORSE_ztrtri_Tile_Async(uplo, MorseNonUnit, descA, sequence, &request[1]); - MORSE_Desc_Flush( descA, sequence ); - MORSE_Sequence_Wait(sequence); + CHAMELEON_ztrtri_Tile_Async(uplo, ChamNonUnit, descA, sequence, &request[1]); + CHAMELEON_Desc_Flush( descA, sequence ); + CHAMELEON_Sequence_Wait(sequence); - MORSE_zlauum_Tile_Async(uplo, descA, sequence, &request[2]); - MORSE_Desc_Flush( descA, sequence ); - MORSE_Sequence_Wait(sequence); + CHAMELEON_zlauum_Tile_Async(uplo, descA, sequence, &request[2]); + CHAMELEON_Desc_Flush( descA, sequence ); + CHAMELEON_Sequence_Wait(sequence); STOP_TIMING(); } else { START_TIMING(); - MORSE_zpotrf_Tile_Async(uplo, descA, sequence, &request[0]); - MORSE_ztrtri_Tile_Async(uplo, MorseNonUnit, descA, sequence, &request[1]); - MORSE_zlauum_Tile_Async(uplo, descA, sequence, &request[2]); + CHAMELEON_zpotrf_Tile_Async(uplo, descA, sequence, &request[0]); + CHAMELEON_ztrtri_Tile_Async(uplo, ChamNonUnit, descA, sequence, &request[1]); + CHAMELEON_zlauum_Tile_Async(uplo, descA, sequence, &request[2]); - MORSE_Desc_Flush( descA, sequence ); - MORSE_Sequence_Wait(sequence); + CHAMELEON_Desc_Flush( descA, sequence ); + CHAMELEON_Sequence_Wait(sequence); STOP_TIMING(); } - MORSE_Sequence_Destroy(sequence[0]); - MORSE_Sequence_Destroy(sequence[1]); - MORSE_Sequence_Destroy(sequence[2]); + CHAMELEON_Sequence_Destroy(sequence[0]); + CHAMELEON_Sequence_Destroy(sequence[1]); + CHAMELEON_Sequence_Destroy(sequence[2]); } #else { if ( ! iparam[IPARAM_ASYNC] ) { START_TIMING(); - MORSE_zpotrf_Tile(uplo, descA); - MORSE_ztrtri_Tile(uplo, MorseNonUnit, descA); - MORSE_zlauum_Tile(uplo, descA); + CHAMELEON_zpotrf_Tile(uplo, descA); + CHAMELEON_ztrtri_Tile(uplo, ChamNonUnit, descA); + CHAMELEON_zlauum_Tile(uplo, descA); STOP_TIMING(); } else { /* Default: we use Asynchonous call with only one sequence */ - MORSE_sequence_t *sequence; - MORSE_request_t request[2] = { MORSE_REQUEST_INITIALIZER, - MORSE_REQUEST_INITIALIZER }; + RUNTIME_sequence_t *sequence; + RUNTIME_request_t request[2] = { RUNTIME_REQUEST_INITIALIZER, + RUNTIME_REQUEST_INITIALIZER }; START_TIMING(); - MORSE_Sequence_Create(&sequence); - MORSE_zpotrf_Tile_Async(uplo, descA, sequence, &request[0]); - MORSE_zpotri_Tile_Async(uplo, descA, sequence, &request[1]); - MORSE_Desc_Flush( descA, sequence ); - MORSE_Sequence_Wait(sequence); + CHAMELEON_Sequence_Create(&sequence); + CHAMELEON_zpotrf_Tile_Async(uplo, descA, sequence, &request[0]); + CHAMELEON_zpotri_Tile_Async(uplo, descA, sequence, &request[1]); + CHAMELEON_Desc_Flush( descA, sequence ); + CHAMELEON_Sequence_Wait(sequence); STOP_TIMING(); - MORSE_Sequence_Destroy(sequence); + CHAMELEON_Sequence_Destroy(sequence); } } #endif diff --git a/timing/time_zpotrs_tile.c b/timing/time_zpotrs_tile.c index 5e78980c4d189b3d53bab142478e6641f4ca7fb8..d61cd13c5594bf09bfd36d2d1e9ff7f50741bb1b 100644 --- a/timing/time_zpotrs_tile.c +++ b/timing/time_zpotrs_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zpotrs_Tile" +#define _NAME "CHAMELEON_zpotrs_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_POTRS( N, NRHS ) #define _FADDS FADDS_POTRS( N, NRHS ) @@ -25,49 +25,49 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); - int uplo = MorseUpper; + cham_uplo_t uplo = ChamUpper; LDA = chameleon_max(LDA, N); check = 1; /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, MORSE_Complex64_t, MorseComplexDouble, LDB, N, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, MORSE_Complex64_t, MorseComplexDouble, LDB, N, NRHS ); - MORSE_zplghe_Tile( (double)N, MorseUpperLower, descA, 51 ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS ); + CHAMELEON_zplghe_Tile( (double)N, ChamUpperLower, descA, 51 ); /* Save A for check */ if (check == 1){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); } //RUNTIME_zlocality_allrestrict( STARPU_CUDA ); - /* MORSE ZPOTRF */ - MORSE_zpotrf_Tile(uplo, descA); + /* CHAMELEON ZPOTRF */ + CHAMELEON_zpotrf_Tile(uplo, descA); /* Check the solution */ if ( check ) { /* Initialize and save B */ - MORSE_zplrnt_Tile( descB, 7672 ); - MORSE_zlacpy_Tile(MorseUpperLower, descB, descX); + CHAMELEON_zplrnt_Tile( descB, 7672 ); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descB, descX); /* Compute the solution */ START_TIMING(); - MORSE_zpotrs_Tile( uplo, descA, descX ); + CHAMELEON_zpotrs_Tile( uplo, descA, descX ); STOP_TIMING(); /* Check solution */ - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descB ); PASTE_CODE_FREE_MATRIX( descAC ); diff --git a/timing/time_zsytrf_tile.c b/timing/time_zsytrf_tile.c index 796050f6faa94c21ab3fbe18403f233bda6da7a6..9c3a54b056ead192cd245662cbc53446c5c72ad3 100644 --- a/timing/time_zsytrf_tile.c +++ b/timing/time_zsytrf_tile.c @@ -13,11 +13,11 @@ * @precisions normal z -> c * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_zsytrf_Tile" +#define _NAME "CHAMELEON_zsytrf_Tile" /* See Lawn 41 page 120 */ #define _FMULS FMULS_SYTRF( N ) #define _FADDS FADDS_SYTRF( N ) @@ -25,41 +25,41 @@ #include "./timing.c" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { PASTE_CODE_IPARAM_LOCALS( iparam ); - int uplo = MorseUpper; + cham_uplo_t uplo = ChamUpper; LDA = chameleon_max(LDA, N); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, MORSE_Complex64_t, MorseComplexDouble, LDB, N, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, MORSE_Complex64_t, MorseComplexDouble, LDA, N, N ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, MORSE_Complex64_t, MorseComplexDouble, LDB, N, NRHS ); - MORSE_zplgsy_Tile( (double)N, MorseUpperLower, descA, 51 ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS ); + CHAMELEON_zplgsy_Tile( (double)N, ChamUpperLower, descA, 51 ); /* Save A for check */ if (check == 1){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descA, descAC); } - /* MORSE ZSYSV */ + /* CHAMELEON ZSYSV */ START_TIMING(); - MORSE_zsytrf_Tile(uplo, descA); + CHAMELEON_zsytrf_Tile(uplo, descA); STOP_TIMING(); /* Check the solution */ if ( check ) { - MORSE_zplrnt_Tile( descB, 7672 ); - MORSE_zlacpy_Tile(MorseUpperLower, descB, descX); - MORSE_zsytrs_Tile( uplo, descA, descX ); - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); - dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); - dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); - dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); + CHAMELEON_zplrnt_Tile( descB, 7672 ); + CHAMELEON_zlacpy_Tile(ChamUpperLower, descB, descX); + CHAMELEON_zsytrs_Tile( uplo, descA, descX ); + dparam[IPARAM_ANORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descAC); + dparam[IPARAM_BNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); + dparam[IPARAM_XNORM] = CHAMELEON_zlange_Tile(ChamInfNorm, descX); + CHAMELEON_zgemm_Tile( ChamNoTrans, ChamNoTrans, 1.0, descAC, descX, -1.0, descB ); + dparam[IPARAM_RES] = CHAMELEON_zlange_Tile(ChamInfNorm, descB); PASTE_CODE_FREE_MATRIX( descB ); PASTE_CODE_FREE_MATRIX( descAC ); diff --git a/timing/time_ztrsm.c b/timing/time_ztrsm.c index 0785479ae86b6ee83bbc82c9d19c7a91a66dae9f..27547ee2ec0ffeb00d0f28f33e22ca6e29a4ea1f 100644 --- a/timing/time_ztrsm.c +++ b/timing/time_ztrsm.c @@ -13,51 +13,51 @@ * @precisions normal z -> c d s * */ -#define _TYPE MORSE_Complex64_t +#define _TYPE CHAMELEON_Complex64_t #define _PREC double #define _LAMCH LAPACKE_dlamch_work -#define _NAME "MORSE_ztrsm" +#define _NAME "CHAMELEON_ztrsm" /* See Lawn 41 page 120 */ -#define _FMULS FMULS_TRSM( MorseLeft, N, NRHS ) -#define _FADDS FADDS_TRSM( MorseLeft, N, NRHS ) +#define _FMULS FMULS_TRSM( ChamLeft, N, NRHS ) +#define _FADDS FADDS_TRSM( ChamLeft, N, NRHS ) #include "./timing.c" #include "timing_zauxiliary.h" static int -RunTest(int *iparam, double *dparam, morse_time_t *t_) +RunTest(int *iparam, double *dparam, chameleon_time_t *t_) { - MORSE_Complex64_t alpha; + CHAMELEON_Complex64_t alpha; PASTE_CODE_IPARAM_LOCALS( iparam ); LDA = chameleon_max( LDA, N ); /* Allocate Data */ - PASTE_CODE_ALLOCATE_MATRIX( A, 1, MORSE_Complex64_t, LDA, N ); - PASTE_CODE_ALLOCATE_MATRIX( B, 1, MORSE_Complex64_t, LDB, NRHS); - PASTE_CODE_ALLOCATE_MATRIX( B2, check, MORSE_Complex64_t, LDB, NRHS); + PASTE_CODE_ALLOCATE_MATRIX( A, 1, CHAMELEON_Complex64_t, LDA, N ); + PASTE_CODE_ALLOCATE_MATRIX( B, 1, CHAMELEON_Complex64_t, LDB, NRHS); + PASTE_CODE_ALLOCATE_MATRIX( B2, check, CHAMELEON_Complex64_t, LDB, NRHS); /* Initialiaze Data */ - MORSE_zplgsy( (MORSE_Complex64_t)N, MorseUpperLower, N, A, LDA, 453 ); - MORSE_zplrnt( N, NRHS, B, LDB, 5673 ); + CHAMELEON_zplgsy( (CHAMELEON_Complex64_t)N, ChamUpperLower, N, A, LDA, 453 ); + CHAMELEON_zplrnt( N, NRHS, B, LDB, 5673 ); LAPACKE_zlarnv_work(1, ISEED, 1, &alpha); alpha = 10.; /*alpha * N / 2.;*/ if (check) { - memcpy(B2, B, LDB*NRHS*sizeof(MORSE_Complex64_t)); + memcpy(B2, B, LDB*NRHS*sizeof(CHAMELEON_Complex64_t)); } START_TIMING(); - MORSE_ztrsm( MorseLeft, MorseUpper, MorseNoTrans, MorseUnit, + CHAMELEON_ztrsm( ChamLeft, ChamUpper, ChamNoTrans, ChamUnit, N, NRHS, alpha, A, LDA, B, LDB ); STOP_TIMING(); /* Check the solution */ if (check) { - dparam[IPARAM_RES] = z_check_trsm( MorseLeft, MorseUpper, MorseNoTrans, MorseUnit, + dparam[IPARAM_RES] = z_check_trsm( ChamLeft, ChamUpper, ChamNoTrans, ChamUnit, N, NRHS, alpha, A, LDA, B, B2, LDB, &(dparam[IPARAM_ANORM]), diff --git a/timing/timing.c b/timing/timing.c index 38c89fbfc4cfd80c5045cb759fca8780b004dd6b..1f2809c10c279248e57edfc6e074bf7f29bd6276 100644 --- a/timing/timing.c +++ b/timing/timing.c @@ -41,7 +41,7 @@ #include <sys/resource.h> #endif -#include <morse.h> +#include <chameleon.h> #if !defined(CHAMELEON_SIMULATION) #include <coreblas/lapacke.h> #include <coreblas.h> @@ -64,7 +64,7 @@ #endif /* defined(CHAMELEON_HAVE_GETOPT_H) */ static int RunTest(int *iparam, _PREC *dparam, double *t_); -static inline void* morse_getaddr_null(const MORSE_desc_t *A, int m, int n) +static inline void* chameleon_getaddr_null(const CHAM_desc_t *A, int m, int n) { (void)A;(void)m;(void)n; return (void*)( NULL ); @@ -116,7 +116,7 @@ Test(int64_t n, int *iparam) { (void)M;(void)N;(void)K;(void)NRHS; if ( (n < 0) || (thrdnbr < 0 ) ) { - if (gnuplot && (MORSE_My_Mpi_Rank() == 0) ) { + if (gnuplot && (CHAMELEON_My_Mpi_Rank() == 0) ) { printf( "set title '%d_NUM_THREADS: ", thrdnbr ); for (i = 0; env[i][0]; ++i) { s = getenv( env[i] ); @@ -142,7 +142,7 @@ Test(int64_t n, int *iparam) { return 0; } - if ( MORSE_My_Mpi_Rank() == 0) + if ( CHAMELEON_My_Mpi_Rank() == 0) printf( "%7d %7d %7d ", iparam[IPARAM_M], iparam[IPARAM_N], iparam[IPARAM_K] ); fflush( stdout ); @@ -163,7 +163,7 @@ Test(int64_t n, int *iparam) { if ( iparam[IPARAM_WARMUP] ) { int status = RunTest( iparam, dparam, &(t[0])); - if (status != MORSE_SUCCESS) { + if (status != CHAMELEON_SUCCESS) { free(t); return status; } @@ -185,7 +185,7 @@ Test(int64_t n, int *iparam) { iparam[IPARAM_PROFILE] = 2; int status = RunTest( iparam, dparam, &(t[iter])); - if (status != MORSE_SUCCESS) return status; + if (status != CHAMELEON_SUCCESS) return status; iparam[IPARAM_TRACE] = 0; iparam[IPARAM_DAG] = 0; @@ -193,7 +193,7 @@ Test(int64_t n, int *iparam) { } else { int status = RunTest( iparam, dparam, &(t[iter])); - if (status != MORSE_SUCCESS) return status; + if (status != CHAMELEON_SUCCESS) return status; } gflops = flops / t[iter]; @@ -217,7 +217,7 @@ Test(int64_t n, int *iparam) { gflops = sumgf / niter; sd = sqrt((sumgf2 - (sumgf*sumgf)/niter)/niter); - if ( MORSE_My_Mpi_Rank() == 0) { + if ( CHAMELEON_My_Mpi_Rank() == 0) { printf( "%9.3f %9.2f +-%7.2f ", sumt/niter, gflops, sd); if (iparam[IPARAM_BOUND]) { @@ -504,7 +504,7 @@ set_iparam_default(int *iparam){ iparam[IPARAM_NX ] = -1; iparam[IPARAM_MX ] = -1; iparam[IPARAM_NX ] = -1; - iparam[IPARAM_INPLACE ] = MORSE_OUTOFPLACE; + iparam[IPARAM_INPLACE ] = ChamOutOfPlace; iparam[IPARAM_NMPI ] = 1; iparam[IPARAM_P ] = 1; iparam[IPARAM_Q ] = 1; @@ -641,47 +641,47 @@ main(int argc, char *argv[]) { mx = iparam[IPARAM_MX]; nx = iparam[IPARAM_NX]; - /* Initialize MORSE */ - MORSE_Init( iparam[IPARAM_THRDNBR], + /* Initialize CHAMELEON */ + CHAMELEON_Init( iparam[IPARAM_THRDNBR], iparam[IPARAM_NCUDAS] ); /* Get the number of threads set by the runtime */ - iparam[IPARAM_THRDNBR] = MORSE_GetThreadNbr(); + iparam[IPARAM_THRDNBR] = CHAMELEON_GetThreadNbr(); /* Stops profiling here to avoid profiling uninteresting routines. It will be reactivated in the time_*.c routines with the macro START_TIMING() */ RUNTIME_stop_profiling(); - MORSE_Disable(MORSE_AUTOTUNING); - MORSE_Set(MORSE_TILE_SIZE, iparam[IPARAM_NB] ); - MORSE_Set(MORSE_INNER_BLOCK_SIZE, iparam[IPARAM_IB] ); + CHAMELEON_Disable(CHAMELEON_AUTOTUNING); + CHAMELEON_Set(CHAMELEON_TILE_SIZE, iparam[IPARAM_NB] ); + CHAMELEON_Set(CHAMELEON_INNER_BLOCK_SIZE, iparam[IPARAM_IB] ); /* Householder mode */ if (iparam[IPARAM_RHBLK] < 1) { - MORSE_Set(MORSE_HOUSEHOLDER_MODE, MORSE_FLAT_HOUSEHOLDER); + CHAMELEON_Set(CHAMELEON_HOUSEHOLDER_MODE, ChamFlatHouseholder); } else { - MORSE_Set(MORSE_HOUSEHOLDER_MODE, MORSE_TREE_HOUSEHOLDER); - MORSE_Set(MORSE_HOUSEHOLDER_SIZE, iparam[IPARAM_RHBLK]); + CHAMELEON_Set(CHAMELEON_HOUSEHOLDER_MODE, ChamTreeHouseholder); + CHAMELEON_Set(CHAMELEON_HOUSEHOLDER_SIZE, iparam[IPARAM_RHBLK]); } if (iparam[IPARAM_PROFILE] == 1) { - MORSE_Enable(MORSE_PROFILING_MODE); + CHAMELEON_Enable(CHAMELEON_PROFILING_MODE); } if (iparam[IPARAM_PROGRESS] == 1) { - MORSE_Enable(MORSE_PROGRESS); + CHAMELEON_Enable(CHAMELEON_PROGRESS); } if (iparam[IPARAM_PRINT_WARNINGS] == 0) { - MORSE_Disable(MORSE_WARNINGS); + CHAMELEON_Disable(CHAMELEON_WARNINGS); } if (iparam[IPARAM_GEMM3M] == 1) { - MORSE_Enable(MORSE_GEMM3M); + CHAMELEON_Enable(CHAMELEON_GEMM3M); } #if defined(CHAMELEON_USE_MPI) - nbnode = MORSE_Comm_size(); + nbnode = CHAMELEON_Comm_size(); iparam[IPARAM_NMPI] = nbnode; /* Check P */ if ( (iparam[IPARAM_P] > 1) && @@ -694,16 +694,16 @@ main(int argc, char *argv[]) { iparam[IPARAM_Q] = nbnode / iparam[IPARAM_P]; /* Layout conversion */ - MORSE_Set(MORSE_TRANSLATION_MODE, iparam[IPARAM_INPLACE]); + CHAMELEON_Set(CHAMELEON_TRANSLATION_MODE, iparam[IPARAM_INPLACE]); - if ( MORSE_My_Mpi_Rank() == 0 ) { + if ( CHAMELEON_My_Mpi_Rank() == 0 ) { print_header( argv[0], iparam); } if (step < 1) step = 1; status = Test( -1, iparam ); /* print header */ - if (status != MORSE_SUCCESS) return status; + if (status != CHAMELEON_SUCCESS) return status; if ( n == -1 ){ for (i = start; i <= stop; i += step) { @@ -722,7 +722,7 @@ main(int argc, char *argv[]) { iparam[IPARAM_N] = i; } status = Test( iparam[IPARAM_N], iparam ); - if (status != MORSE_SUCCESS) { + if (status != CHAMELEON_SUCCESS) { return status; } success += status; @@ -734,10 +734,10 @@ main(int argc, char *argv[]) { } iparam[IPARAM_N] = n; status = Test( iparam[IPARAM_N], iparam ); - if (status != MORSE_SUCCESS) return status; + if (status != CHAMELEON_SUCCESS) return status; success += status; } - MORSE_Finalize(); + CHAMELEON_Finalize(); return success; } diff --git a/timing/timing.h b/timing/timing.h index ef7357b3dfadfa8678fce12fab1110c29acd99fd..6677e13d1e48ef18fe44a7bb9dce27881311169b 100644 --- a/timing/timing.h +++ b/timing/timing.h @@ -13,7 +13,7 @@ #ifndef TIMING_H #define TIMING_H -typedef double morse_time_t; +typedef double chameleon_time_t; enum iparam_timing { IPARAM_THRDNBR, /* Number of cores */ @@ -114,23 +114,23 @@ enum dparam_timing { /* Paste code to allocate a matrix in desc if cond_init is true */ #define PASTE_CODE_ALLOCATE_MATRIX_TILE(_desc_, _cond_, _type_, _type2_, _lda_, _m_, _n_) \ - MORSE_desc_t *_desc_ = NULL; \ + CHAM_desc_t *_desc_ = NULL; \ int status ## _desc_ ; \ if( _cond_ ) { \ if (ooc) \ - status ## _desc_ = MORSE_Desc_Create_OOC(&(_desc_), _type2_, MB, NB, MB*NB, _lda_, _n_, 0, 0, _m_, _n_, \ + status ## _desc_ = CHAMELEON_Desc_Create_OOC(&(_desc_), _type2_, MB, NB, MB*NB, _lda_, _n_, 0, 0, _m_, _n_, \ P, Q); \ else if (!bigmat) \ - status ## _desc_ = MORSE_Desc_Create_User(&(_desc_), NULL, _type2_, MB, NB, MB*NB, _lda_, _n_, 0, 0, _m_, _n_, \ - P, Q, morse_getaddr_null, NULL, NULL); \ + status ## _desc_ = CHAMELEON_Desc_Create_User(&(_desc_), NULL, _type2_, MB, NB, MB*NB, _lda_, _n_, 0, 0, _m_, _n_, \ + P, Q, chameleon_getaddr_null, NULL, NULL); \ else \ - status ## _desc_ = MORSE_Desc_Create(&(_desc_), NULL, _type2_, MB, NB, MB*NB, _lda_, _n_, 0, 0, _m_, _n_, \ + status ## _desc_ = CHAMELEON_Desc_Create(&(_desc_), NULL, _type2_, MB, NB, MB*NB, _lda_, _n_, 0, 0, _m_, _n_, \ P, Q); \ - if (status ## _desc_ != MORSE_SUCCESS) return (status ## _desc_); \ + if (status ## _desc_ != CHAMELEON_SUCCESS) return (status ## _desc_); \ } #define PASTE_CODE_FREE_MATRIX(_desc_) \ - MORSE_Desc_Destroy( &_desc_ ); + CHAMELEON_Desc_Destroy( &_desc_ ); #define PASTE_TILE_TO_LAPACK(_desc_, _name_, _cond_, _type_, _lda_, _n_) \ _type_ *_name_ = NULL; \ @@ -140,7 +140,7 @@ enum dparam_timing { fprintf(stderr, "Out of Memory for %s\n", #_name_); \ return -1; \ } \ - MORSE_Tile_to_Lapack(_desc_, (void*)_name_, _lda_); \ + CHAMELEON_Tile_to_Lapack(_desc_, (void*)_name_, _lda_); \ } #define PASTE_CODE_ALLOCATE_MATRIX(_name_, _cond_, _type_, _lda_, _n_) \ @@ -175,7 +175,7 @@ enum dparam_timing { RUNTIME_start_profiling(); \ } \ if(iparam[IPARAM_BOUND]) { \ - MORSE_Enable(MORSE_BOUND); \ + CHAMELEON_Enable(CHAMELEON_BOUND); \ } #define STOP_TRACING() \ @@ -184,7 +184,7 @@ enum dparam_timing { RUNTIME_stop_profiling(); \ } \ if(iparam[IPARAM_BOUND]) { \ - MORSE_Disable(MORSE_BOUND); \ + CHAMELEON_Disable(CHAMELEON_BOUND); \ } /** @@ -195,11 +195,11 @@ enum dparam_timing { #if 0 #define START_DAG() \ if ( iparam[IPARAM_DAG] == 2 ) \ - MORSE_Enable(MORSE_DAG); + CHAMELEON_Enable(CHAMELEON_DAG); #define STOP_DAG() \ if ( iparam[IPARAM_DAG] == 2 ) \ - MORSE_Disable(MORSE_DAG); + CHAMELEON_Disable(CHAMELEON_DAG); #else #define START_DAG() do {} while(0); #define STOP_DAG() do {} while(0); @@ -211,8 +211,8 @@ enum dparam_timing { * */ #if defined(CHAMELEON_USE_MPI) -#define START_DISTRIBUTED() MORSE_Distributed_start(); -#define STOP_DISTRIBUTED() MORSE_Distributed_stop(); +#define START_DISTRIBUTED() CHAMELEON_Distributed_start(); +#define STOP_DISTRIBUTED() CHAMELEON_Distributed_stop(); #else #define START_DISTRIBUTED() do {} while(0); #define STOP_DISTRIBUTED() do {} while(0); diff --git a/timing/timing_zauxiliary.c b/timing/timing_zauxiliary.c index 7ec7fe38ccb759c8c4d5e49c4b5c5362dc842fa2..5750731f71710b5eba49cc27baeb51702c032260 100644 --- a/timing/timing_zauxiliary.c +++ b/timing/timing_zauxiliary.c @@ -17,7 +17,7 @@ #include <stdio.h> #include <string.h> #include <math.h> -#include <morse.h> +#include <chameleon.h> #include <coreblas/cblas.h> #include <coreblas/lapacke.h> #include <coreblas.h> @@ -27,7 +27,7 @@ * Check the orthogonality of Q */ -int z_check_orthogonality(int M, int N, int LDQ, MORSE_Complex64_t *Q) +int z_check_orthogonality(int M, int N, int LDQ, CHAMELEON_Complex64_t *Q) { double alpha, beta; double normQ; @@ -42,10 +42,10 @@ int z_check_orthogonality(int M, int N, int LDQ, MORSE_Complex64_t *Q) beta = -1.0; /* Build the idendity matrix USE DLASET?*/ - MORSE_Complex64_t *Id = (MORSE_Complex64_t *) malloc(minMN*minMN*sizeof(MORSE_Complex64_t)); - memset((void*)Id, 0, minMN*minMN*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Id = (CHAMELEON_Complex64_t *) malloc(minMN*minMN*sizeof(CHAMELEON_Complex64_t)); + memset((void*)Id, 0, minMN*minMN*sizeof(CHAMELEON_Complex64_t)); for (i = 0; i < minMN; i++) - Id[i*minMN+i] = (MORSE_Complex64_t)1.0; + Id[i*minMN+i] = (CHAMELEON_Complex64_t)1.0; /* Perform Id - Q'Q */ if (M >= N) @@ -77,18 +77,18 @@ int z_check_orthogonality(int M, int N, int LDQ, MORSE_Complex64_t *Q) * Check the factorization QR */ -int z_check_QRfactorization(int M, int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, int LDA, MORSE_Complex64_t *Q) +int z_check_QRfactorization(int M, int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, CHAMELEON_Complex64_t *Q) { double Anorm, Rnorm; - MORSE_Complex64_t alpha, beta; + CHAMELEON_Complex64_t alpha, beta; int info_factorization; int i,j; double eps; eps = LAPACKE_dlamch_work('e'); - MORSE_Complex64_t *Ql = (MORSE_Complex64_t *)malloc(M*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(M*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Ql = (CHAMELEON_Complex64_t *)malloc(M*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(M*N*sizeof(CHAMELEON_Complex64_t)); double *work = (double *)malloc(chameleon_max(M,N)*sizeof(double)); alpha=1.0; @@ -96,23 +96,23 @@ int z_check_QRfactorization(int M, int N, MORSE_Complex64_t *A1, MORSE_Complex64 if (M >= N) { /* Extract the R */ - MORSE_Complex64_t *R = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); - memset((void*)R, 0, N*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *R = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); + memset((void*)R, 0, N*N*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'u', M, N, A2, LDA, R, N); /* Perform Ql=Q*R */ - memset((void*)Ql, 0, M*N*sizeof(MORSE_Complex64_t)); + memset((void*)Ql, 0, M*N*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, M, N, N, CBLAS_SADDR(alpha), Q, LDA, R, N, CBLAS_SADDR(beta), Ql, M); free(R); } else { /* Extract the L */ - MORSE_Complex64_t *L = (MORSE_Complex64_t *)malloc(M*M*sizeof(MORSE_Complex64_t)); - memset((void*)L, 0, M*M*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *L = (CHAMELEON_Complex64_t *)malloc(M*M*sizeof(CHAMELEON_Complex64_t)); + memset((void*)L, 0, M*M*sizeof(CHAMELEON_Complex64_t)); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'l', M, N, A2, LDA, L, M); /* Perform Ql=LQ */ - memset((void*)Ql, 0, M*N*sizeof(MORSE_Complex64_t)); + memset((void*)Ql, 0, M*N*sizeof(CHAMELEON_Complex64_t)); cblas_zgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, M, N, M, CBLAS_SADDR(alpha), L, M, Q, LDA, CBLAS_SADDR(beta), Ql, M); free(L); } @@ -154,30 +154,30 @@ int z_check_QRfactorization(int M, int N, MORSE_Complex64_t *A1, MORSE_Complex64 * Check the factorization of the matrix A2 */ -int z_check_LLTfactorization(int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, int LDA, int uplo) +int z_check_LLTfactorization(int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, cham_uplo_t uplo) { double Anorm, Rnorm; - MORSE_Complex64_t alpha; + CHAMELEON_Complex64_t alpha; int info_factorization; int i,j; double eps; eps = LAPACKE_dlamch_work('e'); - MORSE_Complex64_t *Residual = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *L1 = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); - MORSE_Complex64_t *L2 = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t *Residual = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *L1 = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); + CHAMELEON_Complex64_t *L2 = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); double *work = (double *)malloc(N*sizeof(double)); - memset((void*)L1, 0, N*N*sizeof(MORSE_Complex64_t)); - memset((void*)L2, 0, N*N*sizeof(MORSE_Complex64_t)); + memset((void*)L1, 0, N*N*sizeof(CHAMELEON_Complex64_t)); + memset((void*)L2, 0, N*N*sizeof(CHAMELEON_Complex64_t)); alpha= 1.0; LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,' ', N, N, A1, LDA, Residual, N); /* Dealing with L'L or U'U */ - if (uplo == MorseUpper){ + if (uplo == ChamUpper){ LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'u', N, N, A2, LDA, L1, N); LAPACKE_zlacpy_work(LAPACK_COL_MAJOR,'u', N, N, A2, LDA, L2, N); cblas_ztrmm(CblasColMajor, CblasLeft, CblasUpper, CblasConjTrans, CblasNonUnit, N, N, CBLAS_SADDR(alpha), L1, N, L2, N); @@ -217,26 +217,26 @@ int z_check_LLTfactorization(int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2 /*-------------------------------------------------------------- * Check the gemm */ -double z_check_gemm(MORSE_enum transA, MORSE_enum transB, int M, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *Cmorse, - MORSE_Complex64_t *Cref, int LDC, - double *Cinitnorm, double *Cmorsenorm, double *Clapacknorm ) +double z_check_gemm(cham_trans_t transA, cham_trans_t transB, int M, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Ccham, + CHAMELEON_Complex64_t *Cref, int LDC, + double *Cinitnorm, double *Cchamnorm, double *Clapacknorm ) { - MORSE_Complex64_t beta_const = -1.0; + CHAMELEON_Complex64_t beta_const = -1.0; double Rnorm; double *work = (double *)malloc(chameleon_max(K,chameleon_max(M, N))* sizeof(double)); *Cinitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cref, LDC, work); - *Cmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cmorse, LDC, work); + *Cchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Ccham, LDC, work); cblas_zgemm(CblasColMajor, (CBLAS_TRANSPOSE)transA, (CBLAS_TRANSPOSE)transB, M, N, K, CBLAS_SADDR(alpha), A, LDA, B, LDB, CBLAS_SADDR(beta), Cref, LDC); *Clapacknorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cref, LDC, work); - cblas_zaxpy(LDC * N, CBLAS_SADDR(beta_const), Cmorse, 1, Cref, 1); + cblas_zaxpy(LDC * N, CBLAS_SADDR(beta_const), Ccham, 1, Cref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, Cref, LDC, work); @@ -248,19 +248,19 @@ double z_check_gemm(MORSE_enum transA, MORSE_enum transB, int M, int N, int K, /*-------------------------------------------------------------- * Check the trsm */ -double z_check_trsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum diag, - int M, int NRHS, MORSE_Complex64_t alpha, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *Bmorse, MORSE_Complex64_t *Bref, int LDB, - double *Binitnorm, double *Bmorsenorm, double *Blapacknorm ) +double z_check_trsm(cham_side_t side, cham_uplo_t uplo, cham_trans_t trans, cham_diag_t diag, + int M, int NRHS, CHAMELEON_Complex64_t alpha, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *Bcham, CHAMELEON_Complex64_t *Bref, int LDB, + double *Binitnorm, double *Bchamnorm, double *Blapacknorm ) { - MORSE_Complex64_t beta_const = -1.0; + CHAMELEON_Complex64_t beta_const = -1.0; double Rnorm; double *work = (double *)malloc(chameleon_max(M, NRHS)* sizeof(double)); /*double eps = LAPACKE_dlamch_work('e');*/ *Binitnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'i', M, NRHS, Bref, LDB, work); - *Bmorsenorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'i', M, NRHS, Bmorse, LDB, work); + *Bchamnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'i', M, NRHS, Bcham, LDB, work); cblas_ztrsm(CblasColMajor, (CBLAS_SIDE)side, (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans, (CBLAS_DIAG)diag, M, NRHS, @@ -268,7 +268,7 @@ double z_check_trsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_en *Blapacknorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'i', M, NRHS, Bref, LDB, work); - cblas_zaxpy(LDB * NRHS, CBLAS_SADDR(beta_const), Bmorse, 1, Bref, 1); + cblas_zaxpy(LDB * NRHS, CBLAS_SADDR(beta_const), Bcham, 1, Bref, 1); Rnorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'i', M, NRHS, Bref, LDB, work); Rnorm = Rnorm / *Blapacknorm; @@ -283,14 +283,14 @@ double z_check_trsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_en * Check the solution */ -double z_check_solution(int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, MORSE_Complex64_t *X, int LDB, +double z_check_solution(int M, int N, int NRHS, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, CHAMELEON_Complex64_t *X, int LDB, double *anorm, double *bnorm, double *xnorm ) { /* int info_solution; */ double Rnorm = -1.00; - MORSE_Complex64_t zone = 1.0; - MORSE_Complex64_t mzone = -1.0; + CHAMELEON_Complex64_t zone = 1.0; + CHAMELEON_Complex64_t mzone = -1.0; double *work = (double *)malloc(chameleon_max(M, N)* sizeof(double)); *anorm = LAPACKE_zlange_work(LAPACK_COL_MAJOR, 'I', M, N, A, LDA, work); @@ -310,14 +310,14 @@ double z_check_solution(int M, int N, int NRHS, MORSE_Complex64_t *A, int LDA, * * Check the accuracy of the computed inverse * */ -int zcheck_inverse(int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, int LDA, - MORSE_enum uplo, double *rnorm, double *anorm, double *ainvnorm ) +int zcheck_inverse(int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, + cham_uplo_t uplo, double *rnorm, double *anorm, double *ainvnorm ) { int info_inverse; int i, j; double result; - MORSE_Complex64_t alpha, beta, zone; - MORSE_Complex64_t *workz = (MORSE_Complex64_t *)malloc(N*N*sizeof(MORSE_Complex64_t)); + CHAMELEON_Complex64_t alpha, beta, zone; + CHAMELEON_Complex64_t *workz = (CHAMELEON_Complex64_t *)malloc(N*N*sizeof(CHAMELEON_Complex64_t)); double *workd = (double *)malloc(N*sizeof(double)); double eps; @@ -328,7 +328,7 @@ int zcheck_inverse(int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, int LDA, zone = 1.0; /* Rebuild the other part of the inverse matrix */ - if(uplo == MorseUpper){ + if(uplo == ChamUpper){ for(j=0; j<N; j++) for(i=0; i<j; i++) *(A2+j+i*LDA) = *(A2+i+j*LDA); diff --git a/timing/timing_zauxiliary.h b/timing/timing_zauxiliary.h index b9cce4bb9e14566c698919909df5371686a5352b..e08d1c5c7a1fcbce7589188d9a042aafe1c770a0 100644 --- a/timing/timing_zauxiliary.h +++ b/timing/timing_zauxiliary.h @@ -16,29 +16,29 @@ #ifndef TIMING_ZAUXILIARY_H #define TIMING_ZAUXILIARY_H -int z_check_orthogonality (int M, int N, int LDQ, MORSE_Complex64_t *Q); -int z_check_QRfactorization (int M, int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, int LDA, MORSE_Complex64_t *Q); -int z_check_LLTfactorization(int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, int LDA, int uplo); -double z_check_gemm(MORSE_enum transA, MORSE_enum transB, int M, int N, int K, - MORSE_Complex64_t alpha, MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *B, int LDB, - MORSE_Complex64_t beta, MORSE_Complex64_t *Cmorse, - MORSE_Complex64_t *Cref, int LDC, - double *Cinitnorm, double *Cmorsenorm, double *Clapacknorm ); +int z_check_orthogonality (int M, int N, int LDQ, CHAMELEON_Complex64_t *Q); +int z_check_QRfactorization (int M, int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, CHAMELEON_Complex64_t *Q); +int z_check_LLTfactorization(int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, cham_uplo_t uplo); +double z_check_gemm(cham_trans_t transA, cham_trans_t transB, int M, int N, int K, + CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *B, int LDB, + CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Ccham, + CHAMELEON_Complex64_t *Cref, int LDC, + double *Cinitnorm, double *Cchamnorm, double *Clapacknorm ); -double z_check_trsm(MORSE_enum side, MORSE_enum uplo, MORSE_enum trans, MORSE_enum diag, - int M, int NRHS, MORSE_Complex64_t alpha, - MORSE_Complex64_t *A, int LDA, - MORSE_Complex64_t *Bmorse, MORSE_Complex64_t *Bref, int LDB, - double *Binitnorm, double *Bmorsenorm, double *Blapacknorm ); +double z_check_trsm(cham_side_t side, cham_uplo_t uplo, cham_trans_t trans, cham_diag_t diag, + int M, int NRHS, CHAMELEON_Complex64_t alpha, + CHAMELEON_Complex64_t *A, int LDA, + CHAMELEON_Complex64_t *Bcham, CHAMELEON_Complex64_t *Bref, int LDB, + double *Binitnorm, double *Bchamnorm, double *Blapacknorm ); double z_check_solution(int M, int N, int NRHS, - MORSE_Complex64_t *A1, int LDA, - MORSE_Complex64_t *B1, MORSE_Complex64_t *B2, int LDB, + CHAMELEON_Complex64_t *A1, int LDA, + CHAMELEON_Complex64_t *B1, CHAMELEON_Complex64_t *B2, int LDB, double *anorm, double *bnorm, double *xnorm); -int zcheck_inverse(int N, MORSE_Complex64_t *A1, MORSE_Complex64_t *A2, - int LDA, MORSE_enum uplo, double *rnorm, double *anorm, double *ainvnorm); +int zcheck_inverse(int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, + int LDA, cham_uplo_t uplo, double *rnorm, double *anorm, double *ainvnorm); #endif /* TIMING_ZAUXILIARY_H */