New port: math/hipmcl: High-performance parallel algorithm for large-scale network clustering

This commit is contained in:
Yuri Victorovich 2018-12-16 09:06:13 +00:00
parent a678753847
commit eca31f167a
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=487566
5 changed files with 73 additions and 0 deletions

View file

@ -264,6 +264,7 @@
SUBDIR += grpn
SUBDIR += gsl
SUBDIR += hexcalc
SUBDIR += hipmcl
SUBDIR += hs-Agda
SUBDIR += hs-Agda-stdlib
SUBDIR += hs-NumInstances

38
math/hipmcl/Makefile Normal file
View file

@ -0,0 +1,38 @@
# $FreeBSD$
PORTNAME= HipMCL
DISTVERSION= g20180814
CATEGORIES= math
MASTER_SITES= https://bitbucket.org/${BB_ACCOUNT}/${BB_PROJECT}/get/${BB_COMMIT}.tar.gz?dummy=/
MAINTAINER= yuri@FreeBSD.org
COMMENT= High-performance parallel algorithm for large-scale network clustering
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/license.txt
LIB_DEPENDS= libCombBLAS.so:math/combblas \
libmpi.so:net/mpich \
libomp.so:devel/openmp
RUN_DEPENDS= ${LOCALBASE}/lib/gcc${GCC_DEFAULT}/libgcc_s.so.1:lang/gcc${GCC_DEFAULT} # because of the link flags induced by mpich
USES= cmake:outsource compiler:c++14-lang dos2unix localbase:ldflags
DOS2UNIX_FILES= CMakeLists.txt
CMAKE_ON= BUILD_SHARED_LIBS
BB_ACCOUNT= azadcse
BB_PROJECT= ${PORTNAME:tl}
BB_COMMIT= e20476acc473
WRKSRC= ${WRKDIR}/${BB_ACCOUNT}-${BB_PROJECT}-${BB_COMMIT}
PLIST_FILES= bin/${PORTNAME:tl}
post-extract:
@${RM} -r ${WRKSRC}/src/CombBLAS
do-install:
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/bin/hipmcl ${STAGEDIR}${PREFIX}/bin
.include <bsd.port.mk>

3
math/hipmcl/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1544950762
SHA256 (HipMCL-g20180814.tar.gz) = 324fbe12f3547cd1e3da38d01ea2d6882061821a7cf6a7904e1402759c01e94c
SIZE (HipMCL-g20180814.tar.gz) = 43337935

View file

@ -0,0 +1,15 @@
--- CMakeLists.txt.orig 2018-08-14 19:42:54 UTC
+++ CMakeLists.txt
@@ -30,10 +30,10 @@ else (NOT C14)
endif (NOT C14)
-ADD_SUBDIRECTORY( src/CombBLAS )
+#ADD_SUBDIRECTORY( src/CombBLAS )
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
add_executable(hipmcl src/HipMCL.cpp)
-target_link_libraries(hipmcl CombBLASlib )
+target_link_libraries(hipmcl CombBLAS )

16
math/hipmcl/pkg-descr Normal file
View file

@ -0,0 +1,16 @@
HipMCL is a high-performance parallel algorithm for large-scale network
clustering. HipMCL parallelizes popular Markov Cluster (MCL) algorithm that has
been shown to be one of the most successful and widely used algorithms for
network clustering. It is based on random walks and was initially designed to
detect families in protein-protein interaction networks. Despite MCL's
efficiency and multi-threading support, scalability remains a bottleneck as it
fails to process networks of several hundred million nodes and billion edges in
an affordable running time. HipMCL overcomes all of these challenges by
developing massively-parallel algorithms for all components of MCL. HipMCL can
be 1000 times faster than the original MCL without any information loss. It can
easily cluster a network of ~75 million nodes with ~68 billion edges in ~2.4
hours using ~2000 nodes of Cori supercomputer at NERSC. HipMCL is developed in
C++ language and uses standard OpenMP and MPI libraries for shared- and
distributed-memory parallelization.
WWW: https://bitbucket.org/azadcse/hipmcl/wiki/Home