# Created by: bremner@unb.ca # $FreeBSD$ PORTNAME= lam PORTVERSION= 7.1.5b2 CATEGORIES= net parallel MASTER_SITES= http://www.lam-mpi.org/download/files/ \ http://www.thinkingnerds.com/lam/download/files/ MAINTAINER= ports@FreeBSD.org COMMENT= Local Area Multicomputer MPI implementation USES= perl5 USE_BZIP2= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-rsh=ssh --without-fc USE_LDCONFIG= yes MAN1= hboot.1 \ hcc.1 \ hcp.1 \ hf77.1 \ introu.1 \ lamboot.1 \ lamcheckpoint.1 \ lamclean.1 \ lamd.1 \ lamexec.1 \ lamgrow.1 \ lamhalt.1 \ laminfo.1 \ lamnodes.1 \ lamrestart.1 \ lamshrink.1 \ lamtrace.1 \ lamwipe.1 \ mpiCC.1 \ mpic++.1 \ mpicc.1 \ mpiexec.1 \ mpif77.1 \ mpimsg.1 \ mpirun.1 \ mpitask.1 \ recon.1 \ tkill.1 \ tping.1 \ wipe.1 MAN3= MPIL_Comm_gps.3 \ MPIL_Comm_id.3 \ MPIL_Request_get_name.3 \ MPIL_Request_set_name.3 \ MPIL_Signal.3 \ MPIL_Trace_off.3 \ MPIL_Trace_on.3 \ MPIL_Type_id.3 \ MPIO_Request_c2f.3 \ MPIO_Request_f2c.3 \ MPIO_Test.3 \ MPIO_Wait.3 \ MPI_Abort.3 \ MPI_Accumulate.3 \ MPI_Address.3 \ MPI_Allgather.3 \ MPI_Allgatherv.3 \ MPI_Alloc_mem.3 \ MPI_Allreduce.3 \ MPI_Alltoall.3 \ MPI_Alltoallv.3 \ MPI_Alltoallw.3 \ MPI_Attr_delete.3 \ MPI_Attr_get.3 \ MPI_Attr_put.3 \ MPI_Barrier.3 \ MPI_Bcast.3 \ MPI_Bsend.3 \ MPI_Bsend_init.3 \ MPI_Buffer_attach.3 \ MPI_Buffer_detach.3 \ MPI_COMM_DUP_FN.3 \ MPI_Cancel.3 \ MPI_Cart_coords.3 \ MPI_Cart_create.3 \ MPI_Cart_get.3 \ MPI_Cart_map.3 \ MPI_Cart_rank.3 \ MPI_Cart_shift.3 \ MPI_Cart_sub.3 \ MPI_Cartdim_get.3 \ MPI_Close_port.3 \ MPI_Comm_accept.3 \ MPI_Comm_c2f.3 \ MPI_Comm_compare.3 \ MPI_Comm_connect.3 \ MPI_Comm_create.3 \ MPI_Comm_create_errhandler.3 \ MPI_Comm_create_keyval.3 \ MPI_Comm_delete_attr.3 \ MPI_Comm_disconnect.3 \ MPI_Comm_dup.3 \ MPI_Comm_f2c.3 \ MPI_Comm_free.3 \ MPI_Comm_free_keyval.3 \ MPI_Comm_get_attr.3 \ MPI_Comm_get_errhandler.3 \ MPI_Comm_get_name.3 \ MPI_Comm_get_parent.3 \ MPI_Comm_group.3 \ MPI_Comm_join.3 \ MPI_Comm_rank.3 \ MPI_Comm_remote_group.3 \ MPI_Comm_remote_size.3 \ MPI_Comm_ser_errhandler.3 \ MPI_Comm_set_attr.3 \ MPI_Comm_set_name.3 \ MPI_Comm_size.3 \ MPI_Comm_spawn.3 \ MPI_Comm_spawn_multiple.3 \ MPI_Comm_split.3 \ MPI_Comm_test_inter.3 \ MPI_DUP_FN.3 \ MPI_Dims_create.3 \ MPI_Errhandler_c2f.3 \ MPI_Errhandler_create.3 \ MPI_Errhandler_f2c.3 \ MPI_Errhandler_free.3 \ MPI_Errhandler_get.3 \ MPI_Errhandler_set.3 \ MPI_Error_class.3 \ MPI_Error_string.3 \ MPI_Exscan.3 \ MPI_File_c2f.3 \ MPI_File_close.3 \ MPI_File_delete.3 \ MPI_File_f2c.3 \ MPI_File_get_amode.3 \ MPI_File_get_atomicity.3 \ MPI_File_get_byte_offset.3 \ MPI_File_get_errhandler.3 \ MPI_File_get_group.3 \ MPI_File_get_info.3 \ MPI_File_get_position.3 \ MPI_File_get_position_shared.3 \ MPI_File_get_size.3 \ MPI_File_get_type_extent.3 \ MPI_File_get_view.3 \ MPI_File_iread.3 \ MPI_File_iread_at.3 \ MPI_File_iread_shared.3 \ MPI_File_iwrite.3 \ MPI_File_iwrite_at.3 \ MPI_File_iwrite_shared.3 \ MPI_File_open.3 \ MPI_File_preallocate.3 \ MPI_File_read.3 \ MPI_File_read_all.3 \ MPI_File_read_all_begin.3 \ MPI_File_read_all_end.3 \ MPI_File_read_at.3 \ MPI_File_read_at_all.3 \ MPI_File_read_at_all_begin.3 \ MPI_File_read_at_all_end.3 \ MPI_File_read_ordered.3 \ MPI_File_read_ordered_begin.3 \ MPI_File_read_ordered_end.3 \ MPI_File_read_shared.3 \ MPI_File_seek.3 \ MPI_File_seek_shared.3 \ MPI_File_set_atomicity.3 \ MPI_File_set_errhandler.3 \ MPI_File_set_info.3 \ MPI_File_set_size.3 \ MPI_File_set_view.3 \ MPI_File_sync.3 \ MPI_File_write.3 \ MPI_File_write_all.3 \ MPI_File_write_all_begin.3 \ MPI_File_write_all_end.3 \ MPI_File_write_at.3 \ MPI_File_write_at_all.3 \ MPI_File_write_at_all_begin.3 \ MPI_File_write_at_all_end.3 \ MPI_File_write_ordered.3 \ MPI_File_write_ordered_begin.3 \ MPI_File_write_ordered_end.3 \ MPI_File_write_shared.3 \ MPI_Finalize.3 \ MPI_Finalized.3 \ MPI_Free_mem.3 \ MPI_Gather.3 \ MPI_Gatherv.3 \ MPI_Get.3 \ MPI_Get_address.3 \ MPI_Get_count.3 \ MPI_Get_elements.3 \ MPI_Get_processor_name.3 \ MPI_Get_version.3 \ MPI_Graph_create.3 \ MPI_Graph_get.3 \ MPI_Graph_map.3 \ MPI_Graph_neighbors.3 \ MPI_Graph_neighbors_count.3 \ MPI_Graphdims_get.3 \ MPI_Group_c2f.3 \ MPI_Group_compare.3 \ MPI_Group_difference.3 \ MPI_Group_excl.3 \ MPI_Group_f2c.3 \ MPI_Group_free.3 \ MPI_Group_incl.3 \ MPI_Group_intersection.3 \ MPI_Group_range_excl.3 \ MPI_Group_range_incl.3 \ MPI_Group_rank.3 \ MPI_Group_size.3 \ MPI_Group_translate_ranks.3 \ MPI_Group_union.3 \ MPI_Ibsend.3 \ MPI_Info_c2f.3 \ MPI_Info_create.3 \ MPI_Info_delete.3 \ MPI_Info_dup.3 \ MPI_Info_f2c.3 \ MPI_Info_free.3 \ MPI_Info_get.3 \ MPI_Info_get_nkeys.3 \ MPI_Info_get_nthkey.3 \ MPI_Info_get_valuelen.3 \ MPI_Info_set.3 \ MPI_Init.3 \ MPI_Init_thread.3 \ MPI_Initialized.3 \ MPI_Intercomm_create.3 \ MPI_Intercomm_merge.3 \ MPI_Iprobe.3 \ MPI_Irecv.3 \ MPI_Irsend.3 \ MPI_Is_thread_main.3 \ MPI_Isend.3 \ MPI_Issend.3 \ MPI_Keyval_create.3 \ MPI_Keyval_free.3 \ MPI_Lookup_name.3 \ MPI_Op_c2f.3 \ MPI_Op_create.3 \ MPI_Op_f2c.3 \ MPI_Op_free.3 \ MPI_Open_port.3 \ MPI_Pack.3 \ MPI_Pack_size.3 \ MPI_Pcontrol.3 \ MPI_Probe.3 \ MPI_Publish_name.3 \ MPI_Put.3 \ MPI_Query_thread.3 \ MPI_Recv.3 \ MPI_Recv_init.3 \ MPI_Reduce.3 \ MPI_Reduce_scatter.3 \ MPI_Request_c2f.3 \ MPI_Request_f2c.3 \ MPI_Request_free.3 \ MPI_Rsend.3 \ MPI_Rsend_init.3 \ MPI_Scan.3 \ MPI_Scatter.3 \ MPI_Scatterv.3 \ MPI_Send.3 \ MPI_Send_init.3 \ MPI_Sendrecv.3 \ MPI_Sendrecv_replace.3 \ MPI_Ssend.3 \ MPI_Ssend_init.3 \ MPI_Start.3 \ MPI_Startall.3 \ MPI_Status_c2f.3 \ MPI_Status_f2c.3 \ MPI_TYPE_DUP_FN.3 \ MPI_Test.3 \ MPI_Test_cancelled.3 \ MPI_Testall.3 \ MPI_Testany.3 \ MPI_Testsome.3 \ MPI_Topo_test.3 \ MPI_Type_c2f.3 \ MPI_Type_commit.3 \ MPI_Type_contiguous.3 \ MPI_Type_create_darray.3 \ MPI_Type_create_extent.3 \ MPI_Type_create_hindexed.3 \ MPI_Type_create_hvector.3 \ MPI_Type_create_keyval.3 \ MPI_Type_create_struct.3 \ MPI_Type_create_subarray.3 \ MPI_Type_delete_attr.3 \ MPI_Type_dup.3 \ MPI_Type_extent.3 \ MPI_Type_f2c.3 \ MPI_Type_free.3 \ MPI_Type_free_keyval.3 \ MPI_Type_get_attr.3 \ MPI_Type_get_contents.3 \ MPI_Type_get_envelope.3 \ MPI_Type_get_extent.3 \ MPI_Type_get_name.3 \ MPI_Type_get_true_extent.3 \ MPI_Type_hindexed.3 \ MPI_Type_hvector.3 \ MPI_Type_indexed.3 \ MPI_Type_lb.3 \ MPI_Type_set_attr.3 \ MPI_Type_set_name.3 \ MPI_Type_size.3 \ MPI_Type_struct.3 \ MPI_Type_ub.3 \ MPI_Type_vector.3 \ MPI_Unpack.3 \ MPI_WIN_DUP_FN.3 \ MPI_Wait.3 \ MPI_Waitall.3 \ MPI_Waitany.3 \ MPI_Waitsome.3 \ MPI_Win_Lock.3 \ MPI_Win_Test.3 \ MPI_Win_c2f.3 \ MPI_Win_call_errhandler.3 \ MPI_Win_complete.3 \ MPI_Win_create.3 \ MPI_Win_create_errhandler.3 \ MPI_Win_create_keyval.3 \ MPI_Win_delete_attr.3 \ MPI_Win_f2c.3 \ MPI_Win_fence.3 \ MPI_Win_free.3 \ MPI_Win_free_keyval.3 \ MPI_Win_get_attr.3 \ MPI_Win_get_errhandler.3 \ MPI_Win_get_group.3 \ MPI_Win_get_name.3 \ MPI_Win_post.3 \ MPI_Win_set_attr.3 \ MPI_Win_set_errhandler.3 \ MPI_Win_set_name.3 \ MPI_Win_start.3 \ MPI_Win_unlock.3 \ MPI_Win_wait.3 \ MPI_Wtick.3 \ MPI_Wtime.3 \ XMPI_Buoy.3 \ XMPI_Coloroff.3 \ XMPI_Coloron.3 MAN5= CONSTANTS.5 \ appschema.5 \ bhost.5 \ conf.5 \ lam-helpfile.5 \ procschema.5 MAN7= LAM.7 \ MPI.7 \ lam.7 \ lamssi.7 \ lamssi_boot.7 \ lamssi_coll.7 \ lamssi_cr.7 \ lamssi_rpi.7 \ libmpi.7 \ mpi.7 NO_STAGE= yes .include .if ${ARCH} == amd64 || ${ARCH} == ia64 || ${ARCH} == sparc64 # Note: to enable TotalView on 64 bits platforms, # --enable-tv-dll-force should be added to CONFIGURE_ARGS PLIST_SUB+= 32BIT_ONLY="@comment " .else PLIST_SUB+= 32BIT_ONLY="" .endif pre-configure: @${REINPLACE_CMD} -E -e 's|/usr/bin/env perl|${PERL} -w| ; \ s|use warnings;||' ${WRKSRC}/tools/mpiexec/mpiexec post-install: .if ${ARCH} != "i386" && ${ARCH} != "powerpc" ${RMDIR} ${PREFIX}/lib/lam .endif .if defined(MAINTAINER_MODE) regression-test: install (cd ${BUILD_WRKSRC}/examples; \ ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) .endif .include