add some MPI tests.
This commit is contained in:
		
							
								
								
									
										13
									
								
								library/lammpi/examples/hello.yap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								library/lammpi/examples/hello.yap
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
 | 
			
		||||
:- use_module(library(lam_mpi)).
 | 
			
		||||
 | 
			
		||||
:- initialization(main).
 | 
			
		||||
 | 
			
		||||
main :-
 | 
			
		||||
       mpi_init,
 | 
			
		||||
       mpi_comm_size(Sz),
 | 
			
		||||
       mpi_comm_rank(Rank),
 | 
			
		||||
       mpi_version(V0,V1),
 | 
			
		||||
       format('MPI ~d.~d workers=~d id=~d~n', [V0,V1,Sz, Rank]),
 | 
			
		||||
       mpi_finalize.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										30
									
								
								library/lammpi/examples/talk.yap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								library/lammpi/examples/talk.yap
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
 | 
			
		||||
:- use_module(library(lam_mpi)).
 | 
			
		||||
 | 
			
		||||
:- initialization(main).
 | 
			
		||||
 | 
			
		||||
main :-
 | 
			
		||||
       mpi_init,
 | 
			
		||||
       mpi_comm_size(2),
 | 
			
		||||
       mpi_comm_rank(Rank),
 | 
			
		||||
       do_comm(Rank),
 | 
			
		||||
       mpi_finalize.
 | 
			
		||||
 | 
			
		||||
do_comm(0) :-
 | 
			
		||||
	   between(1,10,I),
 | 
			
		||||
	   gen_list(I,List),
 | 
			
		||||
	   mpi_send(List, 1, I),
 | 
			
		||||
	   fail.
 | 
			
		||||
do_comm(0).
 | 
			
		||||
do_comm(1) :-
 | 
			
		||||
	   between(1,10,I),
 | 
			
		||||
	   mpi_recv(0, I, List),
 | 
			
		||||
	   writeln(I:List),
 | 
			
		||||
	   fail.
 | 
			
		||||
do_comm(1).
 | 
			
		||||
 | 
			
		||||
gen_list(0,[]) :- !.
 | 
			
		||||
gen_list(I,I.List) :-
 | 
			
		||||
          I1 is I-1,
 | 
			
		||||
          gen_list(I1,List).
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user