74 lines
2.4 KiB
Makefile
74 lines
2.4 KiB
Makefile
PORTNAME= lbann
|
|
DISTVERSIONPREFIX= v
|
|
DISTVERSION= 0.104
|
|
PORTREVISION= 1
|
|
CATEGORIES= misc # machine-learning
|
|
|
|
MAINTAINER= yuri@FreeBSD.org
|
|
COMMENT= Livermore Big Artificial Neural Network toolkit
|
|
WWW= https://github.com/LLNL/lbann
|
|
|
|
LICENSE= APACHE20
|
|
|
|
BROKEN_i386= link fails: undefined reference: absl::lts_20250127::hash_internal::CityHash32(char const*, unsigned int)
|
|
|
|
BUILD_DEPENDS= cereal>0:devel/cereal \
|
|
dihydrogen>0:math/dihydrogen \
|
|
zstr>0:archivers/zstr
|
|
LIB_DEPENDS= libabsl_hash.so:devel/abseil \
|
|
libabsl_log_internal_message.so:devel/abseil \
|
|
libabsl_log_internal_nullguard.so:devel/abseil \
|
|
libabsl_spinlock_wait.so:devel/abseil \
|
|
libconduit.so:science/conduit \
|
|
libhdf5.so:science/hdf5 \
|
|
libHydrogen_CXX.so:math/hydrogen \
|
|
libopenblas.so:math/openblas \
|
|
libprotobuf.so:devel/protobuf \
|
|
libsiloh5.so:science/silo
|
|
|
|
USES= cmake:testing compiler:c++17-lang localbase:ldflags pkgconfig
|
|
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= LLNL
|
|
GH_TUPLE= KIwabuchi:havoqgt:100f63b:havoqgt/applications/graph/node2vec/havoqgt \
|
|
samadejacobs:moses:28932ce:moses/applications/ATOM/moses \
|
|
snap-stanford:snap:58a1e6a:snap/applications/graph/node2vec/snap \
|
|
catchorg:Clara:2bfd8b2:clara
|
|
|
|
CMAKE_ARGS= -DCLARA_INCLUDE_PATH=${WRKSRC_clara}/include
|
|
CMAKE_OFF= LBANN_WITH_CNPY \
|
|
LBANN_WITH_CUDNN \
|
|
LBANN_WITH_HWLOC \
|
|
LBANN_WITH_PYTHON_FRONTEND \
|
|
LBANN_WITH_EMBEDDED_PYTHON \
|
|
LBANN_WITH_VISION \
|
|
LBANN_WITH_TBINF
|
|
CMAKE_ON= LBANN_USE_PROTOBUF_MODULE
|
|
CMAKE_TESTING_ON= LBANN_WITH_UNIT_TESTING # requires MPI cluster
|
|
|
|
LDFLAGS+= -labsl_hash -labsl_log_internal_message -labsl_log_internal_nullguard -labsl_spinlock_wait -lexecinfo
|
|
USE_CXXSTD= c++17
|
|
|
|
OPTIONS_SINGLE= MPI
|
|
OPTIONS_SINGLE_MPI= MPICH OPENMPI
|
|
OPTIONS_DEFAULT= MPICH # should be same as in conduit, hydrogen, dihydrogen
|
|
|
|
MPICH_USES= mpi:mpich
|
|
|
|
OPENMPI_USES= mpi:openmpi
|
|
|
|
PLIST_SUB= VER=${DISTVERSION:C/\-.*//}
|
|
|
|
post-test: # CMake/ctest does not register the Catch2 binaries; run them manually
|
|
@${ECHO_MSG} "===> Running LBANN sequential unit tests"
|
|
@cd ${BUILD_WRKSRC} && ${SETENV} ${TEST_ENV} ./unit_test/seq-catch-tests
|
|
@${ECHO_MSG} "===> Running LBANN MPI unit tests"
|
|
@cd ${BUILD_WRKSRC} && ${SETENV} ${TEST_ENV} ${MPIEXEC} -n 2 ./unit_test/mpi-catch-tests
|
|
|
|
# tests as of 0.104: seq-catch-tests: All tests passed (38857 assertions in 82 test cases); mpi-catch-tests: All tests passed (18907 assertions in 185 test cases)
|
|
|
|
post-install: # remove unnecessary files
|
|
@${RM} -r ${STAGEDIR}${PREFIX}/share/doc
|
|
|
|
.include <bsd.port.mk>
|