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:
- build
- chameleon_openmp.log
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
test_starpu_branches:
......
......@@ -897,20 +897,14 @@ if( CHAMELEON_SCHED_QUARK )
endif()
if( CHAMELEON_SCHED_OPENMP )
# 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})
find_package(OpenMP REQUIRED)
if ( OPENMP_FOUND )
message("-- ${Blue}Add definition CHAMELEON_SCHED_OPENMP"
" - Activate OpenMP in Chameleon${ColourReset}")
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"
else ( OPENMP_FOUND )
message(FATAL_ERROR "Something went wrong when finding OpenMP")
......
......@@ -85,6 +85,7 @@ precisions_rules_py(RUNTIME_SRCS_GENERATED "${ZSRC}"
set(RUNTIME_SRCS
${RUNTIME_COMMON}
${RUNTIME_SRCS_GENERATED}
${CODELETS_SRC}
)
# 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_ )
PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS );
PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDA, N, N );
PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, check, CHAMELEON_Complex64_t, ChamComplexDouble, LDB, N, NRHS );
CHAMELEON_zplghe_Tile( (double)N, ChamUpperLower, descA, 51 );
/* Initialize data and save A if check */
if ( check ) {
......
......@@ -728,6 +728,7 @@ CHAMELEON_Main(int *iparam, char *prog_name, int start, int stop, int step) {
if (status != CHAMELEON_SUCCESS) return status;
success += status;
}
return success;
}
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