diff options
author | Nikolai Lifanov <lifanov@FreeBSD.org> | 2017-01-31 23:37:58 +0000 |
---|---|---|
committer | Nikolai Lifanov <lifanov@FreeBSD.org> | 2017-01-31 23:37:58 +0000 |
commit | be3b7a5a79592ff870d11ecffa66663034a42954 (patch) | |
tree | eaacd02cf8a1495ed17b34e3fc212afc39018ff7 | |
parent | 54e90b862c948ceb66ef13ee8e88e28ab73dc8d7 (diff) | |
download | freebsd-ports-be3b7a5a79592ff870d11ecffa66663034a42954.zip |
add science/libgeodecomp - auto-parallelizing library for computer simulations
LibGeoDecomp (Library for Geometric Decomposition codes) is an
auto-parallelizing library for computer simulations. It is specifically targeted
computational science applications in the context of supercomputers and
heterogeneous systems. The library eases development of such tightly coupled
codes by essentially taking over the parallel programming: it handles both, the
parallelization itself and parameter tuning. This enables scientists to focus on
their simulation code, rather than the technical details of the parallel
computer.
PR: 213688
Submitted by: Kurt Kanzenbach <kurt@kmk-computers.de>
Reviewed by: matthew
Approved by: matthew (mentor)
Differential Revision: https://reviews.freebsd.org/D9390
-rw-r--r-- | science/Makefile | 1 | ||||
-rw-r--r-- | science/libgeodecomp/Makefile | 43 | ||||
-rw-r--r-- | science/libgeodecomp/distinfo | 3 | ||||
-rw-r--r-- | science/libgeodecomp/files/patch-lib_libflatarray_src_aligned__allocator.hpp | 16 | ||||
-rw-r--r-- | science/libgeodecomp/files/patch-src_CMakeLists.txt | 11 | ||||
-rw-r--r-- | science/libgeodecomp/pkg-descr | 10 | ||||
-rw-r--r-- | science/libgeodecomp/pkg-plist | 195 |
7 files changed, 279 insertions, 0 deletions
diff --git a/science/Makefile b/science/Makefile index 9468c16b376e..2c39cbee4948 100644 --- a/science/Makefile +++ b/science/Makefile @@ -70,6 +70,7 @@ SUBDIR += lamprop SUBDIR += libaec SUBDIR += libctl + SUBDIR += libgeodecomp SUBDIR += libghemical SUBDIR += libint SUBDIR += libkml diff --git a/science/libgeodecomp/Makefile b/science/libgeodecomp/Makefile new file mode 100644 index 000000000000..559bb8b8555e --- /dev/null +++ b/science/libgeodecomp/Makefile @@ -0,0 +1,43 @@ +# Created by: Kurt Kanzenbach <kurt@kmk-computers.de> +# $FreeBSD$ + +PORTNAME= libgeodecomp +PORTVERSION= 0.4.0 +CATEGORIES= science devel +MASTER_SITES= http://www.libgeodecomp.org/archive/ + +MAINTAINER= kurt@kmk-computers.de +COMMENT= LibGeoDecomp is an auto-parallelizing library for computer simulations + +LICENSE= BSL +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libboost_system.so:devel/boost-libs libboost_date_time.so:devel/boost-libs \ + libboost_filesystem.so:devel/boost-libs + +USES= cmake:outsource compiler:c++11-lib +USE_GCC= yes +USE_LDCONFIG= yes + +CMAKE_ARGS= -DWITH_CUDA:BOOL=FALSE -DWITH_VISIT:BOOL=FALSE \ + -DWITH_HPX:BOOL=FALSE -DWITH_OPENCL:BOOL=FALSE \ + -DWITH_OPENCV:BOOL=FALSE -DWITH_TYPEMAPS=FALSE + +OPTIONS_DEFINE= MPI QT4 SILO SCOTCH +OPTIONS_DEFAULT= MPI QT4 SILO SCOTCH + +MPI_LIB_DEPENDS= libmpich.so:net/mpich2 +MPI_CMAKE_BOOL= WITH_MPI + +QT4_USE= QT4=corelib,gui,opengl,qmake_build,moc_build,rcc_build,uic_build +QT4_CMAKE_BOOL= WITH_QT + +SILO_DESC= Enable Silo dependend output +SILO_LIB_DEPENDS= libsiloh5.so:science/silo +SILO_CMAKE_BOOL= WITH_SILO + +SCOTCH_DESC= Enable graph partitioning based on Scotch/Scotch-PT +SCOTCH_BUILD_DEPENDS= ${LOCALBASE}/lib/libscotch.a:cad/scotch +SCOTCH_CMAKE_BOOL= WITH_SCOTCH + +.include <bsd.port.mk> diff --git a/science/libgeodecomp/distinfo b/science/libgeodecomp/distinfo new file mode 100644 index 000000000000..525892f3eea5 --- /dev/null +++ b/science/libgeodecomp/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1476973737 +SHA256 (libgeodecomp-0.4.0.tar.gz) = f1a4fbc0c04952a148cbe186f36fc9e2307f7b0ecaf6960b56f2135ca3b8fa4e +SIZE (libgeodecomp-0.4.0.tar.gz) = 1022767 diff --git a/science/libgeodecomp/files/patch-lib_libflatarray_src_aligned__allocator.hpp b/science/libgeodecomp/files/patch-lib_libflatarray_src_aligned__allocator.hpp new file mode 100644 index 000000000000..2bfd33d2287f --- /dev/null +++ b/science/libgeodecomp/files/patch-lib_libflatarray_src_aligned__allocator.hpp @@ -0,0 +1,16 @@ +--- lib/libflatarray/src/aligned_allocator.hpp.orig 2014-10-28 09:12:48 UTC ++++ lib/libflatarray/src/aligned_allocator.hpp +@@ -8,13 +8,7 @@ + #ifndef FLAT_ARRAY_ALIGNED_ALLOCATOR_HPP + #define FLAT_ARRAY_ALIGNED_ALLOCATOR_HPP + +-#ifdef __APPLE__ + #include <cstddef> +-#include <stdlib.h> +-#else +-#include <malloc.h> +-#endif +- + #include <memory> + + namespace LibFlatArray { diff --git a/science/libgeodecomp/files/patch-src_CMakeLists.txt b/science/libgeodecomp/files/patch-src_CMakeLists.txt new file mode 100644 index 000000000000..d6718ef83895 --- /dev/null +++ b/science/libgeodecomp/files/patch-src_CMakeLists.txt @@ -0,0 +1,11 @@ +--- src/CMakeLists.txt.orig 2016-10-17 18:06:32 UTC ++++ src/CMakeLists.txt +@@ -575,7 +575,7 @@ Version: ${PACKAGE_VERSION} + Libs: ${INSTALLER_LINK_FLAGS} + Cflags: -I${CMAKE_INSTALL_PREFIX}/include ${PKG_CONFIG_INCLUDE_FLAGS} + ") +-install(FILES "${CMAKE_BINARY_DIR}/${PACKAGE_NAME}.pc" DESTINATION "${LIB_DIR}/pkgconfig") ++install(FILES "${CMAKE_BINARY_DIR}/${PACKAGE_NAME}.pc" DESTINATION "libdata/pkgconfig") + + set(ConfigPackageLocation lib/cmake/${PACKAGE_NAME}) + diff --git a/science/libgeodecomp/pkg-descr b/science/libgeodecomp/pkg-descr new file mode 100644 index 000000000000..966abd2dabd9 --- /dev/null +++ b/science/libgeodecomp/pkg-descr @@ -0,0 +1,10 @@ +LibGeoDecomp (Library for Geometric Decomposition codes) is an +auto-parallelizing library for computer simulations. It is specifically targeted +computational science applications in the context of supercomputers and +heterogeneous systems. The library eases development of such tightly coupled +codes by essentially taking over the parallel programming: it handles both, the +parallelization itself and parameter tuning. This enables scientists to focus on +their simulation code, rather than the technical details of the parallel +computer. + +WWW: http://www.libgeodecomp.org/ diff --git a/science/libgeodecomp/pkg-plist b/science/libgeodecomp/pkg-plist new file mode 100644 index 000000000000..f1c2eedad397 --- /dev/null +++ b/science/libgeodecomp/pkg-plist @@ -0,0 +1,195 @@ +include/libflatarray/aggregated_member_size.hpp +include/libflatarray/aligned_allocator.hpp +include/libflatarray/api_traits.hpp +include/libflatarray/coord.hpp +include/libflatarray/cuda_allocator.hpp +include/libflatarray/detail/dual_callback_helper.hpp +include/libflatarray/detail/get_set_instance_functor.hpp +include/libflatarray/detail/load_save_functor.hpp +include/libflatarray/detail/macros.hpp +include/libflatarray/detail/offset.hpp +include/libflatarray/detail/set_byte_size_functor.hpp +include/libflatarray/detail/short_vec_avx_float_8.hpp +include/libflatarray/detail/short_vec_qpx_double_4.hpp +include/libflatarray/detail/short_vec_sse_double_8.hpp +include/libflatarray/detail/short_vec_sse_float_16.hpp +include/libflatarray/detail/short_vec_sse_float_8.hpp +include/libflatarray/detail/sqrt_reference.hpp +include/libflatarray/flat_array.hpp +include/libflatarray/macros.hpp +include/libflatarray/member_ptr_to_offset.hpp +include/libflatarray/number_of_members.hpp +include/libflatarray/short_vec.hpp +include/libflatarray/soa_accessor.hpp +include/libflatarray/soa_array.hpp +include/libflatarray/soa_grid.hpp +include/libflatarray/testbed/benchmark.hpp +include/libflatarray/testbed/cpu_benchmark.hpp +include/libflatarray/testbed/evaluate.hpp +include/libflatarray/testbed/gpu_benchmark.hpp +include/libgeodecomp.h +include/libgeodecomp/communication/mpilayer.h +include/libgeodecomp/communication/patchlink.h +include/libgeodecomp/communication/serialization.h +include/libgeodecomp/communication/typemaps.h +include/libgeodecomp/config.h +include/libgeodecomp/geometry/coord.h +include/libgeodecomp/geometry/coordbox.h +include/libgeodecomp/geometry/cudaregion.h +include/libgeodecomp/geometry/fixedcoord.h +include/libgeodecomp/geometry/floatcoord.h +include/libgeodecomp/geometry/partitionmanager.h +include/libgeodecomp/geometry/partitions/checkerboardingpartition.h +include/libgeodecomp/geometry/partitions/hilbertpartition.h +include/libgeodecomp/geometry/partitions/hindexingpartition.h +include/libgeodecomp/geometry/partitions/partition.h +include/libgeodecomp/geometry/partitions/ptscotchpartition.h +include/libgeodecomp/geometry/partitions/recursivebisectionpartition.h +include/libgeodecomp/geometry/partitions/scotchpartition.h +include/libgeodecomp/geometry/partitions/spacefillingcurve.h +include/libgeodecomp/geometry/partitions/stripingpartition.h +include/libgeodecomp/geometry/partitions/zcurvepartition.h +include/libgeodecomp/geometry/region.h +include/libgeodecomp/geometry/regionstreakiterator.h +include/libgeodecomp/geometry/stencils.h +include/libgeodecomp/geometry/streak.h +include/libgeodecomp/geometry/topologies.h +include/libgeodecomp/geometry/voronoimesher.h +include/libgeodecomp/io/asciiwriter.h +include/libgeodecomp/io/bovwriter.h +include/libgeodecomp/io/collectingwriter.h +include/libgeodecomp/io/hpxwritercollector.h +include/libgeodecomp/io/hpxwritersink.h +include/libgeodecomp/io/hpxwritersinkserver.h +include/libgeodecomp/io/imagepainter.h +include/libgeodecomp/io/initializer.h +include/libgeodecomp/io/ioexception.h +include/libgeodecomp/io/logger.h +include/libgeodecomp/io/memorywriter.h +include/libgeodecomp/io/mockinitializer.h +include/libgeodecomp/io/mocksteerer.h +include/libgeodecomp/io/mockwriter.h +include/libgeodecomp/io/mpiio.h +include/libgeodecomp/io/mpiioinitializer.h +include/libgeodecomp/io/mpiiowriter.h +include/libgeodecomp/io/parallelmemorywriter.h +include/libgeodecomp/io/parallelmpiiowriter.h +include/libgeodecomp/io/paralleltestwriter.h +include/libgeodecomp/io/parallelwriter.h +include/libgeodecomp/io/plotter.h +include/libgeodecomp/io/ppmwriter.h +include/libgeodecomp/io/qtwidgetwriter.h +include/libgeodecomp/io/remotesteerer.h +include/libgeodecomp/io/serialbovwriter.h +include/libgeodecomp/io/silowriter.h +include/libgeodecomp/io/simplecellplotter.h +include/libgeodecomp/io/simpleinitializer.h +include/libgeodecomp/io/steerer.h +include/libgeodecomp/io/testinitializer.h +include/libgeodecomp/io/teststeerer.h +include/libgeodecomp/io/testwriter.h +include/libgeodecomp/io/tracingwriter.h +include/libgeodecomp/io/visitwriter.h +include/libgeodecomp/io/writer.h +include/libgeodecomp/loadbalancer/biasbalancer.h +include/libgeodecomp/loadbalancer/loadbalancer.h +include/libgeodecomp/loadbalancer/mockbalancer.h +include/libgeodecomp/loadbalancer/noopbalancer.h +include/libgeodecomp/loadbalancer/oozebalancer.h +include/libgeodecomp/loadbalancer/randombalancer.h +include/libgeodecomp/loadbalancer/tracingbalancer.h +include/libgeodecomp/misc/apitraits.h +include/libgeodecomp/misc/chronometer.h +include/libgeodecomp/misc/clonable.h +include/libgeodecomp/misc/color.h +include/libgeodecomp/misc/cudautil.h +include/libgeodecomp/misc/fpscounter.h +include/libgeodecomp/misc/math.h +include/libgeodecomp/misc/mpitest.h +include/libgeodecomp/misc/nonpodtestcell.h +include/libgeodecomp/misc/optimizer.h +include/libgeodecomp/misc/palette.h +include/libgeodecomp/misc/patternoptimizer.h +include/libgeodecomp/misc/quickpalette.h +include/libgeodecomp/misc/random.h +include/libgeodecomp/misc/scopedtimer.h +include/libgeodecomp/misc/simplexoptimizer.h +include/libgeodecomp/misc/simulationfactory.h +include/libgeodecomp/misc/simulationparameters.h +include/libgeodecomp/misc/stdcontaineroverloads.h +include/libgeodecomp/misc/stringops.h +include/libgeodecomp/misc/stringvec.h +include/libgeodecomp/misc/tempfile.h +include/libgeodecomp/misc/testcell.h +include/libgeodecomp/misc/testhelper.h +include/libgeodecomp/parallelization/cacheblockingsimulator.h +include/libgeodecomp/parallelization/cudasimulator.h +include/libgeodecomp/parallelization/distributedsimulator.h +include/libgeodecomp/parallelization/hiparsimulator.h +include/libgeodecomp/parallelization/hiparsimulator/commonstepper.h +include/libgeodecomp/parallelization/hiparsimulator/cudastepper.h +include/libgeodecomp/parallelization/hiparsimulator/multicorestepper.h +include/libgeodecomp/parallelization/hiparsimulator/offsethelper.h +include/libgeodecomp/parallelization/hiparsimulator/openclstepper.h +include/libgeodecomp/parallelization/hiparsimulator/parallelwriteradapter.h +include/libgeodecomp/parallelization/hiparsimulator/steereradapter.h +include/libgeodecomp/parallelization/hiparsimulator/stepper.h +include/libgeodecomp/parallelization/hiparsimulator/updategroup.h +include/libgeodecomp/parallelization/hiparsimulator/vanillastepper.h +include/libgeodecomp/parallelization/hpxsimulator.h +include/libgeodecomp/parallelization/hpxsimulator/createupdategroups.h +include/libgeodecomp/parallelization/hpxsimulator/hpxstepper.h +include/libgeodecomp/parallelization/hpxsimulator/patchlink.h +include/libgeodecomp/parallelization/hpxsimulator/updategroup.h +include/libgeodecomp/parallelization/hpxsimulator/updategroupserver.h +include/libgeodecomp/parallelization/mocksimulator.h +include/libgeodecomp/parallelization/monolithicsimulator.h +include/libgeodecomp/parallelization/serialsimulator.h +include/libgeodecomp/parallelization/simulator.h +include/libgeodecomp/parallelization/stripingsimulator.h +include/libgeodecomp/storage/boxcell.h +include/libgeodecomp/storage/collectioninterface.h +include/libgeodecomp/storage/containercell.h +include/libgeodecomp/storage/coordmap.h +include/libgeodecomp/storage/cudaarray.h +include/libgeodecomp/storage/cudagrid.h +include/libgeodecomp/storage/dataaccessor.h +include/libgeodecomp/storage/defaultfilter.h +include/libgeodecomp/storage/displacedgrid.h +include/libgeodecomp/storage/filter.h +include/libgeodecomp/storage/filterbase.h +include/libgeodecomp/storage/fixedarray.h +include/libgeodecomp/storage/fixedneighborhood.h +include/libgeodecomp/storage/grid.h +include/libgeodecomp/storage/gridbase.h +include/libgeodecomp/storage/gridtypeselector.h +include/libgeodecomp/storage/gridvecconv.h +include/libgeodecomp/storage/image.h +include/libgeodecomp/storage/linepointerassembly.h +include/libgeodecomp/storage/linepointerneighborhood.h +include/libgeodecomp/storage/linepointerupdatefunctor.h +include/libgeodecomp/storage/meshlessadapter.h +include/libgeodecomp/storage/mockpatchaccepter.h +include/libgeodecomp/storage/multicontainercell.h +include/libgeodecomp/storage/neighborhoodadapter.h +include/libgeodecomp/storage/neighborhooditerator.h +include/libgeodecomp/storage/patchaccepter.h +include/libgeodecomp/storage/patchbuffer.h +include/libgeodecomp/storage/patchbufferfixed.h +include/libgeodecomp/storage/patchprovider.h +include/libgeodecomp/storage/pointerneighborhood.h +include/libgeodecomp/storage/selector.h +include/libgeodecomp/storage/sellcsigmasparsematrixcontainer.h +include/libgeodecomp/storage/serializationbuffer.h +include/libgeodecomp/storage/simplefilter.h +include/libgeodecomp/storage/soagrid.h +include/libgeodecomp/storage/unstructuredgrid.h +include/libgeodecomp/storage/updatefunctor.h +include/libgeodecomp/storage/updatefunctortestbase.h +include/libgeodecomp/storage/vanillaupdatefunctor.h +lib/cmake/libgeodecomp/libgeodecomp-targets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/libgeodecomp/libgeodecomp-targets.cmake +lib/cmake/libgeodecomp/libgeodecompConfig.cmake +lib/cmake/libgeodecomp/libgeodecompConfigVersion.cmake +lib/libgeodecomp.so +libdata/pkgconfig/libgeodecomp.pc |