Skip to content

Commit

Permalink
- separated umfpack-include from cflags
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@22036 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Marcus Walther committed Aug 28, 2014
1 parent 97b3a93 commit 528a33b
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 41 deletions.
6 changes: 3 additions & 3 deletions Compiler/Template/CodegenCpp.tpl
Expand Up @@ -1361,9 +1361,9 @@ case SIMCODE(modelInfo=MODELINFO(__), makefileParams=MAKEFILE_PARAMS(__), simula
# /DNOMINMAX - Define NOMINMAX (does what it says)
# /TP - Use C++ Compiler
!IF "$(PCH_FILE)" == ""
CFLAGS= $(SYSTEM_CFLAGS) /I"<%makefileParams.omhome%>/include/omc/cpp/Core/" /I"<%makefileParams.omhome%>/include/omc/cpp/" -I. <%makefileParams.includes%> -I"$(BOOST_INCLUDE)" /I. /DNOMINMAX /TP /DNO_INTERACTIVE_DEPENDENCY
CFLAGS= $(SYSTEM_CFLAGS) /I"<%makefileParams.omhome%>/include/omc/cpp/Core/" /I"<%makefileParams.omhome%>/include/omc/cpp/" /I. <%makefileParams.includes%> /I"$(BOOST_INCLUDE)" /I"$(SUITESPARSE_INCLUDE)" /DNOMINMAX /TP /DNO_INTERACTIVE_DEPENDENCY
!ELSE
CFLAGS= $(SYSTEM_CFLAGS) /I"<%makefileParams.omhome%>/include/omc/cpp/Core/" /I"<%makefileParams.omhome%>/include/omc/cpp/" -I. <%makefileParams.includes%> -I"$(BOOST_INCLUDE)" /I. /DNOMINMAX /TP /DNO_INTERACTIVE_DEPENDENCY /Fp<%makefileParams.omhome%>/include/omc/cpp/Core/$(PCH_FILE) /YuCore/$(H_FILE)
CFLAGS= $(SYSTEM_CFLAGS) /I"<%makefileParams.omhome%>/include/omc/cpp/Core/" /I"<%makefileParams.omhome%>/include/omc/cpp/" /I. <%makefileParams.includes%> /I"$(BOOST_INCLUDE)" /I"$(SUITESPARSE_INCLUDE)" /DNOMINMAX /TP /DNO_INTERACTIVE_DEPENDENCY /Fp<%makefileParams.omhome%>/include/omc/cpp/Core/$(PCH_FILE) /YuCore/$(H_FILE)
!ENDIF
CPPFLAGS =
# /ZI enable Edit and Continue debug info
Expand Down Expand Up @@ -1425,7 +1425,7 @@ LINK=<%makefileParams.linker%>
EXEEXT=<%makefileParams.exeext%>
DLLEXT=<%makefileParams.dllext%>
CFLAGS_BASED_ON_INIT_FILE=<%extraCflags%>
CFLAGS=$(CFLAGS_BASED_ON_INIT_FILE) -Winvalid-pch $(SYSTEM_CFLAGS) -I"<%makefileParams.omhome%>/include/omc/cpp/Core" -I"<%makefileParams.omhome%>/include/omc/cpp/" -I. <%makefileParams.includes%> -I"$(BOOST_INCLUDE)" <%makefileParams.includes ; separator=" "%> <%match sopt case SOME(s as SIMULATION_SETTINGS(__)) then s.cflags %>
CFLAGS=$(CFLAGS_BASED_ON_INIT_FILE) -Winvalid-pch $(SYSTEM_CFLAGS) -I"<%makefileParams.omhome%>/include/omc/cpp/Core" -I"<%makefileParams.omhome%>/include/omc/cpp/" -I. <%makefileParams.includes%> -I"$(BOOST_INCLUDE)" -I"$(SUITESPARSE_INCLUDE)" <%makefileParams.includes ; separator=" "%> <%match sopt case SOME(s as SIMULATION_SETTINGS(__)) then s.cflags %>
LDSYTEMFLAGS=-L"<%makefileParams.omhome%>/lib/omc/cpp" $(BASE_LIB) -lOMCppOMCFactory -lOMCppSystem -lOMCppModelicaUtilities -lOMCppMath <%timeMeasureLink%> -L"$(BOOST_LIBS)" $(BOOST_SYSTEM_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) $(BOOST_LOG_LIB) $(BOOST_THREAD_LIB) $(LINUX_LIB_DL)
LDMAINFLAGS=-L"<%makefileParams.omhome%>/lib/omc/cpp" -L"<%makefileParams.omhome%>/bin" -lOMCppOMCFactory <%timeMeasureLink%> -L"$(BOOST_LIBS)" $(BOOST_SYSTEM_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) $(LINUX_LIB_DL)
CPPFLAGS = $(CFLAGS)
Expand Down
46 changes: 11 additions & 35 deletions Compiler/Template/CodegenCppHpcom.tpl
Expand Up @@ -852,6 +852,7 @@ template update2(list<SimEqSystem> allEquationsPlusWhen, list<list<SimEqSystem>>
>>
case SOME(hpcOmSchedule as LEVELSCHEDULE(__)) then
let odeEqs = hpcOmSchedule.tasksOfLevels |> tasks => function_HPCOM_Level(allEquationsPlusWhen, tasks, type, &varDecls, simCode, useFlatArrayNotation); separator="\n"
//let valid = hpcOmSchedule.haveAllTasksValidThreadIdx(tasks);
match type
case ("mixed") then
<<
Expand All @@ -860,30 +861,15 @@ template update2(list<SimEqSystem> allEquationsPlusWhen, list<list<SimEqSystem>>

void <%lastIdentOfPath(name)%>::evaluateThreadFunc0()
{
//if (omp_get_dynamic())
// omp_set_dynamic(0);
<%varDecls%>
#pragma omp parallel num_threads(<%intSub(getConfigInt(NUM_PROC),1)%>)
{
while(!finished)
{
#ifdef MEASURE_PAPI
int event[NUM_EVENTS] = {PAPI_L2_TCM};
long long values[NUM_EVENTS];
#endif

#pragma omp master
{
<%function_HPCOM_assignLock("startEvaluateLock","","pthreads")%>
#ifdef MEASURE_PAPI
/* Start counting events */
if (PAPI_start_counters(event, NUM_EVENTS) != PAPI_OK) {
fprintf(stderr, "PAPI_start_counters - FAILED\n");
exit(1);
}
#endif
}

#pragma omp barrier
Expand All @@ -892,30 +878,15 @@ template update2(list<SimEqSystem> allEquationsPlusWhen, list<list<SimEqSystem>>
<%function_HPCOM_releaseLock("finishedEvaluateLock","","pthreads")%>
break;
}

<%odeEqs%>

#pragma omp barrier

#pragma omp master
{
#ifdef MEASURE_PAPI
/* Read the counters */
if (PAPI_read_counters(values, NUM_EVENTS) != PAPI_OK) {
fprintf(stderr, "PAPI_read_counters - FAILED\n");
exit(1);
}
std::cerr << "L2 Cache misses: " << values[0] << std::endl;

/* Stop counting events */
if (PAPI_stop_counters(values, NUM_EVENTS) != PAPI_OK) {
fprintf(stderr, "PAPI_stoped_counters - FAILED\n");
exit(1);
}
#endif
<%function_HPCOM_releaseLock("finishedEvaluateLock","","pthreads")%>
}


}
}
}
Expand All @@ -924,6 +895,8 @@ template update2(list<SimEqSystem> allEquationsPlusWhen, list<list<SimEqSystem>>
{
if(firstRun)
{
if (omp_get_dynamic())
omp_set_dynamic(0);
firstRun = false;
<%generateThread(0, "pthreads", modelNamePrefixStr, "evaluateThreadFunc")%>
}
Expand Down Expand Up @@ -1584,9 +1557,12 @@ case SIMCODE(modelInfo=MODELINFO(__), makefileParams=MAKEFILE_PARAMS(__), simula
# /I - Include Directories
# /DNOMINMAX - Define NOMINMAX (does what it says)
# /TP - Use C++ Compiler
CFLAGS= /ZI /Od /EHa /MP /fp:except /I"<%makefileParams.omhome%>/include/omc/cpp/Core/" /I"<%makefileParams.omhome%>/include/omc/cpp/" -I. <%makefileParams.includes%> -I"$(BOOST_INCLUDE)" /I. /DNOMINMAX /TP /DNO_INTERACTIVE_DEPENDENCY <%extraHPCOMflags%>

CPPFLAGS = /DOMC_BUILD
!IF "$(PCH_FILE)" == ""
CFLAGS= $(SYSTEM_CFLAGS) /I"<%makefileParams.omhome%>/include/omc/cpp/Core/" /I"<%makefileParams.omhome%>/include/omc/cpp/" /I. <%makefileParams.includes%> /I"$(BOOST_INCLUDE)" /I"$(SUITESPARSE_INCLUDE)" /DNOMINMAX /TP /DNO_INTERACTIVE_DEPENDENCY
!ELSE
CFLAGS= $(SYSTEM_CFLAGS) /I"<%makefileParams.omhome%>/include/omc/cpp/Core/" /I"<%makefileParams.omhome%>/include/omc/cpp/" /I. <%makefileParams.includes%> /I"$(BOOST_INCLUDE)" /I"$(SUITESPARSE_INCLUDE)" /DNOMINMAX /TP /DNO_INTERACTIVE_DEPENDENCY /Fp<%makefileParams.omhome%>/include/omc/cpp/Core/$(PCH_FILE) /YuCore/$(H_FILE)
!ENDIF
CPPFLAGS =
# /ZI enable Edit and Continue debug info
CDFLAGS = /ZI

Expand Down Expand Up @@ -1653,7 +1629,7 @@ LINK=<%makefileParams.linker%>
EXEEXT=<%makefileParams.exeext%>
DLLEXT=<%makefileParams.dllext%>
CFLAGS_BASED_ON_INIT_FILE=<%_extraCflags%> # -I"<%makefileParams.omhome%>/../SimulationRuntime/cpp" -I"<%makefileParams.omhome%>/../SimulationRuntime/cpp/Core" -I"<%makefileParams.omhome%>/../SimulationRuntime/cpp/Include/SimCoreFactory" -I"<%makefileParams.omhome%>/../SimulationRuntime/cpp/Include/Core"
CFLAGS=$(CFLAGS_BASED_ON_INIT_FILE) -Winvalid-pch $(SYSTEM_CFLAGS) -I"<%makefileParams.omhome%>/include/omc/cpp/Core" -I"<%makefileParams.omhome%>/include/omc/cpp/" -I. <%makefileParams.includes%> -I"$(BOOST_INCLUDE)" <%makefileParams.includes ; separator=" "%> <%match sopt case SOME(s as SIMULATION_SETTINGS(__)) then s.cflags %>
CFLAGS=$(CFLAGS_BASED_ON_INIT_FILE) -Winvalid-pch $(SYSTEM_CFLAGS) -I"<%makefileParams.omhome%>/include/omc/cpp/Core" -I"<%makefileParams.omhome%>/include/omc/cpp/" -I. <%makefileParams.includes%> -I"$(BOOST_INCLUDE)" -I"$(SUITESPARSE_INCLUDE)" <%makefileParams.includes ; separator=" "%> <%match sopt case SOME(s as SIMULATION_SETTINGS(__)) then s.cflags %>
LDSYTEMFLAGS=-L"<%makefileParams.omhome%>/lib/omc/cpp" $(BASE_LIB) -lOMCppOMCFactory -lOMCppSystem -lOMCppModelicaUtilities -lOMCppMath -L"$(BOOST_LIBS)" $(BOOST_SYSTEM_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) $(BOOST_LOG_LIB) $(BOOST_THREAD_LIB) $(LINUX_LIB_DL)
CPP_RUNTIME_LIBS=<%analyzationLibs%>
LDMAINFLAGS=-L"<%makefileParams.omhome%>/lib/omc/cpp" -L"<%makefileParams.omhome%>/bin" -lOMCppOMCFactory -L"$(BOOST_LIBS)" <%schedulerLibs%> <%analyzationLibs%> $(BOOST_SYSTEM_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) $(LINUX_LIB_DL)
Expand Down
4 changes: 2 additions & 2 deletions SimulationRuntime/cpp/CMakeLists.txt
Expand Up @@ -222,10 +222,10 @@ IF(SuiteSparse_found)
message(STATUS "Using UmfPack")
include_directories(${SUITESPARSE_INCLUDE_DIRS})
add_definitions(-DUSE_UMFPACK)
SET(SUITESPARSE_INCLUDE_FLAG "-I${SUITESPARSE_INCLUDE_DIRS}")
SET(SUITESPARSE_INCLUDE ${SUITESPARSE_INCLUDE_DIRS})
ELSE()
message(STATUS "UmfPack disabled")
SET(SUITESPARSE_INCLUDE_FLAG "")
SET(SUITESPARSE_INCLUDE "")
ENDIF()

#Mico corba
Expand Down
3 changes: 2 additions & 1 deletion SimulationRuntime/cpp/Core/Modelica/ModelicaConfig.inc.in
Expand Up @@ -12,6 +12,8 @@ SUNDIALS_LIBS = @SUNDIALS_LIBS_@
SUNDIALS_INCLUDE= @SUNDIALS_INCLUDE_DIR@
LAPACK_LIBS = @LAPACK_LIBRARIES_@

SUITESPARSE_INCLUDE = @SUITESPARSE_INCLUDE@

MODELICA_SYSTEM_LIB_EXT = @MODELICA_SYSTEM_LIB_EXT@
FMI_ARCH_DIR = @FMI_ARCH_DIR@
LINUX_LIB_DL = @LINUX_LIB_DL@
Expand All @@ -20,5 +22,4 @@ PCH_FILE = @PCH_FILE@
H_FILE = @H_FILE@
BUILD_TYPE = @BUILD_TYPE@
SYSTEM_CFLAGS = @SYSTEM_CFLAGS@
SYSTEM_CFLAGS += @SUITESPARSE_INCLUDE_FLAG@
ADDITIONAL_DEFINES = @ADDITIONAL_DEFINES@

0 comments on commit 528a33b

Please sign in to comment.