Mentions légales du service

Skip to content
Snippets Groups Projects
Commit beadac2a authored by Philippe Virouleau's avatar Philippe Virouleau
Browse files

Fix CI

parent 2f0e695e
No related branches found
No related tags found
1 merge request!108Add OpenMP runtime for codelets
...@@ -102,7 +102,7 @@ build_openmp: ...@@ -102,7 +102,7 @@ build_openmp:
- build - build
- chameleon_openmp.log - chameleon_openmp.log
variables: variables:
BUILD_OPTIONS: "-DCHAMELEON_SCHED_OPENMP=ON" BUILD_OPTIONS: "-DCHAMELEON_SCHED_OPENMP=ON -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++"
VERSION: openmp VERSION: openmp
test_starpu_branches: test_starpu_branches:
......
...@@ -897,20 +897,14 @@ if( CHAMELEON_SCHED_QUARK ) ...@@ -897,20 +897,14 @@ if( CHAMELEON_SCHED_QUARK )
endif() endif()
if( CHAMELEON_SCHED_OPENMP ) if( CHAMELEON_SCHED_OPENMP )
find_package(OpenMP REQUIRED)
# create list of components in order to make a single call to find_package(starpu...)
set(OPENMP_COMPONENT_LIST "HWLOC")
if(CHAMELEON_USE_CUDA)
list(APPEND OPENMP_COMPONENT_LIST "CUDA")
endif()
find_package(OpenMP COMPONENTS ${OPENMP_COMPONENT_LIST})
if ( OPENMP_FOUND ) if ( OPENMP_FOUND )
message("-- ${Blue}Add definition CHAMELEON_SCHED_OPENMP" message("-- ${Blue}Add definition CHAMELEON_SCHED_OPENMP"
" - Activate OpenMP in Chameleon${ColourReset}") " - Activate OpenMP in Chameleon${ColourReset}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_CXX_FLAGS}") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${OpenMP_Fortran_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_C_FLAGS}")
# TODO: check for compiler support for "_Pragma" # TODO: check for compiler support for "_Pragma"
else ( OPENMP_FOUND ) else ( OPENMP_FOUND )
message(FATAL_ERROR "Something went wrong when finding OpenMP") message(FATAL_ERROR "Something went wrong when finding OpenMP")
......
...@@ -85,6 +85,7 @@ precisions_rules_py(RUNTIME_SRCS_GENERATED "${ZSRC}" ...@@ -85,6 +85,7 @@ precisions_rules_py(RUNTIME_SRCS_GENERATED "${ZSRC}"
set(RUNTIME_SRCS set(RUNTIME_SRCS
${RUNTIME_COMMON} ${RUNTIME_COMMON}
${RUNTIME_SRCS_GENERATED} ${RUNTIME_SRCS_GENERATED}
${CODELETS_SRC}
) )
# Force generation of sources # Force generation of sources
......
/**
*
* @file quark/codelet_map.c
*
* @copyright 2018-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved.
*
***
*
* @brief Chameleon map Quark codelet
*
* @version 1.0.0
* @author Mathieu Faverge
* @date 2018-09-24
*
*/
#include "chameleon_openmp.h"
void INSERT_TASK_map( const RUNTIME_option_t *options,
cham_uplo_t uplo, const CHAM_desc_t *A, int Am, int An,
cham_unary_operator_t operator, void *op_args )
{
char *ptrA = RTBLKADDR( A, char, Am, An );
#pragma omp task depend(inout: ptrA[0])
{
operator( A, uplo, Am, An, ptrA, op_args );
}
}
...@@ -37,7 +37,6 @@ RunTest( int *iparam, double *dparam, chameleon_time_t *t_ ) ...@@ -37,7 +37,6 @@ RunTest( int *iparam, double *dparam, chameleon_time_t *t_ )
PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS ); PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS );
PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N ); PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N );
PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS ); PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS );
CHAMELEON_zplghe_Tile( (double)N, ChamUpperLower, descA, 51 );
/* Initialize data and save A if check */ /* Initialize data and save A if check */
if ( check ) { if ( check ) {
......
...@@ -728,6 +728,7 @@ CHAMELEON_Main(int *iparam, char *prog_name, int start, int stop, int step) { ...@@ -728,6 +728,7 @@ CHAMELEON_Main(int *iparam, char *prog_name, int start, int stop, int step) {
if (status != CHAMELEON_SUCCESS) return status; if (status != CHAMELEON_SUCCESS) return status;
success += status; success += status;
} }
return success;
} }
int int
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment