aboutsummaryrefslogtreecommitdiffstats
path: root/science
diff options
context:
space:
mode:
authorlifanov <lifanov@FreeBSD.org>2017-02-01 07:37:58 +0800
committerlifanov <lifanov@FreeBSD.org>2017-02-01 07:37:58 +0800
commit903ed73298abd21dd1fc2a2bed5a4914d59182b0 (patch)
treeeaacd02cf8a1495ed17b34e3fc212afc39018ff7 /science
parentbd7266a170d47da9d5349726feda8e230fa440af (diff)
downloadfreebsd-ports-gnome-903ed73298abd21dd1fc2a2bed5a4914d59182b0.tar.gz
freebsd-ports-gnome-903ed73298abd21dd1fc2a2bed5a4914d59182b0.tar.zst
freebsd-ports-gnome-903ed73298abd21dd1fc2a2bed5a4914d59182b0.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
Diffstat (limited to 'science')
-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