On Mon, Jan 27, 2020 at 09:30:15AM -0700, j...@bitminer.ca wrote: > Hi Martin, > > Thanks for the pointer to a ports page (I needed to reread it, > clearly!). > > Just one nit to your example: perhaps reformat to style(9).
Sure, why not! And README needs to go into the PLIST of course. Index: Makefile =================================================================== RCS file: /cvs/ports/devel/openmpi/Makefile,v retrieving revision 1.29 diff -u -p -u -p -r1.29 Makefile --- Makefile 22 Dec 2019 15:47:35 -0000 1.29 +++ Makefile 27 Jan 2020 18:36:49 -0000 @@ -4,18 +4,19 @@ COMMENT = open source MPI-3.1 implement V = 4.0.2 DISTNAME = openmpi-$V +REVISION = 0 -SHARED_LIBS += mca_common_dstore 0.0 # 1.0 +SHARED_LIBS += mca_common_dstore 0.0 # 1.1 SHARED_LIBS += mca_common_monitoring 0.0 # 60.0 -SHARED_LIBS += mca_common_ompio 0.0 # 60.1 +SHARED_LIBS += mca_common_ompio 0.0 # 60.2 SHARED_LIBS += mca_common_sm 2.0 # 60.0 -SHARED_LIBS += mpi 1.0 # 60.1 -SHARED_LIBS += mpi_mpifh 0.0 # 60.1 +SHARED_LIBS += mpi 2.0 # 60.2 +SHARED_LIBS += mpi_mpifh 0.0 # 60.2 SHARED_LIBS += mpi_usempi_ignore_tkr 0.0 # 60.0 -SHARED_LIBS += mpi_usempif08 0.0 # 60.0 +SHARED_LIBS += mpi_usempif08 0.0 # 60.1 SHARED_LIBS += ompitrace 0.0 # 60.0 -SHARED_LIBS += open-pal 1.0 # 60.1 -SHARED_LIBS += open-rte 1.0 # 60.1 +SHARED_LIBS += open-pal 2.0 # 60.2 +SHARED_LIBS += open-rte 2.0 # 60.2 CATEGORIES = devel @@ -30,11 +31,19 @@ WANTLIB += c execinfo m pciaccess pthrea MASTER_SITES = ${HOMEPAGE}/software/ompi/v${V:C/^([0-9]+\.[0-9]+).*/\1/}/downloads/ -COMPILER = base-clang ports-gcc +COMPILER = ports-gcc + +# MODULES=fortran always uses ports-gcc (and overrides COMPILER) +# the openmpi applications and libraries will be built with ports-gcc, but +# are compatible with base-clang on archs where it is available MODULES = fortran MODFORTRAN_COMPILER = gfortran BUILD_DEPENDS = devel/libtool,-ltdl LIB_DEPENDS = devel/libexecinfo + +CONFIGURE_ARGS += --enable-mpi-fortran=usempif08 \ + FC=egfortran \ + CC=egcc MAKE_FLAGS = V=1 FAKE_FLAGS = sysconfdir=${PREFIX}/share/examples/openmpi/ Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/devel/openmpi/pkg/PLIST,v retrieving revision 1.6 diff -u -p -u -p -r1.6 PLIST --- pkg/PLIST 22 Dec 2019 15:47:36 -0000 1.6 +++ pkg/PLIST 27 Jan 2020 18:36:49 -0000 @@ -41,37 +41,37 @@ include/openmpi/mpiext/mpiext_cuda_c.h include/openmpi/mpiext/mpiext_pcollreq_c.h include/openmpi/mpiext/mpiext_pcollreq_mpifh.h include/openmpi/mpiext/pmpiext_pcollreq_c.h -lib/libmca_common_dstore.a +@static-lib lib/libmca_common_dstore.a lib/libmca_common_dstore.la @lib lib/libmca_common_dstore.so.${LIBmca_common_dstore_VERSION} -lib/libmca_common_monitoring.a +@static-lib lib/libmca_common_monitoring.a lib/libmca_common_monitoring.la @lib lib/libmca_common_monitoring.so.${LIBmca_common_monitoring_VERSION} -lib/libmca_common_ompio.a +@static-lib lib/libmca_common_ompio.a lib/libmca_common_ompio.la @lib lib/libmca_common_ompio.so.${LIBmca_common_ompio_VERSION} -lib/libmca_common_sm.a +@static-lib lib/libmca_common_sm.a lib/libmca_common_sm.la @lib lib/libmca_common_sm.so.${LIBmca_common_sm_VERSION} -lib/libmpi.a +@static-lib lib/libmpi.a lib/libmpi.la @lib lib/libmpi.so.${LIBmpi_VERSION} -lib/libmpi_mpifh.a +@static-lib lib/libmpi_mpifh.a lib/libmpi_mpifh.la @lib lib/libmpi_mpifh.so.${LIBmpi_mpifh_VERSION} -lib/libmpi_usempi_ignore_tkr.a +@static-lib lib/libmpi_usempi_ignore_tkr.a lib/libmpi_usempi_ignore_tkr.la @lib lib/libmpi_usempi_ignore_tkr.so.${LIBmpi_usempi_ignore_tkr_VERSION} -lib/libmpi_usempif08.a +@static-lib lib/libmpi_usempif08.a lib/libmpi_usempif08.la @lib lib/libmpi_usempif08.so.${LIBmpi_usempif08_VERSION} -lib/libompitrace.a +@static-lib lib/libompitrace.a lib/libompitrace.la @lib lib/libompitrace.so.${LIBompitrace_VERSION} -lib/libopen-pal.a +@static-lib lib/libopen-pal.a lib/libopen-pal.la @lib lib/libopen-pal.so.${LIBopen-pal_VERSION} -lib/libopen-rte.a +@static-lib lib/libopen-rte.a lib/libopen-rte.la @lib lib/libopen-rte.so.${LIBopen-rte_VERSION} lib/mpi.mod @@ -84,288 +84,288 @@ lib/mpi_f08_interfaces_callbacks.mod lib/mpi_f08_types.mod lib/ompi_monitoring_prof.a lib/ompi_monitoring_prof.la -lib/ompi_monitoring_prof.so +@so lib/ompi_monitoring_prof.so lib/openmpi/ -lib/openmpi/libompi_dbg_msgq.a +@static-lib lib/openmpi/libompi_dbg_msgq.a lib/openmpi/libompi_dbg_msgq.la -lib/openmpi/libompi_dbg_msgq.so +@so lib/openmpi/libompi_dbg_msgq.so lib/openmpi/mca_allocator_basic.a lib/openmpi/mca_allocator_basic.la -lib/openmpi/mca_allocator_basic.so +@so lib/openmpi/mca_allocator_basic.so lib/openmpi/mca_allocator_bucket.a lib/openmpi/mca_allocator_bucket.la -lib/openmpi/mca_allocator_bucket.so +@so lib/openmpi/mca_allocator_bucket.so lib/openmpi/mca_bml_r2.a lib/openmpi/mca_bml_r2.la -lib/openmpi/mca_bml_r2.so +@so lib/openmpi/mca_bml_r2.so lib/openmpi/mca_btl_self.a lib/openmpi/mca_btl_self.la -lib/openmpi/mca_btl_self.so +@so lib/openmpi/mca_btl_self.so lib/openmpi/mca_btl_sm.a lib/openmpi/mca_btl_sm.la -lib/openmpi/mca_btl_sm.so +@so lib/openmpi/mca_btl_sm.so lib/openmpi/mca_btl_tcp.a lib/openmpi/mca_btl_tcp.la -lib/openmpi/mca_btl_tcp.so +@so lib/openmpi/mca_btl_tcp.so lib/openmpi/mca_btl_vader.a lib/openmpi/mca_btl_vader.la -lib/openmpi/mca_btl_vader.so +@so lib/openmpi/mca_btl_vader.so lib/openmpi/mca_coll_basic.a lib/openmpi/mca_coll_basic.la -lib/openmpi/mca_coll_basic.so +@so lib/openmpi/mca_coll_basic.so lib/openmpi/mca_coll_inter.a lib/openmpi/mca_coll_inter.la -lib/openmpi/mca_coll_inter.so +@so lib/openmpi/mca_coll_inter.so lib/openmpi/mca_coll_libnbc.a lib/openmpi/mca_coll_libnbc.la -lib/openmpi/mca_coll_libnbc.so +@so lib/openmpi/mca_coll_libnbc.so lib/openmpi/mca_coll_monitoring.a lib/openmpi/mca_coll_monitoring.la -lib/openmpi/mca_coll_monitoring.so +@so lib/openmpi/mca_coll_monitoring.so lib/openmpi/mca_coll_self.a lib/openmpi/mca_coll_self.la -lib/openmpi/mca_coll_self.so +@so lib/openmpi/mca_coll_self.so lib/openmpi/mca_coll_sm.a lib/openmpi/mca_coll_sm.la -lib/openmpi/mca_coll_sm.so +@so lib/openmpi/mca_coll_sm.so lib/openmpi/mca_coll_sync.a lib/openmpi/mca_coll_sync.la -lib/openmpi/mca_coll_sync.so +@so lib/openmpi/mca_coll_sync.so lib/openmpi/mca_coll_tuned.a lib/openmpi/mca_coll_tuned.la -lib/openmpi/mca_coll_tuned.so +@so lib/openmpi/mca_coll_tuned.so lib/openmpi/mca_compress_bzip.a lib/openmpi/mca_compress_bzip.la -lib/openmpi/mca_compress_bzip.so +@so lib/openmpi/mca_compress_bzip.so lib/openmpi/mca_compress_gzip.a lib/openmpi/mca_compress_gzip.la -lib/openmpi/mca_compress_gzip.so +@so lib/openmpi/mca_compress_gzip.so lib/openmpi/mca_crs_none.a lib/openmpi/mca_crs_none.la -lib/openmpi/mca_crs_none.so +@so lib/openmpi/mca_crs_none.so lib/openmpi/mca_errmgr_default_app.a lib/openmpi/mca_errmgr_default_app.la -lib/openmpi/mca_errmgr_default_app.so +@so lib/openmpi/mca_errmgr_default_app.so lib/openmpi/mca_errmgr_default_hnp.a lib/openmpi/mca_errmgr_default_hnp.la -lib/openmpi/mca_errmgr_default_hnp.so +@so lib/openmpi/mca_errmgr_default_hnp.so lib/openmpi/mca_errmgr_default_orted.a lib/openmpi/mca_errmgr_default_orted.la -lib/openmpi/mca_errmgr_default_orted.so +@so lib/openmpi/mca_errmgr_default_orted.so lib/openmpi/mca_errmgr_default_tool.a lib/openmpi/mca_errmgr_default_tool.la -lib/openmpi/mca_errmgr_default_tool.so +@so lib/openmpi/mca_errmgr_default_tool.so lib/openmpi/mca_ess_env.a lib/openmpi/mca_ess_env.la -lib/openmpi/mca_ess_env.so +@so lib/openmpi/mca_ess_env.so lib/openmpi/mca_ess_hnp.a lib/openmpi/mca_ess_hnp.la -lib/openmpi/mca_ess_hnp.so +@so lib/openmpi/mca_ess_hnp.so lib/openmpi/mca_ess_pmi.a lib/openmpi/mca_ess_pmi.la -lib/openmpi/mca_ess_pmi.so +@so lib/openmpi/mca_ess_pmi.so lib/openmpi/mca_ess_singleton.a lib/openmpi/mca_ess_singleton.la -lib/openmpi/mca_ess_singleton.so +@so lib/openmpi/mca_ess_singleton.so lib/openmpi/mca_ess_tool.a lib/openmpi/mca_ess_tool.la -lib/openmpi/mca_ess_tool.so +@so lib/openmpi/mca_ess_tool.so lib/openmpi/mca_fcoll_dynamic.a lib/openmpi/mca_fcoll_dynamic.la -lib/openmpi/mca_fcoll_dynamic.so +@so lib/openmpi/mca_fcoll_dynamic.so lib/openmpi/mca_fcoll_dynamic_gen2.a lib/openmpi/mca_fcoll_dynamic_gen2.la -lib/openmpi/mca_fcoll_dynamic_gen2.so +@so lib/openmpi/mca_fcoll_dynamic_gen2.so lib/openmpi/mca_fcoll_individual.a lib/openmpi/mca_fcoll_individual.la -lib/openmpi/mca_fcoll_individual.so +@so lib/openmpi/mca_fcoll_individual.so lib/openmpi/mca_fcoll_two_phase.a lib/openmpi/mca_fcoll_two_phase.la -lib/openmpi/mca_fcoll_two_phase.so +@so lib/openmpi/mca_fcoll_two_phase.so lib/openmpi/mca_fcoll_vulcan.a lib/openmpi/mca_fcoll_vulcan.la -lib/openmpi/mca_fcoll_vulcan.so +@so lib/openmpi/mca_fcoll_vulcan.so lib/openmpi/mca_filem_raw.a lib/openmpi/mca_filem_raw.la -lib/openmpi/mca_filem_raw.so +@so lib/openmpi/mca_filem_raw.so lib/openmpi/mca_fs_ufs.a lib/openmpi/mca_fs_ufs.la -lib/openmpi/mca_fs_ufs.so +@so lib/openmpi/mca_fs_ufs.so lib/openmpi/mca_grpcomm_direct.a lib/openmpi/mca_grpcomm_direct.la -lib/openmpi/mca_grpcomm_direct.so +@so lib/openmpi/mca_grpcomm_direct.so lib/openmpi/mca_io_ompio.a lib/openmpi/mca_io_ompio.la -lib/openmpi/mca_io_ompio.so +@so lib/openmpi/mca_io_ompio.so lib/openmpi/mca_io_romio321.a lib/openmpi/mca_io_romio321.la -lib/openmpi/mca_io_romio321.so +@so lib/openmpi/mca_io_romio321.so lib/openmpi/mca_iof_hnp.a lib/openmpi/mca_iof_hnp.la -lib/openmpi/mca_iof_hnp.so +@so lib/openmpi/mca_iof_hnp.so lib/openmpi/mca_iof_orted.a lib/openmpi/mca_iof_orted.la -lib/openmpi/mca_iof_orted.so +@so lib/openmpi/mca_iof_orted.so lib/openmpi/mca_iof_tool.a lib/openmpi/mca_iof_tool.la -lib/openmpi/mca_iof_tool.so +@so lib/openmpi/mca_iof_tool.so lib/openmpi/mca_mpool_hugepage.a lib/openmpi/mca_mpool_hugepage.la -lib/openmpi/mca_mpool_hugepage.so +@so lib/openmpi/mca_mpool_hugepage.so lib/openmpi/mca_odls_default.a lib/openmpi/mca_odls_default.la -lib/openmpi/mca_odls_default.so +@so lib/openmpi/mca_odls_default.so lib/openmpi/mca_odls_pspawn.a lib/openmpi/mca_odls_pspawn.la -lib/openmpi/mca_odls_pspawn.so +@so lib/openmpi/mca_odls_pspawn.so lib/openmpi/mca_oob_tcp.a lib/openmpi/mca_oob_tcp.la -lib/openmpi/mca_oob_tcp.so +@so lib/openmpi/mca_oob_tcp.so lib/openmpi/mca_osc_monitoring.a lib/openmpi/mca_osc_monitoring.la -lib/openmpi/mca_osc_monitoring.so +@so lib/openmpi/mca_osc_monitoring.so lib/openmpi/mca_osc_pt2pt.a lib/openmpi/mca_osc_pt2pt.la -lib/openmpi/mca_osc_pt2pt.so +@so lib/openmpi/mca_osc_pt2pt.so lib/openmpi/mca_osc_rdma.a lib/openmpi/mca_osc_rdma.la -lib/openmpi/mca_osc_rdma.so +@so lib/openmpi/mca_osc_rdma.so lib/openmpi/mca_osc_sm.a lib/openmpi/mca_osc_sm.la -lib/openmpi/mca_osc_sm.so +@so lib/openmpi/mca_osc_sm.so @comment XXX arch-specific @comment lib/openmpi/mca_patcher_overwrite.a @comment lib/openmpi/mca_patcher_overwrite.la @comment lib/openmpi/mca_patcher_overwrite.so lib/openmpi/mca_plm_isolated.a lib/openmpi/mca_plm_isolated.la -lib/openmpi/mca_plm_isolated.so +@so lib/openmpi/mca_plm_isolated.so lib/openmpi/mca_plm_rsh.a lib/openmpi/mca_plm_rsh.la -lib/openmpi/mca_plm_rsh.so +@so lib/openmpi/mca_plm_rsh.so lib/openmpi/mca_pmix_flux.a lib/openmpi/mca_pmix_flux.la -lib/openmpi/mca_pmix_flux.so +@so lib/openmpi/mca_pmix_flux.so lib/openmpi/mca_pmix_isolated.a lib/openmpi/mca_pmix_isolated.la -lib/openmpi/mca_pmix_isolated.so +@so lib/openmpi/mca_pmix_isolated.so lib/openmpi/mca_pmix_pmix3x.a lib/openmpi/mca_pmix_pmix3x.la -lib/openmpi/mca_pmix_pmix3x.so +@so lib/openmpi/mca_pmix_pmix3x.so lib/openmpi/mca_pml_cm.a lib/openmpi/mca_pml_cm.la -lib/openmpi/mca_pml_cm.so +@so lib/openmpi/mca_pml_cm.so lib/openmpi/mca_pml_monitoring.a lib/openmpi/mca_pml_monitoring.la -lib/openmpi/mca_pml_monitoring.so +@so lib/openmpi/mca_pml_monitoring.so lib/openmpi/mca_pml_ob1.a lib/openmpi/mca_pml_ob1.la -lib/openmpi/mca_pml_ob1.so +@so lib/openmpi/mca_pml_ob1.so lib/openmpi/mca_pstat_test.a lib/openmpi/mca_pstat_test.la -lib/openmpi/mca_pstat_test.so +@so lib/openmpi/mca_pstat_test.so lib/openmpi/mca_ras_simulator.a lib/openmpi/mca_ras_simulator.la -lib/openmpi/mca_ras_simulator.so +@so lib/openmpi/mca_ras_simulator.so lib/openmpi/mca_rcache_grdma.a lib/openmpi/mca_rcache_grdma.la -lib/openmpi/mca_rcache_grdma.so +@so lib/openmpi/mca_rcache_grdma.so lib/openmpi/mca_reachable_weighted.a lib/openmpi/mca_reachable_weighted.la -lib/openmpi/mca_reachable_weighted.so +@so lib/openmpi/mca_reachable_weighted.so lib/openmpi/mca_regx_fwd.a lib/openmpi/mca_regx_fwd.la -lib/openmpi/mca_regx_fwd.so +@so lib/openmpi/mca_regx_fwd.so lib/openmpi/mca_regx_naive.a lib/openmpi/mca_regx_naive.la -lib/openmpi/mca_regx_naive.so +@so lib/openmpi/mca_regx_naive.so lib/openmpi/mca_regx_reverse.a lib/openmpi/mca_regx_reverse.la -lib/openmpi/mca_regx_reverse.so +@so lib/openmpi/mca_regx_reverse.so lib/openmpi/mca_rmaps_mindist.a lib/openmpi/mca_rmaps_mindist.la -lib/openmpi/mca_rmaps_mindist.so +@so lib/openmpi/mca_rmaps_mindist.so lib/openmpi/mca_rmaps_ppr.a lib/openmpi/mca_rmaps_ppr.la -lib/openmpi/mca_rmaps_ppr.so +@so lib/openmpi/mca_rmaps_ppr.so lib/openmpi/mca_rmaps_rank_file.a lib/openmpi/mca_rmaps_rank_file.la -lib/openmpi/mca_rmaps_rank_file.so +@so lib/openmpi/mca_rmaps_rank_file.so lib/openmpi/mca_rmaps_resilient.a lib/openmpi/mca_rmaps_resilient.la -lib/openmpi/mca_rmaps_resilient.so +@so lib/openmpi/mca_rmaps_resilient.so lib/openmpi/mca_rmaps_round_robin.a lib/openmpi/mca_rmaps_round_robin.la -lib/openmpi/mca_rmaps_round_robin.so +@so lib/openmpi/mca_rmaps_round_robin.so lib/openmpi/mca_rmaps_seq.a lib/openmpi/mca_rmaps_seq.la -lib/openmpi/mca_rmaps_seq.so +@so lib/openmpi/mca_rmaps_seq.so lib/openmpi/mca_rml_oob.a lib/openmpi/mca_rml_oob.la -lib/openmpi/mca_rml_oob.so +@so lib/openmpi/mca_rml_oob.so lib/openmpi/mca_routed_binomial.a lib/openmpi/mca_routed_binomial.la -lib/openmpi/mca_routed_binomial.so +@so lib/openmpi/mca_routed_binomial.so lib/openmpi/mca_routed_direct.a lib/openmpi/mca_routed_direct.la -lib/openmpi/mca_routed_direct.so +@so lib/openmpi/mca_routed_direct.so lib/openmpi/mca_routed_radix.a lib/openmpi/mca_routed_radix.la -lib/openmpi/mca_routed_radix.so +@so lib/openmpi/mca_routed_radix.so lib/openmpi/mca_rtc_hwloc.a lib/openmpi/mca_rtc_hwloc.la -lib/openmpi/mca_rtc_hwloc.so +@so lib/openmpi/mca_rtc_hwloc.so lib/openmpi/mca_schizo_flux.a lib/openmpi/mca_schizo_flux.la -lib/openmpi/mca_schizo_flux.so +@so lib/openmpi/mca_schizo_flux.so lib/openmpi/mca_schizo_ompi.a lib/openmpi/mca_schizo_ompi.la -lib/openmpi/mca_schizo_ompi.so +@so lib/openmpi/mca_schizo_ompi.so lib/openmpi/mca_schizo_orte.a lib/openmpi/mca_schizo_orte.la -lib/openmpi/mca_schizo_orte.so +@so lib/openmpi/mca_schizo_orte.so lib/openmpi/mca_sharedfp_individual.a lib/openmpi/mca_sharedfp_individual.la -lib/openmpi/mca_sharedfp_individual.so +@so lib/openmpi/mca_sharedfp_individual.so lib/openmpi/mca_sharedfp_lockedfile.a lib/openmpi/mca_sharedfp_lockedfile.la -lib/openmpi/mca_sharedfp_lockedfile.so +@so lib/openmpi/mca_sharedfp_lockedfile.so lib/openmpi/mca_sharedfp_sm.a lib/openmpi/mca_sharedfp_sm.la -lib/openmpi/mca_sharedfp_sm.so +@so lib/openmpi/mca_sharedfp_sm.so lib/openmpi/mca_shmem_mmap.a lib/openmpi/mca_shmem_mmap.la -lib/openmpi/mca_shmem_mmap.so +@so lib/openmpi/mca_shmem_mmap.so lib/openmpi/mca_shmem_posix.a lib/openmpi/mca_shmem_posix.la -lib/openmpi/mca_shmem_posix.so +@so lib/openmpi/mca_shmem_posix.so lib/openmpi/mca_shmem_sysv.a lib/openmpi/mca_shmem_sysv.la -lib/openmpi/mca_shmem_sysv.so +@so lib/openmpi/mca_shmem_sysv.so lib/openmpi/mca_state_app.a lib/openmpi/mca_state_app.la -lib/openmpi/mca_state_app.so +@so lib/openmpi/mca_state_app.so lib/openmpi/mca_state_hnp.a lib/openmpi/mca_state_hnp.la -lib/openmpi/mca_state_hnp.so +@so lib/openmpi/mca_state_hnp.so lib/openmpi/mca_state_novm.a lib/openmpi/mca_state_novm.la -lib/openmpi/mca_state_novm.so +@so lib/openmpi/mca_state_novm.so lib/openmpi/mca_state_orted.a lib/openmpi/mca_state_orted.la -lib/openmpi/mca_state_orted.so +@so lib/openmpi/mca_state_orted.so lib/openmpi/mca_state_tool.a lib/openmpi/mca_state_tool.la -lib/openmpi/mca_state_tool.so +@so lib/openmpi/mca_state_tool.so lib/openmpi/mca_topo_basic.a lib/openmpi/mca_topo_basic.la -lib/openmpi/mca_topo_basic.so +@so lib/openmpi/mca_topo_basic.so lib/openmpi/mca_topo_treematch.a lib/openmpi/mca_topo_treematch.la -lib/openmpi/mca_topo_treematch.so +@so lib/openmpi/mca_topo_treematch.so lib/openmpi/mca_vprotocol_pessimist.a lib/openmpi/mca_vprotocol_pessimist.la -lib/openmpi/mca_vprotocol_pessimist.so +@so lib/openmpi/mca_vprotocol_pessimist.so lib/pkgconfig/ompi-c.pc lib/pkgconfig/ompi-cxx.pc lib/pkgconfig/ompi-f77.pc @@ -376,64 +376,64 @@ lib/pkgconfig/orte.pc lib/pmix/ lib/pmix/mca_bfrops_v12.a lib/pmix/mca_bfrops_v12.la -lib/pmix/mca_bfrops_v12.so +@so lib/pmix/mca_bfrops_v12.so lib/pmix/mca_bfrops_v20.a lib/pmix/mca_bfrops_v20.la -lib/pmix/mca_bfrops_v20.so +@so lib/pmix/mca_bfrops_v20.so lib/pmix/mca_bfrops_v21.a lib/pmix/mca_bfrops_v21.la -lib/pmix/mca_bfrops_v21.so +@so lib/pmix/mca_bfrops_v21.so lib/pmix/mca_bfrops_v3.a lib/pmix/mca_bfrops_v3.la -lib/pmix/mca_bfrops_v3.so +@so lib/pmix/mca_bfrops_v3.so lib/pmix/mca_gds_ds12.a lib/pmix/mca_gds_ds12.la -lib/pmix/mca_gds_ds12.so +@so lib/pmix/mca_gds_ds12.so lib/pmix/mca_gds_ds21.a lib/pmix/mca_gds_ds21.la -lib/pmix/mca_gds_ds21.so +@so lib/pmix/mca_gds_ds21.so lib/pmix/mca_gds_hash.a lib/pmix/mca_gds_hash.la -lib/pmix/mca_gds_hash.so +@so lib/pmix/mca_gds_hash.so lib/pmix/mca_plog_default.a lib/pmix/mca_plog_default.la -lib/pmix/mca_plog_default.so +@so lib/pmix/mca_plog_default.so lib/pmix/mca_plog_stdfd.a lib/pmix/mca_plog_stdfd.la -lib/pmix/mca_plog_stdfd.so +@so lib/pmix/mca_plog_stdfd.so lib/pmix/mca_plog_syslog.a lib/pmix/mca_plog_syslog.la -lib/pmix/mca_plog_syslog.so +@so lib/pmix/mca_plog_syslog.so lib/pmix/mca_pnet_tcp.a lib/pmix/mca_pnet_tcp.la -lib/pmix/mca_pnet_tcp.so +@so lib/pmix/mca_pnet_tcp.so lib/pmix/mca_pnet_test.a lib/pmix/mca_pnet_test.la -lib/pmix/mca_pnet_test.so +@so lib/pmix/mca_pnet_test.so lib/pmix/mca_preg_native.a lib/pmix/mca_preg_native.la -lib/pmix/mca_preg_native.so +@so lib/pmix/mca_preg_native.so lib/pmix/mca_psec_native.a lib/pmix/mca_psec_native.la -lib/pmix/mca_psec_native.so +@so lib/pmix/mca_psec_native.so lib/pmix/mca_psec_none.a lib/pmix/mca_psec_none.la -lib/pmix/mca_psec_none.so +@so lib/pmix/mca_psec_none.so lib/pmix/mca_psensor_file.a lib/pmix/mca_psensor_file.la -lib/pmix/mca_psensor_file.so +@so lib/pmix/mca_psensor_file.so lib/pmix/mca_psensor_heartbeat.a lib/pmix/mca_psensor_heartbeat.la -lib/pmix/mca_psensor_heartbeat.so +@so lib/pmix/mca_psensor_heartbeat.so lib/pmix/mca_pshmem_mmap.a lib/pmix/mca_pshmem_mmap.la -lib/pmix/mca_pshmem_mmap.so +@so lib/pmix/mca_pshmem_mmap.so lib/pmix/mca_ptl_tcp.a lib/pmix/mca_ptl_tcp.la -lib/pmix/mca_ptl_tcp.so +@so lib/pmix/mca_ptl_tcp.so lib/pmix/mca_ptl_usock.a lib/pmix/mca_ptl_usock.la -lib/pmix/mca_ptl_usock.so +@so lib/pmix/mca_ptl_usock.so lib/pmpi_f08_interfaces.mod @man man/man1/mpiCC.1 @man man/man1/mpic++.1 @@ -899,6 +899,7 @@ lib/pmpi_f08_interfaces.mod @man man/man7/orte_hosts.7 @man man/man7/orte_snapc.7 @man man/man7/orte_sstore.7 +share/doc/pkg-readmes/${PKGSTEM} share/examples/openmpi/ share/examples/openmpi/openmpi-default-hostfile share/examples/openmpi/openmpi-mca-params.conf Index: pkg/README =================================================================== RCS file: pkg/README diff -N pkg/README --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/README 27 Jan 2020 18:36:49 -0000 @@ -0,0 +1,60 @@ +$OpenBSD$ + ++----------------------------------------------------------------------- +| Customizing ${PKGSTEM} execution on OpenBSD ++----------------------------------------------------------------------- + +The OpenMPI runtime is controlled by numerous values specified +on the command line or with environment variables. See mpirun(1) and +ompi_info(1). Example**: + + $ export PMIX_MCA_gds=hash + $ mpirun -np 2 -H localhost:2 \ + -mca btl tcp,self \ + -mca mpi_yield_when_idle 1 -- \ + ./mpitest + +These values (at least) are useful: + + OMPI_MCA_btl=self,tcp,vader + Avoid "vader" when launching many processes per node + and you have an NFS swap file. Or use local backing store. + (BTL is byte transfer layer. "vader" is shared memory + communication module.) + + OMPI_MCA_mpi_yield_when_idle=1 + Set to 1 may improve throughput when launching many + processes per node. + + PMIX_MCA_gds=hash + This is the one gds (general data service) that works on OpenBSD. + +**Example code taken from: +https://hpcc.usc.edu/support/documentation/examples-of-mpi-programs/ + +Compile with: + + $ mpicc -o mpitest mpitest.c + +/* Adapted from mpihello.f by drs */ + +#include <mpi.h> +#include <stdio.h> +#include <unistd.h> + +int main(int argc, char **argv) +{ + int rank; + char hostname[256]; + + MPI_Init(&argc, &argv); + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + gethostname(hostname, 255); + + printf("Hello world! I am process number: %d on host %s\n", + rank, hostname); + + MPI_Finalize(); + + return 0; +}