diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f89d65c47f19efebacccf92390318f33c9af3bf..54275bb054632c724345c421450a8063c599cbf0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,7 +68,6 @@ else() endif() include(MorseInit) -include(GenPkgConfig) # Ensure that the fortran compiler and c compiler specified are compatible # ------------------------------------------------------------------------ @@ -817,10 +816,11 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CHAMELEONConfig.cmake ${CMAKE_CURRENT_ ############################################################################### # Config files (pkg_config) # ############################# +include(ChameleonPkgConfig) # Create .pc file # --------------- -generate_pkgconfig_file() +chameleon_generate_pkgconfig_files() #------------------------------------------------------------------------------ ############################################################################### diff --git a/cmake_modules/ChameleonPkgConfig.cmake b/cmake_modules/ChameleonPkgConfig.cmake new file mode 100644 index 0000000000000000000000000000000000000000..15df826032481a17049eba238abf49f3b0061bb6 --- /dev/null +++ b/cmake_modules/ChameleonPkgConfig.cmake @@ -0,0 +1,146 @@ +### +# +# @file ChameleonPkgConfig.cmake +# +# @copyright 2012-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, +# Univ. Bordeaux. All rights reserved. +# +### +# +# @project Chameleon +# @version 1.2.0 +# @author Mathieu Faverge +# @author Florent Pruvost +# @author Abel Calluaud +# @date 2022-02-22 +# +### +include(GenPkgConfig) + +### +# +# GENERATE_PKGCONFIG_FILE: generate files chameleon_lapack.pc, chameleon.pc, coreblas.pc and gpucublas.pc or gpuhipblas.pc +# +### +macro(chameleon_generate_pkgconfig_files) + + # The link flags specific to this package and any required libraries + # that don't support PkgConfig + set(CHAMELEON_LAPACK_PKGCONFIG_LIBS chameleon_lapack) + set(CHAMELEON_PKGCONFIG_LIBS chameleon ) + set(COREBLAS_PKGCONFIG_LIBS coreblas ) + set(GPUCUBLAS_PKGCONFIG_LIBS gpucublas ) + set(GPUHIPBLAS_PKGCONFIG_LIBS gpuhipblas ) + + # The link flags for private libraries required by this package but not + # exposed to applications + set(CHAMELEON_LAPACK_PKGCONFIG_LIBS_PRIVATE "") + set(CHAMELEON_PKGCONFIG_LIBS_PRIVATE "") + set(COREBLAS_PKGCONFIG_LIBS_PRIVATE "") + set(GPUCUBLAS_PKGCONFIG_LIBS_PRIVATE "") + set(GPUHIPBLAS_PKGCONFIG_LIBS_PRIVATE "") + + # A list of packages required by this package + set(CHAMELEON_LAPACK_PKGCONFIG_REQUIRED "chameleon") + set(CHAMELEON_PKGCONFIG_REQUIRED "hqr") + set(COREBLAS_PKGCONFIG_REQUIRED "") + set(GPUCUBLAS_PKGCONFIG_REQUIRED "") + set(GPUHIPBLAS_PKGCONFIG_REQUIRED "") + + # A list of private packages required by this package but not exposed to + # applications + set(CHAMELEON_LAPACK_PKGCONFIG_REQUIRED_PRIVATE "") + set(CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE "") + set(COREBLAS_PKGCONFIG_REQUIRED_PRIVATE "") + set(GPUCUBLAS_PKGCONFIG_REQUIRED_PRIVATE "") + set(GPUHIPBLAS_PKGCONFIG_REQUIRED_PRIVATE "") + + if(CHAMELEON_SCHED_OPENMP) + list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_openmp) + list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE "${OpenMP_C_LIBRARIES}") + elseif(CHAMELEON_SCHED_PARSEC) + list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_parsec) + list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE "${PARSEC_LIBRARIES}") + elseif(CHAMELEON_SCHED_QUARK) + list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_quark) + list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE "${QUARK_LIBRARIES_DEP}") + elseif(CHAMELEON_SCHED_STARPU) + list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_starpu) + if ( CHAMELEON_SIMULATION ) + # need PUBLIC here because simulation mode with starpu requires to replace the + # main function by a starpu main one + if ( CHAMELEON_USE_MPI ) + list(APPEND CHAMELEON_PKGCONFIG_REQUIRED starpumpi-${CHAMELEON_STARPU_VERSION}) + else() + list(APPEND CHAMELEON_PKGCONFIG_REQUIRED starpu-${CHAMELEON_STARPU_VERSION}) + endif() + else() + if ( CHAMELEON_USE_MPI ) + list(APPEND CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE starpumpi-${CHAMELEON_STARPU_VERSION}) + else() + list(APPEND CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE starpu-${CHAMELEON_STARPU_VERSION}) + endif() + endif() + endif() + + if(NOT CHAMELEON_SIMULATION) + + list(APPEND COREBLAS_PKGCONFIG_LIBS_PRIVATE + ${LAPACKE_LIBRARIES} + ${CBLAS_LIBRARIES} + ) + list(APPEND CHAMELEON_PKGCONFIG_REQUIRED "coreblas") + + if(CHAMELEON_USE_CUDA) + list(APPEND GPUCUBLAS_PKGCONFIG_LIBS_PRIVATE ${CUDA_CUBLAS_LIBRARIES}) + list(APPEND GPUCUBLAS_PKGCONFIG_REQUIRED "cuda") + list(APPEND CHAMELEON_PKGCONFIG_REQUIRED "gpucublas") + endif() + + if(CHAMELEON_USE_HIP) + list(APPEND GPUHIPBLAS_PKGCONFIG_LIBS_PRIVATE ${HIPBLAS_LIBRARIES}) + list(APPEND GPUHIPBLAS_PKGCONFIG_LIBS_PRIVATE ${HIP_LIBRARIES}) + list(APPEND CHAMELEON_PKGCONFIG_REQUIRED "gpuhipblas") + endif() + + endif(NOT CHAMELEON_SIMULATION) + + list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE + ${M_LIBRARIES} + ) + + if(CHAMELEON_USE_MPI) + list(APPEND CHAMELEON_PKGCONFIG_REQUIRED "mpi") + endif() + + generate_pkgconfig_files( + ${CMAKE_SOURCE_DIR}/lib/pkgconfig/chameleon.pc.in + PROJECTNAME CHAMELEON ) + + generate_pkgconfig_files( + ${CMAKE_SOURCE_DIR}/lib/pkgconfig/chameleon_lapack.pc.in + PROJECTNAME CHAMELEON_LAPACK ) + + generate_pkgconfig_files( + ${CMAKE_SOURCE_DIR}/lib/pkgconfig/coreblas.pc.in + PROJECTNAME COREBLAS ) + + if(NOT CHAMELEON_SIMULATION) + if(CHAMELEON_USE_CUDA) + generate_pkgconfig_files( + ${CMAKE_SOURCE_DIR}/lib/pkgconfig/gpucublas.pc.in + PROJECTNAME GPUCUBLAS ) + endif() + + if(CHAMELEON_USE_HIP) + generate_pkgconfig_files( + ${CMAKE_SOURCE_DIR}/lib/pkgconfig/gpuhipblas.pc.in + PROJECTNAME GPUHIPBLAS ) + endif() + + endif(NOT CHAMELEON_SIMULATION) +endmacro() + +## +## @end file ChameleonPkgConfig.cmake +## diff --git a/cmake_modules/GenPkgConfig.cmake b/cmake_modules/GenPkgConfig.cmake deleted file mode 100644 index 37bbfb8c1e4fccb932d5e4303bb268f3529c1359..0000000000000000000000000000000000000000 --- a/cmake_modules/GenPkgConfig.cmake +++ /dev/null @@ -1,224 +0,0 @@ -### -# -# @file GenPkgConfig.cmake -# -# @copyright 2009-2014 The University of Tennessee and The University of -# Tennessee Research Foundation. All rights reserved. -# @copyright 2012-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, -# Univ. Bordeaux. All rights reserved. -# -### -# -# @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. -# -# @version 1.2.0 -# @author Cedric Castagnede -# @author Emmanuel Agullo -# @author Mathieu Faverge -# @author Florent Pruvost -# @date 2022-02-22 -# -### - -### -# -# CONVERT_LIBSTYLE_TO_PKGCONFIG: convert a libraries list to follow the pkg-config style -# used in CLEAN_LIB_LIST -# -### -MACRO(CONVERT_LIBSTYLE_TO_PKGCONFIG _liblist) - set(${_liblist}_CPY "${${_liblist}}") - set(${_liblist} "") - foreach(_dep ${${_liblist}_CPY}) - if (${_dep} MATCHES "^/") - get_filename_component(dep_libname ${_dep} NAME) - get_filename_component(dep_libdir ${_dep} DIRECTORY) - STRING(REPLACE "lib" "" dep_libname "${dep_libname}") - STRING(REPLACE ".so" "" dep_libname "${dep_libname}") - STRING(REPLACE ".a" "" dep_libname "${dep_libname}") - STRING(REPLACE ".dylib" "" dep_libname "${dep_libname}") - STRING(REPLACE ".dll" "" dep_libname "${dep_libname}") - list(APPEND ${_liblist} -L${dep_libdir} -l${dep_libname}) - elseif(NOT ${_dep} MATCHES "^-") - list(APPEND ${_liblist} "-l${_dep}") - else() - list(APPEND ${_liblist} ${_dep}) - endif() - endforeach() -ENDMACRO(CONVERT_LIBSTYLE_TO_PKGCONFIG) - -### -# -# CLEAN_LIB_LIST: clean libraries lists to follow the pkg-config style -# used in GENERATE_PKGCONFIG_FILE -# -### -MACRO(CLEAN_LIB_LIST _package) - list(REMOVE_DUPLICATES ${_package}_PKGCONFIG_LIBS) - list(REMOVE_DUPLICATES ${_package}_PKGCONFIG_LIBS_PRIVATE) - list(REMOVE_DUPLICATES ${_package}_PKGCONFIG_REQUIRED) - list(REMOVE_DUPLICATES ${_package}_PKGCONFIG_REQUIRED_PRIVATE) - CONVERT_LIBSTYLE_TO_PKGCONFIG(${_package}_PKGCONFIG_LIBS) - CONVERT_LIBSTYLE_TO_PKGCONFIG(${_package}_PKGCONFIG_LIBS_PRIVATE) - STRING(REPLACE ";" " " ${_package}_PKGCONFIG_LIBS "${${_package}_PKGCONFIG_LIBS}") - STRING(REPLACE ";" " " ${_package}_PKGCONFIG_LIBS_PRIVATE "${${_package}_PKGCONFIG_LIBS_PRIVATE}") - STRING(REPLACE ";" " " ${_package}_PKGCONFIG_REQUIRED "${${_package}_PKGCONFIG_REQUIRED}") - STRING(REPLACE ";" " " ${_package}_PKGCONFIG_REQUIRED_PRIVATE "${${_package}_PKGCONFIG_REQUIRED_PRIVATE}") -ENDMACRO(CLEAN_LIB_LIST) - -### -# -# GENERATE_PKGCONFIG_FILE: generate files chameleon_lapack.pc, chameleon.pc, coreblas.pc and gpucublas.pc or gpuhipblas.pc -# -### -MACRO(GENERATE_PKGCONFIG_FILE) - - # The definitions that should be given to users (change the API) - set(CHAMELEON_LAPACK_PKGCONFIG_DEFINITIONS "") - set(CHAMELEON_PKGCONFIG_DEFINITIONS "") - set(COREBLAS_PKGCONFIG_DEFINITIONS "") - set(GPUCUBLAS_PKGCONFIG_DEFINITIONS "") - set(GPUHIPBLAS_PKGCONFIG_DEFINITIONS "") - - # The link flags specific to this package and any required libraries - # that don't support PkgConfig - set(CHAMELEON_LAPACK_PKGCONFIG_LIBS "-lchameleon_lapack") - set(CHAMELEON_PKGCONFIG_LIBS "-lchameleon") - set(COREBLAS_PKGCONFIG_LIBS "-lcoreblas") - set(GPUCUBLAS_PKGCONFIG_LIBS "-lgpucublas") - set(GPUHIPBLAS_PKGCONFIG_LIBS "-lgpuhipblas") - - # The link flags for private libraries required by this package but not - # exposed to applications - set(CHAMELEON_LAPACK_PKGCONFIG_LIBS_PRIVATE "") - set(CHAMELEON_PKGCONFIG_LIBS_PRIVATE "") - set(COREBLAS_PKGCONFIG_LIBS_PRIVATE "") - set(GPUCUBLAS_PKGCONFIG_LIBS_PRIVATE "") - set(GPUHIPBLAS_PKGCONFIG_LIBS_PRIVATE "") - - # A list of packages required by this package - set(CHAMELEON_LAPACK_PKGCONFIG_REQUIRED "chameleon") - set(CHAMELEON_PKGCONFIG_REQUIRED "hqr") - set(COREBLAS_PKGCONFIG_REQUIRED "") - set(GPUCUBLAS_PKGCONFIG_REQUIRED "") - set(GPUHIPBLAS_PKGCONFIG_REQUIRED "") - - # A list of private packages required by this package but not exposed to - # applications - set(CHAMELEON_LAPACK_PKGCONFIG_REQUIRED_PRIVATE "") - set(CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE "") - set(COREBLAS_PKGCONFIG_REQUIRED_PRIVATE "") - set(GPUCUBLAS_PKGCONFIG_REQUIRED_PRIVATE "") - set(GPUHIPBLAS_PKGCONFIG_REQUIRED_PRIVATE "") - - if(CHAMELEON_SCHED_OPENMP) - list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_openmp) - list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE "${OpenMP_C_LIBRARIES}") - elseif(CHAMELEON_SCHED_PARSEC) - list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_parsec) - list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE "${PARSEC_LIBRARIES}") - elseif(CHAMELEON_SCHED_QUARK) - list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_quark) - list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE "${QUARK_LIBRARIES_DEP}") - elseif(CHAMELEON_SCHED_STARPU) - list(APPEND CHAMELEON_PKGCONFIG_LIBS -lchameleon_starpu) - if ( CHAMELEON_SIMULATION ) - # need PUBLIC here because simulation mode with starpu requires to replace the - # main function by a starpu main one - if ( CHAMELEON_USE_MPI ) - list(APPEND CHAMELEON_PKGCONFIG_REQUIRED starpumpi-${CHAMELEON_STARPU_VERSION}) - else() - list(APPEND CHAMELEON_PKGCONFIG_REQUIRED starpu-${CHAMELEON_STARPU_VERSION}) - endif() - else() - if ( CHAMELEON_USE_MPI ) - list(APPEND CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE starpumpi-${CHAMELEON_STARPU_VERSION}) - else() - list(APPEND CHAMELEON_PKGCONFIG_REQUIRED_PRIVATE starpu-${CHAMELEON_STARPU_VERSION}) - endif() - endif() - endif() - - if(NOT CHAMELEON_SIMULATION) - - list(APPEND COREBLAS_PKGCONFIG_LIBS_PRIVATE - ${LAPACKE_LIBRARIES} - ${CBLAS_LIBRARIES} - ) - list(APPEND CHAMELEON_PKGCONFIG_REQUIRED "coreblas") - - if(CHAMELEON_USE_CUDA) - list(APPEND GPUCUBLAS_PKGCONFIG_LIBS_PRIVATE ${CUDA_CUBLAS_LIBRARIES}) - list(APPEND GPUCUBLAS_PKGCONFIG_REQUIRED "cuda") - list(APPEND CHAMELEON_PKGCONFIG_REQUIRED "gpucublas") - endif() - - if(CHAMELEON_USE_HIP) - list(APPEND GPUHIPBLAS_PKGCONFIG_LIBS_PRIVATE ${HIPBLAS_LIBRARIES}) - list(APPEND GPUHIPBLAS_PKGCONFIG_LIBS_PRIVATE ${HIP_LIBRARIES}) - list(APPEND CHAMELEON_PKGCONFIG_REQUIRED "gpuhipblas") - endif() - - endif(NOT CHAMELEON_SIMULATION) - - list(APPEND CHAMELEON_PKGCONFIG_LIBS_PRIVATE - ${M_LIBRARIES} - ) - - if(CHAMELEON_USE_MPI) - list(APPEND CHAMELEON_PKGCONFIG_REQUIRED "mpi") - endif() - - # Define required package - # ----------------------- - CLEAN_LIB_LIST(CHAMELEON) - CLEAN_LIB_LIST(COREBLAS) - if(CHAMELEON_USE_CUDA) - CLEAN_LIB_LIST(GPUCUBLAS) - endif() - if(CHAMELEON_USE_HIP) - CLEAN_LIB_LIST(GPUHIPBLAS) - endif() - - # Create .pc file - # --------------- - SET(_output_chameleon_lapack_file "${CMAKE_BINARY_DIR}/chameleon_lapack.pc") - SET(_output_chameleon_file "${CMAKE_BINARY_DIR}/chameleon.pc") - SET(_output_coreblas_file "${CMAKE_BINARY_DIR}/coreblas.pc") - if(CHAMELEON_USE_CUDA) - SET(_output_gpucublas_file "${CMAKE_BINARY_DIR}/gpucublas.pc") - endif() - if(CHAMELEON_USE_HIP) - SET(_output_gpuhipblas_file "${CMAKE_BINARY_DIR}/gpuhipblas.pc") - endif() - - # TODO: add url of CHAMELEON releases in .pc file - CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/chameleon_lapack.pc.in" "${_output_chameleon_lapack_file}" @ONLY) - 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) - CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/gpucublas.pc.in" "${_output_gpucublas_file}" @ONLY) - endif() - if(CHAMELEON_USE_HIP) - CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/gpuhipblas.pc.in" "${_output_gpuhipblas_file}" @ONLY) - endif() - - # installation - # ------------ - INSTALL(FILES ${_output_chameleon_lapack_file} DESTINATION lib/pkgconfig) - INSTALL(FILES ${_output_chameleon_file} DESTINATION lib/pkgconfig) - INSTALL(FILES ${_output_coreblas_file} DESTINATION lib/pkgconfig) - INSTALL(FILES ${_output_gpucublas_file} DESTINATION lib/pkgconfig) - INSTALL(FILES ${_output_gpuhipblas_file} DESTINATION lib/pkgconfig) - -ENDMACRO(GENERATE_PKGCONFIG_FILE) - -## -## @end file GenPkgConfig.cmake -## diff --git a/compute/pzgered.c b/compute/pzgered.c index 1051ee91f45370bba6cefbdb21d3b17a6862c99f..c43e9a0e4704b958bbe6380032f8c32ee3b060fe 100644 --- a/compute/pzgered.c +++ b/compute/pzgered.c @@ -162,7 +162,7 @@ void chameleon_pzgered( cham_uplo_t uplo, double prec, CHAM_desc_t *A, RUNTIME_option_t options; CHAM_desc_t Wcol; CHAM_desc_t Welt; - double gnorm, lnorm, threshold, eps; + double gnorm, threshold, eps; int workmt, worknt; int m, n; @@ -233,16 +233,14 @@ void chameleon_pzgered( cham_uplo_t uplo, double prec, CHAM_desc_t *A, int nmax = ( uplo == ChamLower ) ? chameleon_min(m+1, A->nt) : A->nt; for(n = nmin; n < nmax; n++) { - CHAM_tile_t *tile = A->get_blktile( A, m, n ); - int tempnn = ( n == (A->nt-1) ) ? A->n - n * A->nb : A->nb; /* - * u_{high} = 1e-16 (later should be application accuracy) - * u_{low} = 1e-8 - * ||A_{i,j}||_F < u_{high} * || A ||_F / (nt * u_{low}) - * ||A_{i,j}||_F < threshold / u_{low} - */ + * u_{high} = 1e-16 (later should be application accuracy) + * u_{low} = 1e-8 + * ||A_{i,j}||_F < u_{high} * || A ||_F / (nt * u_{low}) + * ||A_{i,j}||_F < threshold / u_{low} + */ INSERT_TASK_zgered( &options, threshold, tempmm, tempnn, A( m, n ), W( &Wcol, m, n ) ); } diff --git a/compute/pzhered.c b/compute/pzhered.c index 97e171b3f11dd6a40ccb44e7d2f85ee41324b62f..cc32f4243c81dd2e63656cf9972850e53dddbd83 100644 --- a/compute/pzhered.c +++ b/compute/pzhered.c @@ -187,7 +187,7 @@ void chameleon_pzhered( cham_trans_t trans, cham_uplo_t uplo, double prec, CHAM_ RUNTIME_option_t options; CHAM_desc_t Wcol; CHAM_desc_t Welt; - double gnorm, lnorm, threshold, eps; + double gnorm, threshold, eps; int workmt, worknt; int m, n; @@ -263,17 +263,14 @@ void chameleon_pzhered( cham_trans_t trans, cham_uplo_t uplo, double prec, CHAM_ for (n = nmin; n < nmax; n++) { - CHAM_tile_t *tile = A->get_blktile(A, m, n); - int tempnn = (n == (A->nt - 1)) ? A->n - n * A->nb : A->nb; /* - * u_{high} = 1e-16 (later should be application accuracy) - * u_{low} = 1e-8 - * ||A_{i,j}||_F < u_{high} * || A ||_F / (nt * u_{low}) - * ||A_{i,j}||_F < threshold / u_{low} - */ - + * u_{high} = 1e-16 (later should be application accuracy) + * u_{low} = 1e-8 + * ||A_{i,j}||_F < u_{high} * || A ||_F / (nt * u_{low}) + * ||A_{i,j}||_F < threshold / u_{low} + */ INSERT_TASK_zgered( &options, threshold, tempmm, tempnn, A( m, n ), W( &Wcol, m, n ) ); } diff --git a/runtime/starpu/codelets/codelet_zgetrf_batched.c b/runtime/starpu/codelets/codelet_zgetrf_batched.c index d2a4778c51fd278dbc018eb878670d6809827799..1d4cb37da9bc6099305ddcf9eb4516fb17feaf52 100644 --- a/runtime/starpu/codelets/codelet_zgetrf_batched.c +++ b/runtime/starpu/codelets/codelet_zgetrf_batched.c @@ -16,6 +16,7 @@ * * @author Matthieu Kuhn * @author Alycia Lisito + * @author Philippe Swartvagher * @date 2024-01-11 * @precisions normal z -> c d s * @@ -72,9 +73,7 @@ INSERT_TASK_zgetrf_panel_offdiag_batched( const RUNTIME_option_t *options, void **clargs_ptr, CHAM_ipiv_t *ipiv ) { - CHAM_tile_t *tileA = A->get_blktile( A, Am, An ); int task_num = 0; - int exec = 0; int batch_size = ((struct chameleon_pzgetrf_s *)ws)->batch_size; void (*callback)(void*) = NULL; struct cl_getrf_batched_args_t *clargs = *clargs_ptr; @@ -82,7 +81,6 @@ INSERT_TASK_zgetrf_panel_offdiag_batched( const RUNTIME_option_t *options, /* Handle cache */ CHAMELEON_BEGIN_ACCESS_DECLARATION; CHAMELEON_ACCESS_RW(A, Am, An); - exec = __chameleon_need_exec; CHAMELEON_END_ACCESS_DECLARATION; if ( clargs == NULL ) { @@ -221,11 +219,9 @@ INSERT_TASK_zgetrf_panel_blocked_batched( const RUNTIME_option_t *options, void **clargs_ptr, CHAM_ipiv_t *ipiv ) { - CHAM_tile_t *tileA = A->get_blktile( A, Am, An ); int batch_size = ((struct chameleon_pzgetrf_s *)ws)->batch_size; int ib = ((struct chameleon_pzgetrf_s *)ws)->ib; int task_num = 0; - int exec = 0; void (*callback)(void*) = NULL; int accessU, access_npiv, access_ipiv, access_ppiv; struct cl_getrf_batched_args_t *clargs = *clargs_ptr; @@ -233,7 +229,6 @@ INSERT_TASK_zgetrf_panel_blocked_batched( const RUNTIME_option_t *options, /* Handle cache */ CHAMELEON_BEGIN_ACCESS_DECLARATION; CHAMELEON_ACCESS_RW(A, Am, An); - exec = __chameleon_need_exec; CHAMELEON_END_ACCESS_DECLARATION; if ( clargs == NULL ) { @@ -256,7 +251,7 @@ INSERT_TASK_zgetrf_panel_blocked_batched( const RUNTIME_option_t *options, clargs->tasks_nbr ++; /* Refine name */ clargs->cl_name = chameleon_codelet_name( clargs->cl_name, 1, - A->get_blktile( A, Am, An ) ); + A->get_blktile( A, Am, An ) ); if ( clargs->tasks_nbr == batch_size ) { access_npiv = ( clargs->h == ipiv->n ) ? STARPU_R : STARPU_REDUX; diff --git a/runtime/starpu/codelets/codelet_zlacpy.c b/runtime/starpu/codelets/codelet_zlacpy.c index 53647940eac27d0b6ac51d7f2f64042100841b5e..2a3d9781e676d85507d0135848b25211d04e263a 100644 --- a/runtime/starpu/codelets/codelet_zlacpy.c +++ b/runtime/starpu/codelets/codelet_zlacpy.c @@ -44,6 +44,7 @@ static void cl_zlacpy_starpu_func(void *descr[], void *cl_arg) static const struct starpu_data_interface_ops *interface_ops = &starpu_interface_cham_tile_ops; const struct starpu_data_copy_methods *copy_methods = interface_ops->copy_methods; struct cl_zlacpy_args_s *clargs = (struct cl_zlacpy_args_s *)cl_arg; + (void)clargs; int workerid = starpu_worker_get_id_check(); unsigned memory_node = starpu_worker_get_memory_node( workerid ); @@ -52,6 +53,7 @@ static void cl_zlacpy_starpu_func(void *descr[], void *cl_arg) void *dst_interface = descr[1]; int rc; + (void)rc; assert( clargs->displA == 0 ); assert( clargs->displB == 0 ); diff --git a/testing/testing_zgemm_batch.c b/testing/testing_zgemm_batch.c index c3a61d0349eb78b1a55d78e44578bbe09e6338ef..fbc65a546b59c5e821c074046ca85e262b56fb06 100644 --- a/testing/testing_zgemm_batch.c +++ b/testing/testing_zgemm_batch.c @@ -40,7 +40,6 @@ testing_zgemm_batch_desc( run_arg_list_t *args, int check ) int async = parameters_getvalue_int( "async" ); int nb = run_arg_get_int( args, "nb", 10 ); int ib = run_arg_get_int( args, "ib", 10 ); - int P = parameters_getvalue_int( "P" ); cham_trans_t transA = run_arg_get_trans( args, "transA", ChamNoTrans ); cham_trans_t transB = run_arg_get_trans( args, "transB", ChamNoTrans ); int N = run_arg_get_int( args, "N", 320 ); diff --git a/testing/testing_zherk_batch.c b/testing/testing_zherk_batch.c index 4f149ea7032754f1774dd6a08a5c4a3f87962c28..076812827fc1c0543f978ff25a5cddee591a4f62 100644 --- a/testing/testing_zherk_batch.c +++ b/testing/testing_zherk_batch.c @@ -40,7 +40,6 @@ testing_zherk_batch_desc( run_arg_list_t *args, int check ) int async = parameters_getvalue_int( "async" ); int nb = run_arg_get_int( args, "nb", 10 ); int ib = run_arg_get_int( args, "ib", 10 ); - int P = parameters_getvalue_int( "P" ); cham_trans_t trans = run_arg_get_trans( args, "trans", ChamNoTrans ); cham_uplo_t uplo = run_arg_get_uplo( args, "uplo", ChamUpper ); int N = run_arg_get_int( args, "N", 320 ); diff --git a/testing/testing_zpotrf_batch.c b/testing/testing_zpotrf_batch.c index 27d17b301669c7069fbad63525e8a34ba890011c..29ef3b2f855a5794c4d80bdbd55a83096c20d89f 100644 --- a/testing/testing_zpotrf_batch.c +++ b/testing/testing_zpotrf_batch.c @@ -40,11 +40,9 @@ testing_zpotrf_batch_desc( run_arg_list_t *args, int check ) int async = parameters_getvalue_int( "async" ); int nb = run_arg_get_int( args, "nb", 10 ); int ib = run_arg_get_int( args, "ib", 10 ); - int P = parameters_getvalue_int( "P" ); cham_uplo_t uplo = run_arg_get_uplo( args, "uplo", ChamUpper ); int N = run_arg_get_int( args, "N", 320 ); int seedA = run_arg_get_int( args, "seedA", testing_ialea() ); - int Q = parameters_compute_q( P ); /* Descriptors */ CHAM_desc_t *descA; diff --git a/testing/testing_ztrsm_batch.c b/testing/testing_ztrsm_batch.c index 318aa33bd7636af7a518f28ebf48e3222058d22c..2c496065376c551469034f389ac491493b4868b4 100644 --- a/testing/testing_ztrsm_batch.c +++ b/testing/testing_ztrsm_batch.c @@ -40,7 +40,6 @@ testing_ztrsm_batch_desc( run_arg_list_t *args, int check ) int async = parameters_getvalue_int( "async" ); int nb = run_arg_get_int( args, "nb", 10 ); int ib = run_arg_get_int( args, "ib", 10 ); - int P = parameters_getvalue_int( "P" ); cham_trans_t trans = run_arg_get_trans( args, "trans", ChamNoTrans ); cham_side_t side = run_arg_get_side( args, "side", ChamLeft ); cham_uplo_t uplo = run_arg_get_uplo( args, "uplo", ChamUpper ); @@ -52,8 +51,8 @@ testing_ztrsm_batch_desc( run_arg_list_t *args, int check ) int seedB = run_arg_get_int( args, "seedB", testing_ialea() ); /* Descriptors */ - int Am, An, Bm, Bn; - CHAM_desc_t *descA, *descB, *descC; + int Am, An; + CHAM_desc_t *descA, *descB; alpha = run_arg_get_complex64( args, "alpha", alpha );