#ifndef HWINFO_H
#define HWINFO_H
-#include "types/simple.h"
-#include "types/nbnxn_cuda_types_ext.h"
-#include "gmx_cpuid.h"
+#include "simple.h"
+#include "nbnxn_cuda_types_ext.h"
+#include "../gmx_cpuid.h"
#ifdef __cplusplus
extern "C" {
#ifndef _ifunc_h
#define _ifunc_h
-#include "types/idef.h"
-#include "types/mdatom.h"
-#include "types/fcdata.h"
-#include "types/graph.h"
-#include "types/pbc.h"
+#include "idef.h"
+#include "mdatom.h"
+#include "fcdata.h"
+#include "graph.h"
+#include "pbc.h"
#ifdef __cplusplus
extern "C" {
set_target_properties(mdrun PROPERTIES LINK_FLAGS "/NODEFAULTLIB:LIBCMT")
endif()
-# Construct component groups for installation
-foreach(PROGRAM ${GMX_KERNEL_PROGRAMS} mdrun)
+# Construct component groups for installation; note that a component may
+# belong to only one group
+foreach(PROGRAM ${GMX_KERNEL_PROGRAMS})
set(CPACK_COMPONENT_${PROGRAM}_GROUP tools)
endforeach()
set(CPACK_COMPONENT_MDRUN_GROUP mdrun)
-# Create custom install-xxxx targets, component dependences,
-# and trigger the installation
foreach(PROGRAM ${GMX_KERNEL_PROGRAMS} mdrun)
- set(CPACK_COMPONENT_${PROGRAM}_DEPENDS libraries)
+ # Manage CPack component dependencies
+ set(CPACK_COMPONENT_${PROGRAM}_DEPENDS libraries libraries-gmxpreprocess)
+
+ # Create custom install-xxxx target
if (BUILD_SHARED_LIBS)
# If shared libraries are used, we need to install the libraries in
# addition to the mdrun binary.
add_custom_target(install-${PROGRAM}
COMMAND ${CMAKE_COMMAND} -DCOMPONENT=libraries
-P ${CMAKE_BINARY_DIR}/cmake_install.cmake
+ COMMAND ${CMAKE_COMMAND} -DCOMPONENT=libraries-gmxpreprocess
+ -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
COMMAND ${CMAKE_COMMAND} -DCOMPONENT=${PROGRAM}
-P ${CMAKE_BINARY_DIR}/cmake_install.cmake
COMMENT "Installing ${PROGRAM}")
COMMENT "Installing ${PROGRAM}")
endif()
add_dependencies(install-${PROGRAM} ${PROGRAM})
+
+ # Finally, trigger installation
install(
TARGETS ${PROGRAM}
COMPONENT ${PROGRAM}
)
endforeach()
-install(TARGETS gmxpreprocess DESTINATION ${LIB_INSTALL_DIR} COMPONENT libraries)
+install(TARGETS gmxpreprocess DESTINATION ${LIB_INSTALL_DIR} COMPONENT libraries-gmxpreprocess)
endif(GMX_FAHCORE)
#include "mtop_util.h"
#include "gmxfio.h"
#include "gmx_omp_nthreads.h"
+#include "gmx_omp.h"
typedef struct {
int b0; /* first constraint for this thread */
}
/* The (only) OpenMP parallel region of constrain_lincs */
+#pragma omp parallel num_threads(lincsd->nth)
{
- int th;
-
-#pragma omp parallel for num_threads(lincsd->nth) schedule(static)
- for(th=0; th<lincsd->nth; th++)
- {
- do_lincs(x,xprime,box,pbc,lincsd,th,
- md->invmass,cr,
- bCalcVir || (ir->efep != efepNO),
- ir->LincsWarnAngle,&warn,
- invdt,v,bCalcVir,rmdr);
- }
+ int th=gmx_omp_get_thread_num();
+ do_lincs(x,xprime,box,pbc,lincsd,th,
+ md->invmass,cr,
+ bCalcVir || (ir->efep != efepNO),
+ ir->LincsWarnAngle,&warn,
+ invdt,v,bCalcVir,rmdr);
}
if (ir->efep != efepNO)
#include "gmx_parallel_3dfft.h"
#include "pdbio.h"
#include "gmx_cyclecounter.h"
+#include "gmx_omp.h"
/* Single precision, with SSE2 or higher available */
#if defined(GMX_X86_SSE2) && !defined(GMX_DOUBLE)
}
/* Here we start a large thread parallel region */
-#pragma omp parallel for num_threads(pme->nthread) schedule(static)
- for(thread=0; thread<pme->nthread; thread++)
+#pragma omp parallel num_threads(pme->nthread) private(thread)
{
+ thread=gmx_omp_get_thread_num();
if (flags & GMX_PME_SOLVE)
{
int loop_count;
gmx_add_man_page(${TOOL})
endif()
- # Create custom install-xxxx targets, manage components and
- # component groups, and trigger the installation
- set(CPACK_COMPONENT_${TOOL}_DEPENDS libraries)
+ # Manage CPack component dependencies, and group membership; note that
+ # a component may belong to only one group
+ set(CPACK_COMPONENT_${TOOL}_DEPENDS libraries libraries-gmxana)
set(CPACK_COMPONENT_${TOOL}_GROUP tools)
+
+ # Create custom install-xxxx target
if (BUILD_SHARED_LIBS)
# If shared libraries are used, we need to install the libraries in
# addition to the tool binary.
add_custom_target(install-${TOOL}
COMMAND ${CMAKE_COMMAND} -DCOMPONENT=libraries
-P ${CMAKE_BINARY_DIR}/cmake_install.cmake
+ COMMAND ${CMAKE_COMMAND} -DCOMPONENT=libraries-gmxana
+ -P ${CMAKE_BINARY_DIR}/cmake_install.cmake
COMMAND ${CMAKE_COMMAND} -DCOMPONENT=${TOOL}
-P ${CMAKE_BINARY_DIR}/cmake_install.cmake
COMMENT "Installing ${TOOL}")
COMMENT "Installing ${TOOL}")
endif()
add_dependencies(install-${TOOL} ${TOOL})
+
+ # Finally, trigger installation
install(
TARGETS ${TOOL}
COMPONENT ${TOOL}
)
endforeach()
-install(TARGETS gmxana DESTINATION ${LIB_INSTALL_DIR} COMPONENT libraries)
+install(TARGETS gmxana DESTINATION ${LIB_INSTALL_DIR} COMPONENT libraries-gmxana)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libgmxana.pc.cmakein ${CMAKE_CURRENT_BINARY_DIR}/libgmxana.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libgmxana.pc