summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolai Lifanov <lifanov@FreeBSD.org>2017-01-31 23:37:58 +0000
committerNikolai Lifanov <lifanov@FreeBSD.org>2017-01-31 23:37:58 +0000
commitbe3b7a5a79592ff870d11ecffa66663034a42954 (patch)
treeeaacd02cf8a1495ed17b34e3fc212afc39018ff7
parent54e90b862c948ceb66ef13ee8e88e28ab73dc8d7 (diff)
downloadfreebsd-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/Makefile1
-rw-r--r--science/libgeodecomp/Makefile43
-rw-r--r--science/libgeodecomp/distinfo3
-rw-r--r--science/libgeodecomp/files/patch-lib_libflatarray_src_aligned__allocator.hpp16
-rw-r--r--science/libgeodecomp/files/patch-src_CMakeLists.txt11
-rw-r--r--science/libgeodecomp/pkg-descr10
-rw-r--r--science/libgeodecomp/pkg-plist195
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