diff --git a/compute/zgemm.c b/compute/zgemm.c index 21cc76313bbd36b3de7114f9a0c531db8a9a5fd2..7aa73aa9e4a6845ae7667a705564c066a75da0b3 100644 --- a/compute/zgemm.c +++ b/compute/zgemm.c @@ -28,6 +28,28 @@ **/ #include "control/common.h" +/** + * + * @defgroup MORSE_Complex64_t + * @brief Linear algebra routines exposed to users. LAPACK matrix data storage + * + */ + +/** + * + * @defgroup MORSE_Complex64_t_Tile + * @brief Linear algebra routines exposed to users. Tile matrix data storage + * + */ + +/** + * + * @defgroup MORSE_Complex64_t_Tile_Async + * @brief Linear algebra routines exposed to users. Tile matrix data storage, + * asynchronous interface. + * + */ + /***************************************************************************//** * * @ingroup MORSE_Complex64_t diff --git a/control/CMakeLists.txt b/control/CMakeLists.txt index 85daf5fd86e0f1dd6e1fc767e382e94df15764a0..1e2ef3e9d5346235bfb7b27ae24406f944f941a2 100644 --- a/control/CMakeLists.txt +++ b/control/CMakeLists.txt @@ -51,29 +51,19 @@ set(CHAMELEON_HDRS morsewinthread.h tile.h workspace.h - ${CHAMELEON_HDRS_GENERATED} ) +set(HDR_INSTALL ${CHAMELEON_HDRS}) +foreach( hdr_file ${CHAMELEON_HDRS_GENERATED} ) + list(APPEND HDR_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/${hdr_file}) +endforeach() + +list(APPEND CHAMELEON_HDRS ${CHAMELEON_HDRS_GENERATED}) + # Force generation of headers # --------------------------- add_custom_target(control_include ALL SOURCES ${CHAMELEON_HDRS}) -set(HDR_INSTALL - async.h - auxiliary.h - bulge.h - common.h - context.h - descriptor.h - gkkleader.h - global.h - morsewinthread.h - tile.h - workspace.h - ) -foreach( hdr_file ${CHAMELEON_HDRS_GENERATED} ) - list(APPEND HDR_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/${hdr_file}) -endforeach() # installation # ------------ diff --git a/control/async.c b/control/async.c index 5c32c73e071c68203eded6d176a888d8256584bf..b3df48acf9a14235153bb2f28f73ded963dc8b15 100644 --- a/control/async.c +++ b/control/async.c @@ -23,6 +23,14 @@ * @date 2012-09-15 * **/ + +/** + * + * @defgroup Sequences + * @brief Group routines exposed to users to handle asynchronous tasks execution + * + */ + #include <stdlib.h> #include "control/common.h" #include "runtime.h" @@ -73,23 +81,23 @@ int morse_sequence_wait(MORSE_context_t *morse, MORSE_sequence_t *sequence) return MORSE_SUCCESS; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Sequences * * MORSE_Sequence_Create - Create a squence. * - ******************************************************************************* + ****************************************************************************** * * @param[out] sequence * Identifies a set of routines sharing common exception handling. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Sequence_Create(MORSE_sequence_t **sequence) { MORSE_context_t *morse; @@ -104,23 +112,23 @@ int MORSE_Sequence_Create(MORSE_sequence_t **sequence) return status; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Sequences * * MORSE_Sequence_Destroy - Destroy a sequence. * - ******************************************************************************* + ****************************************************************************** * * @param[in] sequence * Identifies a set of routines sharing common exception handling. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Sequence_Destroy(MORSE_sequence_t *sequence) { MORSE_context_t *morse; @@ -139,23 +147,23 @@ int MORSE_Sequence_Destroy(MORSE_sequence_t *sequence) return status; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Sequences * * MORSE_Sequence_Wait - Wait for the completion of a sequence. * - ******************************************************************************* + ****************************************************************************** * * @param[in] sequence * Identifies a set of routines sharing common exception handling. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Sequence_Wait(MORSE_sequence_t *sequence) { MORSE_context_t *morse; @@ -174,13 +182,13 @@ int MORSE_Sequence_Wait(MORSE_sequence_t *sequence) return status; } -/****************************************************************************** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Sequences * * MORSE_Sequence_Flush - Terminate a sequence. * - ******************************************************************************* + ****************************************************************************** * * @param[in] sequence * Identifies a set of routines sharing common exception handling. @@ -188,12 +196,12 @@ int MORSE_Sequence_Wait(MORSE_sequence_t *sequence) * @param[in] request * The flush request. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Sequence_Flush(MORSE_sequence_t *sequence, MORSE_request_t *request) { MORSE_context_t *morse; diff --git a/control/auxiliary.c b/control/auxiliary.c index 3147fcdf17c5e66382f7cf26107ad89237b94b2e..82e0b5f6a736fa2ae73fd0c1fb1c704547e33c47 100644 --- a/control/auxiliary.c +++ b/control/auxiliary.c @@ -24,6 +24,14 @@ * @date 2012-09-15 * **/ + +/** + * + * @defgroup Auxiliary + * @brief Group auxiliary routines exposed to users + * + */ + #include "control/common.h" #include "control/auxiliary.h" @@ -100,24 +108,6 @@ void morse_fatal_error(const char *func_name, char* msg_text) exit(0); } -/******************************************************************************* - * - **/ -int morse_element_size(int type) -{ - switch(type) { - case MorseByte: return 1; - case MorseInteger: return sizeof(int); - case MorseRealFloat: return sizeof(float); - case MorseRealDouble: return sizeof(double); - case MorseComplexFloat: return 2*sizeof(float); - case MorseComplexDouble: return 2*sizeof(double); - default: morse_fatal_error("morse_element_size", "undefined type"); - return MORSE_ERR_ILLEGAL_VALUE; - - } -} - /******************************************************************************* * Returns core id **/ @@ -139,13 +129,13 @@ int morse_tune(MORSE_enum func, int M, int N, int NRHS) return MORSE_SUCCESS; } -/******************************************************************************* +/** *************************************************************************** * * @ingroup Auxiliary * * MORSE_Version - Reports MORSE version number. * - ******************************************************************************* + ****************************************************************************** * * @param[out] ver_major * MORSE major version number. @@ -156,12 +146,12 @@ int morse_tune(MORSE_enum func, int M, int N, int NRHS) * @param[out] ver_micro * MORSE micro version number. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Version(int *ver_major, int *ver_minor, int *ver_micro) { if (! ver_major && ! ver_minor && ! ver_micro) @@ -178,3 +168,70 @@ int MORSE_Version(int *ver_major, int *ver_minor, int *ver_micro) return MORSE_SUCCESS; } + +/** *************************************************************************** + * + * @ingroup Auxiliary + * + * MORSE_Element_Size - Reports the size in bytes of a MORSE precision type + * (e.g. MorseInteger, MorseRealFloat, etc). + * + ****************************************************************************** + * + * @param[in] type + * MORSE element type, can be one of the following: + * - MorseByte + * - MorseInteger + * - MorseRealFloat + * - MorseRealDouble + * - MorseComplexFloat + * - MorseComplexDouble + * + ****************************************************************************** + * + * @return + * \retval Element size in bytes + * + *****************************************************************************/ +int MORSE_Element_Size(int type) +{ + switch(type) { + case MorseByte: return 1; + case MorseInteger: return sizeof(int); + case MorseRealFloat: return sizeof(float); + case MorseRealDouble: return sizeof(double); + case MorseComplexFloat: return 2*sizeof(float); + case MorseComplexDouble: return 2*sizeof(double); + default: morse_fatal_error("MORSE_Element_Size", "undefined type"); + return MORSE_ERR_ILLEGAL_VALUE; + + } +} + +/** *************************************************************************** + * + * @ingroup Auxiliary + * + * MORSE_My_Mpi_Rank - Return the MPI rank of the calling process. + * + ****************************************************************************** + * + ****************************************************************************** + * + * @return + * \retval MPI rank + * + *****************************************************************************/ +int MORSE_My_Mpi_Rank(void) +{ +#if defined(CHAMELEON_USE_MPI) + MORSE_context_t *morse = morse_context_self(); + if (morse == NULL) { + morse_error("MORSE_Finalize()", "MORSE not initialized"); + return MORSE_ERR_NOT_INITIALIZED; + } + return MORSE_MPI_RANK; +#else + return MORSE_SUCCESS; +#endif +} diff --git a/control/auxiliary.h b/control/auxiliary.h index fd528e7a171161c0a66b415997a8bf450375b86c..15b9699f30114cfb73b9c15e9972d20e32863380 100644 --- a/control/auxiliary.h +++ b/control/auxiliary.h @@ -39,15 +39,9 @@ extern "C" { void morse_warning (const char *func_name, char* msg_text); void morse_error (const char *func_name, char* msg_text); void morse_fatal_error (const char *func_name, char* msg_text); -int morse_element_size (int type); int morse_rank (MORSE_context_t *morse); int morse_tune (MORSE_enum func, int M, int N, int NRHS); -/******************************************************************************* - * User routines - **/ -int MORSE_Version (int *ver_major, int *ver_minor, int *ver_micro); - #ifdef __cplusplus } #endif diff --git a/control/context.c b/control/context.c index ae3d63b015656a61de36f7d63478d23ccfe1303d..1861bf6a499e2b55efa60ab7fcb27a59ad76824e 100644 --- a/control/context.c +++ b/control/context.c @@ -24,6 +24,13 @@ * **/ +/** + * + * @defgroup Options + * @brief Group routines exposed to users to handle options + * + */ + #include <stdlib.h> #if defined( _WIN32 ) || defined( _WIN64 ) #include "control/morsewinthread.h" @@ -109,15 +116,15 @@ int morse_context_destroy(){ return MORSE_SUCCESS; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Options * * MORSE_Enable - Enable MORSE feature. * ******************************************************************************* * - * @param[in] lever + * @param[in] option * Feature to be enabled: * @arg MORSE_WARNINGS printing of warning messages, * @arg MORSE_ERRORS printing of error messages, @@ -170,15 +177,15 @@ int MORSE_Enable(MORSE_enum option) return MORSE_SUCCESS; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Options * * MORSE_Disable - Disable MORSE feature. * ******************************************************************************* * - * @param[in] lever + * @param[in] option * Feature to be disabled: * @arg MORSE_WARNINGS printing of warning messages, * @arg MORSE_ERRORS printing of error messages, @@ -228,9 +235,9 @@ int MORSE_Disable(MORSE_enum option) return MORSE_SUCCESS; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Options * * MORSE_Set - Set MORSE parameter. * @@ -322,9 +329,9 @@ int MORSE_Set(MORSE_enum param, int value) return MORSE_SUCCESS; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Options * * MORSE_Get - Get value of MORSE parameter. * diff --git a/control/control.c b/control/control.c index 480bf89a1600741879cd8a2828be91dca4dc1938..f0fffbe273404767fcddbee621dfb97a42b447e5 100644 --- a/control/control.c +++ b/control/control.c @@ -23,63 +23,69 @@ * @date 2012-09-15 * **/ + +/** + * + * @defgroup Control + * @brief Group routines exposed to users to control MORSE state + * + */ + #include <stdio.h> #include <stdlib.h> #include "control/auxiliary.h" #include "control/common.h" #include "runtime.h" -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Control * * MORSE_Init - Initialize MORSE. * - ******************************************************************************* + ****************************************************************************** * * @param[in] cores - * Number of cores to use (threads to launch). - * If cores = 0, cores = MORSE_NUM_THREADS if it is set, the - * system number of core otherwise. + * Number of cores to use. * - ******************************************************************************* + * @param[in] gpus + * Number of cuda devices to use. + * + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Init(int cores, int gpus) { return MORSE_InitPar(cores, gpus, -1); } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Control * - * MORSE_Init_Affinity - Initialize MORSE. + * MORSE_InitPar - Initialize MORSE. * - ******************************************************************************* + ****************************************************************************** * - * @param[in] cores - * Number of cores to use (threads to launch). - * If cores = 0, cores = MORSE_NUM_THREADS if it is set, the - * system number of core otherwise. + * @param[in] ncpus + * Number of cores to use. * - * @param[in] coresbind - * Array to specify where to bind each thread. - * Each thread i is binded to coresbind[hwloc(i)] if hwloc is - * provided, or to coresbind[i] otherwise. - * If coresbind = NULL, coresbind = MORSE_AFF_THREADS if it - * is set, the identity function otherwise. + * @param[in] ncudas + * Number of cuda devices to use. * - ******************************************************************************* + * @param[in] nthreads_per_worker + * Number of threads per worker (cpu, cuda device). + * + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ -int MORSE_InitPar(int nworkers, int ncudas, int nthreads_per_worker) + *****************************************************************************/ +int MORSE_InitPar(int ncpus, int ncudas, int nthreads_per_worker) { MORSE_context_t *morse; @@ -90,33 +96,6 @@ int MORSE_InitPar(int nworkers, int ncudas, int nthreads_per_worker) return MORSE_ERR_OUT_OF_RESOURCES; } -#if 0 - /* Init number of cores and topology */ - morse_topology_init(); - - /* Set number of nworkers */ - if ( nworkers < 1 ) { - morse->world_size = morse_get_numthreads(); - if ( morse->world_size == -1 ) { - morse->world_size = 1; - morse_warning("MORSE_Init", "Could not find the number of cores: the thread number is set to 1"); - } - } - else - morse->world_size = nworkers; - - if (morse->world_size <= 0) { - morse_fatal_error("MORSE_Init", "failed to get system size"); - return MORSE_ERR_NOT_FOUND; - } - nworkers = morse->world_size; - - /* Get the size of each NUMA node */ - morse->group_size = morse_get_numthreads_numa(); - while ( ((morse->world_size)%(morse->group_size)) != 0 ) - (morse->group_size)--; -#endif - #if defined(CHAMELEON_USE_MPI) { int flag = 0, provided = 0; @@ -130,22 +109,22 @@ int MORSE_InitPar(int nworkers, int ncudas, int nthreads_per_worker) #if defined(CHAMELEON_USE_MAGMA) magma_init(); #endif - RUNTIME_init_scheduler( morse, nworkers, ncudas, nthreads_per_worker ); + RUNTIME_init_scheduler( morse, ncpus, ncudas, nthreads_per_worker ); return MORSE_SUCCESS; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Control * * MORSE_Finalize - Finalize MORSE. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Finalize(void) { MORSE_context_t *morse = morse_context_self(); @@ -168,46 +147,18 @@ int MORSE_Finalize(void) return MORSE_SUCCESS; } -/******************************************************************************* - * - * @ingroup Auxiliary - * - * MORSE_My_Mpi_Rank - Return the MPI rank of the calling process. - * - ******************************************************************************* - * - ******************************************************************************* - * - * @return - * \retval MPI rank - * - ******************************************************************************/ -int MORSE_My_Mpi_Rank(void) -{ -#if defined(CHAMELEON_USE_MPI) - MORSE_context_t *morse = morse_context_self(); - if (morse == NULL) { - morse_error("MORSE_Finalize()", "MORSE not initialized"); - return MORSE_ERR_NOT_INITIALIZED; - } - return MORSE_MPI_RANK; -#else - return MORSE_SUCCESS; -#endif -} - -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Control * * MORSE_Pause - Suspend MORSE runtime to poll for new tasks. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Pause(void) { MORSE_context_t *morse = morse_context_self(); @@ -219,19 +170,19 @@ int MORSE_Pause(void) return MORSE_SUCCESS; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Control * * MORSE_Resume - Symmetrical call to MORSE_Pause, * used to resume the workers polling for new tasks. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Resume(void) { MORSE_context_t *morse = morse_context_self(); diff --git a/control/descriptor.c b/control/descriptor.c index b0ed101444b101c6e82ed8018e6e46bdc17a5e18..8ceed3733f97cef1f2e9c17152f04326f3cd07a7 100644 --- a/control/descriptor.c +++ b/control/descriptor.c @@ -22,6 +22,14 @@ * @date 2010-11-15 * **/ + +/** + * + * @defgroup Descriptor + * @brief Group descriptor routines exposed to users + * + */ + #include <stdlib.h> #include <assert.h> #include "control/common.h" @@ -299,7 +307,7 @@ int morse_desc_mat_alloc( MORSE_desc_t *desc ) { size_t size = (size_t)(desc->llm) * (size_t)(desc->lln) - * (size_t)morse_element_size(desc->dtyp); + * (size_t)MORSE_Element_Size(desc->dtyp); if ((desc->mat = malloc(size)) == NULL) { morse_error("morse_desc_mat_alloc", "malloc() failed"); return MORSE_ERR_OUT_OF_RESOURCES; @@ -329,13 +337,13 @@ int morse_desc_mat_free( MORSE_desc_t *desc ) return MORSE_SUCCESS; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Descriptor * * MORSE_Desc_Create - Create matrix descriptor. * - ******************************************************************************* + ****************************************************************************** * * @param[out] desc * On exit, descriptor of the matrix. @@ -378,12 +386,12 @@ int morse_desc_mat_free( MORSE_desc_t *desc ) * @param[in] n * Number of columns of the submatrix. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Desc_Create(MORSE_desc_t **desc, void *mat, MORSE_enum dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q) { @@ -411,7 +419,7 @@ int MORSE_Desc_Create(MORSE_desc_t **desc, void *mat, MORSE_enum dtyp, int mb, i /* TODO: a call to morse_desc_mat_alloc should be made, but require to move the call to RUNTIME_desc_create within the function */ size_t size = (size_t)((*desc)->llm) * (size_t)((*desc)->lln) - * (size_t)morse_element_size((*desc)->dtyp); + * (size_t)MORSE_Element_Size((*desc)->dtyp); if (((**desc).mat = malloc(size)) == NULL) { morse_error("MORSE_Desc_Create", "malloc() failed"); @@ -437,13 +445,13 @@ int MORSE_Desc_Create(MORSE_desc_t **desc, void *mat, MORSE_enum dtyp, int mb, i return MORSE_SUCCESS; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Descriptor * * MORSE_Desc_Create_User - Create matrix descriptor for general applications. * - ******************************************************************************* + ****************************************************************************** * * @param[out] desc * On exit, descriptor of the matrix. @@ -484,12 +492,12 @@ int MORSE_Desc_Create(MORSE_desc_t **desc, void *mat, MORSE_enum dtyp, int mb, i * @param[in] (*get_rankof)( const MORSE_desc_t *A, int m, int n) * A function that return the MPI rank of the tile A(m,n). * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Desc_Create_User(MORSE_desc_t **desc, void *mat, MORSE_enum dtyp, int mb, int nb, int bsiz, int lm, int ln, int i, int j, int m, int n, int p, int q, void* (*get_blkaddr)( const MORSE_desc_t*, int, int ), @@ -537,23 +545,23 @@ int MORSE_Desc_Create_User(MORSE_desc_t **desc, void *mat, MORSE_enum dtyp, int return MORSE_SUCCESS; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Descriptor * * MORSE_Desc_Destroy - Destroys matrix descriptor. * - ******************************************************************************* + ****************************************************************************** * * @param[in] desc * Matrix descriptor. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Desc_Destroy(MORSE_desc_t **desc) { MORSE_context_t *morse; @@ -575,15 +583,69 @@ int MORSE_Desc_Destroy(MORSE_desc_t **desc) return MORSE_SUCCESS; } - +/** *************************************************************************** + * + * @ingroup Descriptor + * + * MORSE_Desc_Acquire - Ensures that all data of the descriptor are + * up-to-date. + * + ****************************************************************************** + * + * @param[in] desc + * Matrix descriptor. + * + ****************************************************************************** + * + * @return + * \retval MORSE_SUCCESS successful exit + * + *****************************************************************************/ int MORSE_Desc_Acquire (MORSE_desc_t *desc) { return RUNTIME_desc_acquire( desc ); } +/** *************************************************************************** + * + * @ingroup Descriptor + * + * MORSE_Desc_Release - Release the data of the descriptor acquired by the + * application. Should be called if MORSE_Desc_Acquire has been called on the + * descriptor and if you do not need to access to its data anymore. + * + ****************************************************************************** + * + * @param[in] desc + * Matrix descriptor. + * + ****************************************************************************** + * + * @return + * \retval MORSE_SUCCESS successful exit + * + *****************************************************************************/ int MORSE_Desc_Release (MORSE_desc_t *desc) { return RUNTIME_desc_release( desc ); } +/** *************************************************************************** + * + * @ingroup Descriptor + * + * MORSE_Desc_Getoncpu - Apply an acquire and a release on the data of the + * descriptors so that its values are up-to-date in the main memory. + * + ****************************************************************************** + * + * @param[in] desc + * Matrix descriptor. + * + ****************************************************************************** + * + * @return + * \retval MORSE_SUCCESS successful exit + * + *****************************************************************************/ int MORSE_Desc_Getoncpu(MORSE_desc_t *desc) { return RUNTIME_desc_getoncpu( desc ); } diff --git a/control/descriptor.h b/control/descriptor.h index f3fe886b024c9253b98e6874c1c58cfc7a9cfc09..3f2f49cf8d45b10a2d08863342381dcc95101e67 100644 --- a/control/descriptor.h +++ b/control/descriptor.h @@ -71,7 +71,7 @@ inline static void* morse_getaddr_ccrb(const MORSE_desc_t *A, int m, int n) { size_t mm = m + A->i / A->mb; size_t nn = n + A->j / A->nb; - size_t eltsize = morse_element_size(A->dtyp); + size_t eltsize = MORSE_Element_Size(A->dtyp); size_t offset = 0; #if defined(CHAMELEON_USE_MPI) @@ -103,7 +103,7 @@ inline static void *morse_getaddr_cm(const MORSE_desc_t *A, int m, int n) { size_t mm = m + A->i / A->mb; size_t nn = n + A->j / A->nb; - size_t eltsize = morse_element_size(A->dtyp); + size_t eltsize = MORSE_Element_Size(A->dtyp); size_t offset = 0; #if defined(CHAMELEON_USE_MPI) diff --git a/control/tile.c b/control/tile.c index bbd105736e2f4d8d41e159d39d48ab10bbc93e3b..992949a9a606584d2511bf4745521cccca3dcb8f 100644 --- a/control/tile.c +++ b/control/tile.c @@ -22,17 +22,25 @@ * @date 2010-11-15 * **/ + +/** + * + * @defgroup Tile + * @brief Group routines exposed to users for matrices conversion LAPACK-Tile + * + */ + #include "control/common.h" #include "control/auxiliary.h" #include "control/tile.h" -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Tile * * MORSE_Lapack_to_Tile - Conversion from LAPACK layout to tile layout. * - ******************************************************************************* + ****************************************************************************** * * @param[in] Af77 * LAPACK matrix. @@ -43,12 +51,12 @@ * @param[out] A * Descriptor of the MORSE matrix in tile layout. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Lapack_to_Tile(void *Af77, int LDA, MORSE_desc_t *A) { MORSE_context_t *morse; @@ -101,13 +109,13 @@ int MORSE_Lapack_to_Tile(void *Af77, int LDA, MORSE_desc_t *A) return status; } -/******************************************************************************* +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Tile * * MORSE_Tile_to_Lapack - Conversion from tile layout to LAPACK layout. * - ******************************************************************************* + ****************************************************************************** * * @param[out] A * Descriptor of the MORSE matrix in tile layout. @@ -118,12 +126,12 @@ int MORSE_Lapack_to_Tile(void *Af77, int LDA, MORSE_desc_t *A) * @param[in] LDA * The leading dimension of the matrix Af77. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Tile_to_Lapack(MORSE_desc_t *A, void *Af77, int LDA) { MORSE_context_t *morse; diff --git a/control/workspace.c b/control/workspace.c index fabbd7b0e955a55588f6a064ad1d532bebe45ac8..192b1a0058b0870c29222f92ee7a3dd38a0e848f 100644 --- a/control/workspace.c +++ b/control/workspace.c @@ -22,6 +22,14 @@ * @date 2012-09-15 * **/ + +/** + * + * @defgroup Workspace + * @brief Group routines exposed to users about specific workspaces management + * + */ + #include <stdlib.h> #include "control/common.h" #include "control/auxiliary.h" @@ -159,7 +167,7 @@ int morse_alloc_ipiv(int M, int N, MORSE_enum func, int type, MORSE_desc_t **des /******************************************************************************* * - * @ingroup Auxiliary + * @ingroup Workspace * * MORSE_Dealloc_Worksapce - Deallocate workspace descriptor allocated by * any workspace allocation routine. diff --git a/control/workspace_z.c b/control/workspace_z.c index ce0da55bc48bebd927217fb81f9c1a7dd42dbd95..3e784b04ea1aa9c208e9d57bec927d38f3f8d3c8 100644 --- a/control/workspace_z.c +++ b/control/workspace_z.c @@ -32,59 +32,63 @@ #include "control/common.h" #include "control/workspace.h" -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgeev - Allocates workspace for MORSE_zgeev or MORSE_zgeev_Tile routine. + * MORSE_Alloc_Workspace_zgeev - Allocates workspace for MORSE_zgeev or + * MORSE_zgeev_Tile routine. * - ******************************************************************************* + ****************************************************************************** * * @param[in] N * The order of the matrix A. N >= 0. * * @param[out] descT - * On exit, workspace handle for storage of the extra T factors required by the tile Hessenberg. + * On exit, workspace handle for storage of the extra T factors + * required by the tile Hessenberg. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Alloc_Workspace_zgeev(int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(N, N, MORSE_FUNC_ZGEEV, MorseComplexDouble, descT); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgehrd - Allocates workspace for MORSE_zgehrd or MORSE_zgehrd_Tile routine. + * MORSE_Alloc_Workspace_zgehrd - Allocates workspace for MORSE_zgehrd or + * MORSE_zgehrd_Tile routine. * - ******************************************************************************* + ****************************************************************************** * * @param[in] N * The number of columns of the matrix A. N >= 0. * * @param[out] descT - * On exit, workspace handle for storage of the extra T factors required by the tile Hessenberg. + * On exit, workspace handle for storage of the extra T factors + * required by the tile Hessenberg. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Alloc_Workspace_zgehrd(int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(N, N, MORSE_FUNC_ZGEHRD, MorseComplexDouble, descT); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * * MORSE_Alloc_Workspace_zgebrd - Allocates workspace for MORSE_zgebrd or MORSE_zgebrd_Tile routine. * - ******************************************************************************* + ****************************************************************************** * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -93,24 +97,26 @@ int MORSE_Alloc_Workspace_zgehrd(int N, MORSE_desc_t **descT) { * The number of columns of the matrix A. N >= 0. * * @param[out] descT - * On exit, workspace handle for storage of the extra T factors required by the tile BRD. + * On exit, workspace handle for storage of the extra T factors + * required by the tile BRD. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Alloc_Workspace_zgebrd(int M, int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGEBRD, MorseComplexDouble, descT); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgels - Allocates workspace for MORSE_zgels or MORSE_zgels_Tile routine. + * MORSE_Alloc_Workspace_zgels - Allocates workspace for MORSE_zgels or + * MORSE_zgels_Tile routine. * - ******************************************************************************* + ****************************************************************************** * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -119,26 +125,26 @@ int MORSE_Alloc_Workspace_zgebrd(int M, int N, MORSE_desc_t **descT) { * The number of columns of the matrix A. N >= 0. * * @param[out] descT - * On exit, workspace handle for storage of the extra T factors required by the tile QR - * or the tile LQ factorization. + * On exit, workspace handle for storage of the extra T factors + * required by the tile QR or the tile LQ factorization. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Alloc_Workspace_zgels(int M, int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGELS, MorseComplexDouble, descT); } -/***************************************************************************//** -@@ -192,33 +120,6 @@ +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgels_Tile - Allocates tile workspace for MORSE_zgels_Tile routine. + * MORSE_Alloc_Workspace_zgels_Tile - Allocates tile workspace for + * MORSE_zgels_Tile routine. * - ******************************************************************************* + ****************************************************************************** * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -147,25 +153,26 @@ int MORSE_Alloc_Workspace_zgels(int M, int N, MORSE_desc_t **descT) { * The number of columns of the matrix A. N >= 0. * * @param[out] descT - * On exit, MORSE_desc_t *on workspace handle for storage of the extra T factors required by the tile QR - * or the tile LQ factorization. + * On exit, MORSE_desc_t *on workspace handle for storage of the extra + * T factors required by the tile QR or the tile LQ factorization. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Alloc_Workspace_zgels_Tile(int M, int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGELS, MorseComplexDouble, descT); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgeqrf - Allocates workspace for MORSE_zgeqrf or MORSE_zgeqrf_Tile routine. + * MORSE_Alloc_Workspace_zgeqrf - Allocates workspace for MORSE_zgeqrf or + * MORSE_zgeqrf_Tile routine. * - ******************************************************************************* + ****************************************************************************** * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -174,25 +181,26 @@ int MORSE_Alloc_Workspace_zgels_Tile(int M, int N, MORSE_desc_t **descT) { * The number of columns of the matrix A. N >= 0. * * @param[out] descT - * On exit, workspace handle for storage of the extra T factors required by the tile QR - * factorization. + * On exit, workspace handle for storage of the extra T factors + * required by the tile QR factorization. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Alloc_Workspace_zgeqrf(int M, int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGELS, MorseComplexDouble, descT); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgeqrf_Tile - Allocates tile workspace for MORSE_zgels_Tile routine. + * MORSE_Alloc_Workspace_zgeqrf_Tile - Allocates tile workspace for + * MORSE_zgels_Tile routine. * - ******************************************************************************* + ****************************************************************************** * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -201,25 +209,26 @@ int MORSE_Alloc_Workspace_zgeqrf(int M, int N, MORSE_desc_t **descT) { * The number of columns of the matrix A. N >= 0. * * @param[out] descT - * On exit, MORSE_desc_t *on workspace handle for storage of the extra T factors required by the tile QR - * or the tile LQ factorization. + * On exit, MORSE_desc_t *on workspace handle for storage of the extra + * T factors required by the tile QR or the tile LQ factorization. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Alloc_Workspace_zgeqrf_Tile(int M, int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGELS, MorseComplexDouble, descT); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgelqf - Allocates workspace for MORSE_zgelqf or MORSE_zgelqf_Tile routines. + * MORSE_Alloc_Workspace_zgelqf - Allocates workspace for MORSE_zgelqf or + * MORSE_zgelqf_Tile routines. * - ******************************************************************************* + ****************************************************************************** * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -231,22 +240,22 @@ int MORSE_Alloc_Workspace_zgeqrf_Tile(int M, int N, MORSE_desc_t **descT) { * On exit, workspace handle for storage of the extra T factors required by the tile LQ * factorization. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Alloc_Workspace_zgelqf(int M, int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGELS, MorseComplexDouble, descT); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * * MORSE_Alloc_Workspace_zgelqf_Tile - Allocates tile workspace for MORSE_zgels_Tile routine. * - ******************************************************************************* + ****************************************************************************** * * @param[in] M * The number of rows of the matrix A. M >= 0. @@ -255,80 +264,85 @@ int MORSE_Alloc_Workspace_zgelqf(int M, int N, MORSE_desc_t **descT) { * The number of columns of the matrix A. N >= 0. * * @param[out] descT - * On exit, MORSE_desc_t *on workspace handle for storage of the extra T factors required by the tile QR - * or the tile LQ factorization. + * On exit, MORSE_desc_t *on workspace handle for storage of the extra + * T factors required by the tile QR or the tile LQ factorization. * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Alloc_Workspace_zgelqf_Tile(int M, int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGELS, MorseComplexDouble, descT); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgesv - Allocates workspace for MORSE_zgesv or MORSE_zgesv_Tile routines. + * MORSE_Alloc_Workspace_zgesv - Allocates workspace for MORSE_zgesv or + * MORSE_zgesv_Tile routines. * - ******************************************************************************* + ****************************************************************************** * * @param[in] N - * The number of linear equations, i.e., the order of the matrix A. N >= 0. + * The number of linear equations, i.e., the order of the matrix A. + * N >= 0. * * @param[out] descL - * On exit, workspace handle for storage of the extra L factors required by the tile LU - * factorization. + * On exit, workspace handle for storage of the extra L factors + * required by the tile LU factorization. * * @param[out] IPIV - * On exit, workspace handle for storage of pivot indexes required by the tile LU - * factorization (not equivalent to LAPACK). + * On exit, workspace handle for storage of pivot indexes required + * by the tile LU factorization (not equivalent to LAPACK). * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Alloc_Workspace_zgesv_incpiv(int N, MORSE_desc_t **descL, int **IPIV) { return morse_alloc_ipiv(N, N, MORSE_FUNC_ZGESV, MorseComplexDouble, descL, (void**)IPIV); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgesv_Tile - Allocates workspace for MORSE_zgesv_Tile routines. + * MORSE_Alloc_Workspace_zgesv_Tile - Allocates workspace for MORSE_zgesv_Tile + * routines. * ******************************************************************************* * * @param[in] N - * The number of linear equations, i.e., the order of the matrix A. N >= 0. + * The number of linear equations, i.e., the order of the matrix A. + * N >= 0. * * @param[out] descL - * On exit, MORSE descriptor on workspace handle for storage of the extra - * L factors required by the tile LU factorization. + * On exit, MORSE descriptor on workspace handle for storage of the + * extra L factors required by the tile LU factorization. * * @param[out] IPIV - * On exit, workspace handle for storage of pivot indexes required by the tile LU - * factorization (not equivalent to LAPACK). + * On exit, workspace handle for storage of pivot indexes required by + * the tile LU factorization (not equivalent to LAPACK). * - ******************************************************************************* + ****************************************************************************** * * @return * \retval MORSE_SUCCESS successful exit * - ******************************************************************************/ + *****************************************************************************/ int MORSE_Alloc_Workspace_zgesv_incpiv_Tile(int N, MORSE_desc_t **descL, int **IPIV) { return morse_alloc_ipiv(N, N, MORSE_FUNC_ZGESV, MorseComplexDouble, descL, (void**)IPIV); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * - * MORSE_Alloc_Workspace_zgesvd - Allocates workspace for MORSE_zgesvd or MORSE_zgesvd_Tile routine. + * MORSE_Alloc_Workspace_zgesvd - Allocates workspace for MORSE_zgesvd or + * MORSE_zgesvd_Tile routine. * ******************************************************************************* * @@ -350,8 +364,9 @@ int MORSE_Alloc_Workspace_zgesv_incpiv_Tile(int N, MORSE_desc_t **descL, int **I int MORSE_Alloc_Workspace_zgesvd(int M, int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZGESVD, MorseComplexDouble, descT); } -/***************************************************************************//** - * @ingroup Auxiliary +/** *************************************************************************** + * + * @ingroup Workspace * * MORSE_Alloc_Workspace_zgetrf_incpiv - Allocates workspace for * MORSE_zgetrf_incpiv or MORSE_zgetrf_incpiv_Tile or @@ -388,9 +403,9 @@ int MORSE_Alloc_Workspace_zgesvd(int M, int N, MORSE_desc_t **descT) { int MORSE_Alloc_Workspace_zgetrf_incpiv(int M, int N, MORSE_desc_t **descL, int **IPIV) { return morse_alloc_ipiv(M, N, MORSE_FUNC_ZGESV, MorseComplexDouble, descL, (void**)IPIV); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * * MORSE_Alloc_Workspace_zgetrf_incpiv_Tile - Allocates workspace for * MORSE_zgesv_incpiv_Tile or MORSE_zgesv_incpiv_Tile_Async routines. @@ -418,9 +433,9 @@ int MORSE_Alloc_Workspace_zgetrf_incpiv_Tile(int N, MORSE_desc_t **descL, int ** { return morse_alloc_ipiv(N, N, MORSE_FUNC_ZGESV, MorseComplexDouble, descL, (void**)IPIV); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * * MORSE_Alloc_Workspace_zheev - Allocates workspace for MORSE_zheev or MORSE_zheev_Tile routine. * @@ -444,9 +459,9 @@ int MORSE_Alloc_Workspace_zgetrf_incpiv_Tile(int N, MORSE_desc_t **descL, int ** int MORSE_Alloc_Workspace_zheev(int M, int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZHEEV, MorseComplexDouble, descT); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * * MORSE_Alloc_Workspace_zheevd - Allocates workspace for MORSE_zheevd or MORSE_zheevd_Tile routine. * @@ -470,9 +485,9 @@ int MORSE_Alloc_Workspace_zheev(int M, int N, MORSE_desc_t **descT) { int MORSE_Alloc_Workspace_zheevd(int M, int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZHEEVD, MorseComplexDouble, descT); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * * MORSE_Alloc_Workspace_zhegv - Allocates workspace for MORSE_zhegv or MORSE_zhegv_Tile routine. * @@ -496,9 +511,9 @@ int MORSE_Alloc_Workspace_zheevd(int M, int N, MORSE_desc_t **descT) { int MORSE_Alloc_Workspace_zhegv(int M, int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZHEGV, MorseComplexDouble, descT); } -/***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * * MORSE_Alloc_Workspace_zhegvd - Allocates workspace for MORSE_zhegvd or MORSE_zhegvd_Tile routine. * @@ -522,9 +537,9 @@ int MORSE_Alloc_Workspace_zhegv(int M, int N, MORSE_desc_t **descT) { int MORSE_Alloc_Workspace_zhegvd(int M, int N, MORSE_desc_t **descT) { return morse_alloc_ibnb_tile(M, N, MORSE_FUNC_ZHEGVD, MorseComplexDouble, descT); } - /***************************************************************************//** +/** *************************************************************************** * - * @ingroup Auxiliary + * @ingroup Workspace * * MORSE_Alloc_Workspace_zhetrd - Allocates workspace for MORSE_zhetrd or MORSE_zhetrd_Tile routine. * diff --git a/coreblas/compute/core_dzasum.c b/coreblas/compute/core_dzasum.c index 440bfefd0e7d06a90151b5b1bd2368dc3d57bd0d..f0af36164ecc9ca098f87ad006250860851b8fb1 100644 --- a/coreblas/compute/core_dzasum.c +++ b/coreblas/compute/core_dzasum.c @@ -28,6 +28,13 @@ #include <math.h> #include "coreblas/include/coreblas.h" +/** + * + * @defgroup CORE_MORSE_Complex64_t + * @brief Linear algebra routines exposed to users. CPU functions. + * + */ + /***************************************************************************//** * * @ingroup CORE_MORSE_Complex64_t diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index c7d4213fa3e586942a70a04658b6b1c13e2313fd..12a5bd615bf0ad7c3cf64ee91ea72f4d3c3f2611 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -33,7 +33,7 @@ cmake_minimum_required(VERSION 2.8) # Compilation of documentation # # # ############################################# -#add_subdirectory(doxygen) +add_subdirectory(doxygen) add_subdirectory(texinfo) ### diff --git a/docs/doxygen/CMakeLists.txt b/docs/doxygen/CMakeLists.txt index b5761406b6ff37461234717c351b11522773223e..14034acf62605d977e8e810951e1a325a188cce5 100644 --- a/docs/doxygen/CMakeLists.txt +++ b/docs/doxygen/CMakeLists.txt @@ -35,40 +35,26 @@ find_package(Doxygen) # Generate documentation # ---------------------- if(DOXYGEN_EXECUTABLE) + # Create file chameleon.dox # --------------------------- - if(MORSE_SCHED_STARPU) - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../scratch) - configure_file("conf-dev-starpu.dox.in" - "chameleon.dox" - @ONLY) - else() - configure_file("conf-usr-starpu.dox.in" - "chameleon.dox" - @ONLY) - endif() + if(CHAMELEON_SCHED_STARPU) + + configure_file("conf-dev-starpu.dox.in" + "chameleon-dev.dox" + @ONLY) +# configure_file("conf-usr-starpu.dox.in" +# "chameleon-usr.dox" +# @ONLY) - elseif(MORSE_SCHED_QUARK) - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../scratch) - configure_file("conf-dev-quark.dox.in" - "chameleon.dox" - @ONLY) - else() - configure_file("conf-usr-quark.dox.in" - "chameleon.dox" - @ONLY) - endif() + elseif(CHAMELEON_SCHED_QUARK) - else() - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../scratch) - configure_file("conf-dev-starpu.dox.in" - "chameleon.dox" - @ONLY) - else() - configure_file("conf-usr-starpu.dox.in" - "chameleon.dox" - @ONLY) - endif() + configure_file("conf-dev-quark.dox.in" + "chameleon-dev.dox" + @ONLY) +# configure_file("conf-usr-quark.dox.in" +# "chameleon-usr.dox" +# @ONLY) endif() @@ -78,56 +64,27 @@ if(DOXYGEN_EXECUTABLE) # User's documentation # -------------------- - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/out + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/out-dev COMMAND ${DOXYGEN_EXECUTABLE} - ARGS ${CMAKE_CURRENT_BINARY_DIR}/chameleon.dox - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/chameleon.dox + ARGS ${CMAKE_CURRENT_BINARY_DIR}/chameleon-dev.dox + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/chameleon-dev.dox ) +# add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/out-usr +# COMMAND ${DOXYGEN_EXECUTABLE} +# ARGS ${CMAKE_CURRENT_BINARY_DIR}/chameleon-usr.dox +# DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/chameleon-usr.dox +# ) add_custom_target(doxygen-out ALL - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/out) - - # Compilation and installation for latex version - # ---------------------------------------------- - find_package(LATEX) - if(PDFLATEX_COMPILER AND MAKEINDEX_COMPILER) - # Message - # ------- - message(STATUS "Looking for pdflatex - found") - message(STATUS "Looking for makeindex - found") - - # Compile pdf - # ----------- - add_custom_command(OUTPUT refman.pdf - COMMAND ${CMAKE_MAKE_PROGRAM} - ARGS refman.pdf - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/out/latex - ) - add_custom_target(doxygen-user_guide-chameleon ALL - DEPENDS refman.pdf ${CMAKE_CURRENT_BINARY_DIR}/out) - - # Installation of produced pdf - # ---------------------------- - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../scratch) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/out/latex/refman.pdf - RENAME magma-morse-devguide-${MAGMA_VERSION_NUMBER}.pdf - DESTINATION share/chameleon/pdf) - else() - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/out/latex/refman.pdf - RENAME magma-morse-usersguide-${MAGMA_VERSION_NUMBER}.pdf - DESTINATION share/chameleon/pdf) - endif() - - endif() + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/out-dev + #${CMAKE_CURRENT_BINARY_DIR}/out-usr + ) # Installation for html version # ----------------------------- - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/out/html - DESTINATION share/chameleon/doxygen) - - # Installation for man version - # ---------------------------- - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/out/man - DESTINATION share/chameleon) + install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/out-dev/html + DESTINATION share/chameleon/doxygen/dev) +# install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/out-usr/html +# DESTINATION share/chameleon/doxygen/usr) else() message(STATUS "Looking for doxygen - not found") diff --git a/docs/doxygen/conf-dev-quark.dox.in b/docs/doxygen/conf-dev-quark.dox.in index 43c8d56f3ee0545d365987254f9ce651bfe13048..bb483d48417d9f874499f0ebb73eb84677dea9cc 100644 --- a/docs/doxygen/conf-dev-quark.dox.in +++ b/docs/doxygen/conf-dev-quark.dox.in @@ -38,7 +38,7 @@ PROJECT_NUMBER = @CHAMELEON_VERSION_NUMBER@ # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/out/ +OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/out-dev # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -298,7 +298,7 @@ SYMBOL_CACHE_SIZE = 0 # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES -EXTRACT_ALL = YES +EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. @@ -585,22 +585,17 @@ WARN_LOGFILE = # @CMAKE_CURRENT_SOURCE_DIR@/../../timing \ # @CMAKE_CURRENT_BINARY_DIR@/../../timing -INPUT = @CMAKE_CURRENT_SOURCE_DIR@/groups-dev.dox \ +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/main.dox \ @CMAKE_CURRENT_SOURCE_DIR@/../../include \ - @CMAKE_CURRENT_BINARY_DIR@/../../include \ - @CMAKE_CURRENT_SOURCE_DIR@/../../control \ - @CMAKE_CURRENT_BINARY_DIR@/../../control \ @CMAKE_CURRENT_SOURCE_DIR@/../../compute \ - @CMAKE_CURRENT_BINARY_DIR@/../../compute \ - @CMAKE_CURRENT_SOURCE_DIR@/../../coreblas/include \ - @CMAKE_CURRENT_BINARY_DIR@/../../coreblas/include \ - @CMAKE_CURRENT_SOURCE_DIR@/../../coreblas/compute \ - @CMAKE_CURRENT_BINARY_DIR@/../../coreblas \ - @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/quark/include \ - @CMAKE_CURRENT_BINARY_DIR@/../../runtime/quark/include \ - @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/quark/control \ - @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/quark/codelets \ - @CMAKE_CURRENT_BINARY_DIR@/../../runtime/quark + @CMAKE_CURRENT_SOURCE_DIR@/../../coreblas \ + @CMAKE_CURRENT_SOURCE_DIR@/../../control \ + @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/quark \ + @CMAKE_CURRENT_SOURCE_DIR@/../../simucore +# @CMAKE_CURRENT_BINARY_DIR@/../../include \ +# @CMAKE_CURRENT_BINARY_DIR@/../../compute \ +# @CMAKE_CURRENT_BINARY_DIR@/../../coreblas/ \ +# @CMAKE_CURRENT_BINARY_DIR@/../../runtime/quark # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -617,7 +612,7 @@ INPUT_ENCODING = UTF-8 # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 -FILE_PATTERNS = +FILE_PATTERNS = *.c # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. @@ -643,7 +638,7 @@ EXCLUDE_SYMLINKS = NO # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* -EXCLUDE_PATTERNS = +EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the @@ -881,7 +876,7 @@ HTML_DYNAMIC_SECTIONS = NO # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# See http:/developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. GENERATE_DOCSET = NO @@ -1104,7 +1099,7 @@ SERVER_BASED_SEARCH = NO # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. -GENERATE_LATEX = YES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be @@ -1232,7 +1227,7 @@ RTF_EXTENSIONS_FILE = # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages -GENERATE_MAN = YES +GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be diff --git a/docs/doxygen/conf-dev-starpu.dox.in b/docs/doxygen/conf-dev-starpu.dox.in index 6c5148f8104b2bfc5ddf3f37709a969b58eed63b..0609533c2dd0075dce416b77790b4a34774ef0fa 100644 --- a/docs/doxygen/conf-dev-starpu.dox.in +++ b/docs/doxygen/conf-dev-starpu.dox.in @@ -38,7 +38,7 @@ PROJECT_NUMBER = @CHAMELEON_VERSION_NUMBER@ # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/out/ +OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/out-dev # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -298,7 +298,7 @@ SYMBOL_CACHE_SIZE = 0 # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES -EXTRACT_ALL = YES +EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. @@ -585,22 +585,17 @@ WARN_LOGFILE = # @CMAKE_CURRENT_SOURCE_DIR@/../../timing \ # @CMAKE_CURRENT_BINARY_DIR@/../../timing -INPUT = @CMAKE_CURRENT_SOURCE_DIR@/groups-dev.dox \ - @CMAKE_CURRENT_SOURCE_DIR@/../../include \ - @CMAKE_CURRENT_BINARY_DIR@/../../include \ - @CMAKE_CURRENT_SOURCE_DIR@/../../control \ - @CMAKE_CURRENT_BINARY_DIR@/../../control \ - @CMAKE_CURRENT_SOURCE_DIR@/../../compute \ - @CMAKE_CURRENT_BINARY_DIR@/../../compute \ - @CMAKE_CURRENT_SOURCE_DIR@/../../coreblas/include \ - @CMAKE_CURRENT_BINARY_DIR@/../../coreblas/include \ - @CMAKE_CURRENT_SOURCE_DIR@/../../coreblas/compute \ - @CMAKE_CURRENT_BINARY_DIR@/../../coreblas \ - @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/starpu/include \ - @CMAKE_CURRENT_BINARY_DIR@/../../runtime/starpu/include \ - @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/starpu/control \ - @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/starpu/codelets \ - @CMAKE_CURRENT_BINARY_DIR@/../../runtime/starpu +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/main.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/../../include \ + @CMAKE_CURRENT_SOURCE_DIR@/../../compute \ + @CMAKE_CURRENT_SOURCE_DIR@/../../coreblas \ + @CMAKE_CURRENT_SOURCE_DIR@/../../control \ + @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/starpu \ + @CMAKE_CURRENT_SOURCE_DIR@/../../simucore +# @CMAKE_CURRENT_BINARY_DIR@/../../include \ +# @CMAKE_CURRENT_BINARY_DIR@/../../compute \ +# @CMAKE_CURRENT_BINARY_DIR@/../../coreblas/ \ +# @CMAKE_CURRENT_BINARY_DIR@/../../runtime/starpu # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -617,7 +612,7 @@ INPUT_ENCODING = UTF-8 # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 -FILE_PATTERNS = +FILE_PATTERNS = *.c # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. @@ -881,7 +876,7 @@ HTML_DYNAMIC_SECTIONS = NO # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# See http:/developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. GENERATE_DOCSET = NO @@ -1104,7 +1099,7 @@ SERVER_BASED_SEARCH = NO # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. -GENERATE_LATEX = YES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be @@ -1232,7 +1227,7 @@ RTF_EXTENSIONS_FILE = # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages -GENERATE_MAN = YES +GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be diff --git a/docs/doxygen/conf-usr-quark.dox.in b/docs/doxygen/conf-usr-quark.dox.in index 97bebf86bb082b43381052d672b9cdb63558a560..abada6612b60ff40ece0b016c61ae539b932532e 100644 --- a/docs/doxygen/conf-usr-quark.dox.in +++ b/docs/doxygen/conf-usr-quark.dox.in @@ -38,7 +38,7 @@ PROJECT_NUMBER = @CHAMELEON_VERSION_NUMBER@ # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/out/ +OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/out-usr # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -581,22 +581,17 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = @CMAKE_CURRENT_SOURCE_DIR@/groups-dev.dox \ +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/main.dox \ @CMAKE_CURRENT_SOURCE_DIR@/../../include \ - @CMAKE_CURRENT_BINARY_DIR@/../../include \ - @CMAKE_CURRENT_SOURCE_DIR@/../../control \ - @CMAKE_CURRENT_BINARY_DIR@/../../control \ @CMAKE_CURRENT_SOURCE_DIR@/../../compute \ - @CMAKE_CURRENT_BINARY_DIR@/../../compute \ - @CMAKE_CURRENT_SOURCE_DIR@/../../coreblas/include \ - @CMAKE_CURRENT_BINARY_DIR@/../../coreblas/include \ - @CMAKE_CURRENT_SOURCE_DIR@/../../coreblas/compute \ - @CMAKE_CURRENT_BINARY_DIR@/../../coreblas \ - @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/quark/include \ - @CMAKE_CURRENT_BINARY_DIR@/../../runtime/quark/include \ - @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/quark/control \ - @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/quark/codelets \ - @CMAKE_CURRENT_BINARY_DIR@/../../runtime/quark + @CMAKE_CURRENT_SOURCE_DIR@/../../coreblas \ + @CMAKE_CURRENT_SOURCE_DIR@/../../control \ + @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/quark \ + @CMAKE_CURRENT_SOURCE_DIR@/../../simucore +# @CMAKE_CURRENT_BINARY_DIR@/../../include \ +# @CMAKE_CURRENT_BINARY_DIR@/../../compute \ +# @CMAKE_CURRENT_BINARY_DIR@/../../coreblas/ \ +# @CMAKE_CURRENT_BINARY_DIR@/../../runtime/quark # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -613,7 +608,7 @@ INPUT_ENCODING = UTF-8 # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 -FILE_PATTERNS = +FILE_PATTERNS = *.c # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. @@ -877,7 +872,7 @@ HTML_DYNAMIC_SECTIONS = NO # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# See http:/developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. GENERATE_DOCSET = NO @@ -1100,7 +1095,7 @@ SERVER_BASED_SEARCH = NO # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. -GENERATE_LATEX = YES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be @@ -1227,8 +1222,8 @@ RTF_EXTENSIONS_FILE = # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages - -GENERATE_MAN = YES + +GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be diff --git a/docs/doxygen/conf-usr-starpu.dox.in b/docs/doxygen/conf-usr-starpu.dox.in index 63dd476b4f93453ef9c90c344d40d0d670299a9a..071edeb988a15964826321ef489be76b84cdffd7 100644 --- a/docs/doxygen/conf-usr-starpu.dox.in +++ b/docs/doxygen/conf-usr-starpu.dox.in @@ -38,7 +38,7 @@ PROJECT_NUMBER = @CHAMELEON_VERSION_NUMBER@ # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/out/ +OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/out-usr # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -581,22 +581,17 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = @CMAKE_CURRENT_SOURCE_DIR@/groups-dev.dox \ - @CMAKE_CURRENT_SOURCE_DIR@/../../include \ - @CMAKE_CURRENT_BINARY_DIR@/../../include \ - @CMAKE_CURRENT_SOURCE_DIR@/../../control \ - @CMAKE_CURRENT_BINARY_DIR@/../../control \ - @CMAKE_CURRENT_SOURCE_DIR@/../../compute \ - @CMAKE_CURRENT_BINARY_DIR@/../../compute \ - @CMAKE_CURRENT_SOURCE_DIR@/../../coreblas/include \ - @CMAKE_CURRENT_BINARY_DIR@/../../coreblas/include \ - @CMAKE_CURRENT_SOURCE_DIR@/../../coreblas/compute \ - @CMAKE_CURRENT_BINARY_DIR@/../../coreblas \ - @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/starpu/include \ - @CMAKE_CURRENT_BINARY_DIR@/../../runtime/starpu/include \ - @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/starpu/control \ - @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/starpu/codelets \ - @CMAKE_CURRENT_BINARY_DIR@/../../runtime/starpu +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/main.dox \ + @CMAKE_CURRENT_SOURCE_DIR@/../../include \ + @CMAKE_CURRENT_SOURCE_DIR@/../../compute \ + @CMAKE_CURRENT_SOURCE_DIR@/../../coreblas \ + @CMAKE_CURRENT_SOURCE_DIR@/../../control \ + @CMAKE_CURRENT_SOURCE_DIR@/../../runtime/starpu \ + @CMAKE_CURRENT_SOURCE_DIR@/../../simucore +# @CMAKE_CURRENT_BINARY_DIR@/../../include \ +# @CMAKE_CURRENT_BINARY_DIR@/../../compute \ +# @CMAKE_CURRENT_BINARY_DIR@/../../coreblas/ \ +# @CMAKE_CURRENT_BINARY_DIR@/../../runtime/starpu # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -613,7 +608,7 @@ INPUT_ENCODING = UTF-8 # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 -FILE_PATTERNS = +FILE_PATTERNS = *.c # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. @@ -877,7 +872,7 @@ HTML_DYNAMIC_SECTIONS = NO # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# See http:/developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. GENERATE_DOCSET = NO @@ -1100,7 +1095,7 @@ SERVER_BASED_SEARCH = NO # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. -GENERATE_LATEX = YES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be @@ -1227,8 +1222,8 @@ RTF_EXTENSIONS_FILE = # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages - -GENERATE_MAN = YES + +GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be diff --git a/docs/doxygen/main.dox b/docs/doxygen/main.dox new file mode 100644 index 0000000000000000000000000000000000000000..ef752aaa9896a051d6a0b3df23d94d73f9c68bc9 --- /dev/null +++ b/docs/doxygen/main.dox @@ -0,0 +1,20 @@ +/*! +@mainpage Chameleon, a dense linear algebra library for scalable multi-core architectures and GPGPUs + +This document aims at describing Chameleon's API and internal functions. + +@section sec_auxiliary Auxiliary and control routines +- @ref Auxiliary +- @ref Control +- @ref Descriptor +- @ref Options +- @ref Sequences +- @ref Tile +- @ref Workspace + +@section sec_linalg Linear algebra routines +- @ref MORSE_Complex64_t "LAPACK matrix layout" +- @ref MORSE_Complex64_t_Tile "Tile matrix layout" +- @ref MORSE_Complex64_t_Tile_Async "Tile matrix layout, asynchronous interface" + +*/ diff --git a/include/morse.h b/include/morse.h index 09e4907d99694e5a2c3e2b992faf9039a2f1501d..9f34a8eeb04693cffd8141bb027e9aae74a29df8 100644 --- a/include/morse.h +++ b/include/morse.h @@ -36,35 +36,34 @@ #define CHAMELEON_VERSION_MICRO 0 -/** **************************************************************************** +/* **************************************************************************** * MORSE types and constants - **/ -//#include "morse_mangling.h" + */ #include "morse_types.h" #include "morse_struct.h" #include "morse_constants.h" -/** **************************************************************************** +/* **************************************************************************** * RUNTIME Functions */ #include "runtime.h" -/** **************************************************************************** +/* **************************************************************************** * For Simulation mode */ #include "morse_simulate.h" -/** **************************************************************************** +/* **************************************************************************** * Set of routines which can be useful fo users */ #include "control/context.h" #include "control/descriptor.h" -/** **************************************************************************** +/* **************************************************************************** * MORSE Functions */ #ifdef __cplusplus @@ -73,10 +72,11 @@ extern "C" { /* Auxiliary */ int MORSE_Version (int *ver_major, int *ver_minor, int *ver_micro); +int MORSE_Element_Size(int type); +int MORSE_My_Mpi_Rank (void); int MORSE_Init (int nworkers, int ncudas); int MORSE_InitPar (int nworkers, int ncudas, int nthreads_per_worker); int MORSE_Finalize (void); -int MORSE_My_Mpi_Rank (void); int MORSE_Pause (void); int MORSE_Resume (void); int MORSE_Lapack_to_Tile (void *Af77, int LDA, MORSE_desc_t *A); diff --git a/include/morse_constants.h b/include/morse_constants.h index 4fa7a6c41e04d63eadf7b072b6c9a075ba414b7f..5c6b73a8503c107d67b8ba07bda7a4cc9144cefe 100644 --- a/include/morse_constants.h +++ b/include/morse_constants.h @@ -31,7 +31,7 @@ /** **************************************************************************** * * MORSE constants - CBLAS & LAPACK - * The naming and numbering is consisten with: + * The naming and numbering is consistent with: * * 1) CBLAS from Netlib (http://www.netlib.org/blas/blast-forum/cblas.tgz), * 2) C Interface to LAPACK from Netlib (http://www.netlib.org/lapack/lapwrapc/). diff --git a/include/morse_kernels.h b/include/morse_kernels.h index 6f7e2de8dc65b7dc5f3a374aa056cd346cbc9f12..0680893add97d4c6ca45f27cdf902ea3e3cf7cc5 100644 --- a/include/morse_kernels.h +++ b/include/morse_kernels.h @@ -26,6 +26,9 @@ #ifndef _MORSE_KERNELS_H_ #define _MORSE_KERNELS_H_ +/** **************************************************************************** + * Used to apply operations on specific kernels + **/ typedef enum morse_kernel_e { MORSE_GEMM,