Mentions légales du service

Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • solverstack/chameleon
  • lvilleve/chameleon-toto
  • jcletort/chameleon
  • thibault/chameleon
  • tcojean/chameleon
  • sylvand/chameleon
  • viroulea/chameleon
  • x-ltac/chameleon
  • agullo/chameleon
  • glucas/chameleon
  • pswartva/chameleon
  • aguermou1/chameleon
  • eyrauddu/chameleon
  • mverite/chameleon
  • alisito/chameleon
  • furmento/chameleon
  • fpruvost/chameleon
  • ahourcau/chameleon
  • bnicolas/chameleon
  • pesterie/chameleon
  • mmarcos/chameleon
21 results
Show changes
Commits on Source (17)
  • Mathieu Faverge's avatar
    Renaming · 38d2b92c
    Mathieu Faverge authored
    38d2b92c
  • Mathieu Faverge's avatar
  • Mathieu Faverge's avatar
    Start changing the enums · 6e97106d
    Mathieu Faverge authored
    6e97106d
  • Mathieu Faverge's avatar
    Update headers · 3d38a6dd
    Mathieu Faverge authored
    3d38a6dd
  • Mathieu Faverge's avatar
    Reduce names · 65e8fb17
    Mathieu Faverge authored
    65e8fb17
  • Mathieu Faverge's avatar
    Rename include files · f78c5f5e
    Mathieu Faverge authored
    f78c5f5e
  • Mathieu Faverge's avatar
    Compile with StarPU in shm · 7397efbe
    Mathieu Faverge authored
    7397efbe
  • Mathieu Faverge's avatar
    Fix compilation in MPI/CUDA · 403748f0
    Mathieu Faverge authored
    403748f0
  • Mathieu Faverge's avatar
    Fix compilation with quark and parsec · 165fe037
    Mathieu Faverge authored
    165fe037
  • Mathieu Faverge's avatar
    RIP morse · 5ee2abef
    Mathieu Faverge authored
    5ee2abef
  • Mathieu Faverge's avatar
    Morse tryed to stay alive · 5f83bffb
    Mathieu Faverge authored
    5f83bffb
  • Mathieu Faverge's avatar
    Update cmake · 09098983
    Mathieu Faverge authored
    09098983
  • Mathieu Faverge's avatar
    Fix type size issue with starpu · 55051a20
    Mathieu Faverge authored
    55051a20
  • Mathieu Faverge's avatar
    77cb5270
  • Mathieu Faverge's avatar
    Restore project acronym · 7b0bc788
    Mathieu Faverge authored
    7b0bc788
  • Mathieu Faverge's avatar
    Link name · 28682c21
    Mathieu Faverge authored
    28682c21
  • Mathieu Faverge's avatar
    Merge branch 'issue47/renaming' into 'master' · 45c82f14
    Mathieu Faverge authored
    Renaming
    
    This MR is supposed to fix issue #47 by applying the suggestion of renaming discussed and a little more.
    Here is a summary of the filename changes:
    
    In include directory:
      * `morse.h` => `chameleon.h`
      * `chameleon/chameleon_config.h.in` stays as it is
      * `chameleon/morse_zc.h` => `chameleon/chameleon_zc.h` with all mixed-precision routines
      * `chameleon/morse_z.h`  => `chameleon/chameleon_z.h` with all single precision routines
      * `chameleon/morse_constants.h` => `chameleon/chameleon_constants.h` for all Chameleon constants
      * `chameleon/morse_fortran.h` => `chameleon/chameleon_fortran.h` for wrappers of `CHAMELEON_...` routines only
      * `chameleon/morse_simulate.h` => `chameleon/chameleon_simulate.h` might be integrated in `chameleon.h`
      * `chameleon/morse_struct.h` => `chameleon/chameleon_struct.h` for CHAMELEON structures (descriptors, context)
      * `chameleon/morse_types.h` => `chameleon/chameleon_types.h`
      * `chameleon/morse_runtime.h` => `runtime.h`
      * `chameleon/morse_struct.h` => `runtime/runtime_struct.h` for RUNTIME structures (context, sequence, options)
      * `chameleon/morse_kernels.h` => Integrated into chameleon_tasks.h
      * `chameleon/morse_tasks.h`  => `chameleon/chameleon_tasks.h`
      * `chameleon/morse_tasks_z.h` => `chameleon/chameleon_tasks_z.h`
      * `chameleon/morse_tasks_zc.h` => `chameleon/chameleon_tasks_zc.h`
    
    Regarding the functions and structures:
      * Everything related to the RUNTIME API (except the tasks) becomes RUNTIME_ something
         * This includes RUNTIME_sequence_t, RUNTIME_request_t and RUNTIME_option_t that were called MORSE_xxxx
         * MORSE_TASK_xxx becomes InsertTask_xxxx to remove the MORSE keyword, and not put the RUNTIME one, but any other suggestion is more than welcome
      * All MORSE_ functions become CHAMELEON_
      * The same for all structure related to Chameleon, except morse_desc_t that become matrix_desc_t in an attempt to be generic.
    
    All, and especially those involved in #47 discussions (@sylvand, @ltaief, @agullo, @fpruvost, @thibault, @furmento) please have a look and comment directly in the code on the web interface to start discussions where it's needed.
    I would like to close this issue as soon as possible, so we can definitely move towards the 1.0.0. Thanks.
    
    See merge request !90
    45c82f14
Showing
with 395 additions and 396 deletions
......@@ -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")
......
......@@ -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
......
......@@ -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)
......
......@@ -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
......
......@@ -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)
Subproject commit 1deddb2781f62dbbf0ee9199f569e49f7346397a
Subproject commit 3c4da39c32e8a80c6af48ef066f9d5ebbba08aff
......@@ -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)
......
......@@ -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);
}
......@@ -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);
}
......
......@@ -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;
}
......@@ -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);
}
......@@ -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;
}
......@@ -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);
}
......@@ -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;
}
......@@ -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);
}
......@@ -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;
}
......@@ -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;
}
......@@ -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);
}
......@@ -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);
}
......@@ -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);
}