aboutsummaryrefslogtreecommitdiff
path: root/science/libgeodecomp
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 /science/libgeodecomp
parent54e90b862c948ceb66ef13ee8e88e28ab73dc8d7 (diff)
downloadports-be3b7a5a79592ff870d11ecffa66663034a42954.tar.gz
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
Notes
Notes: svn path=/head/; revision=432959
Diffstat (limited to 'science/libgeodecomp')
-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
6 files changed, 278 insertions, 0 deletions
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