small tests for MPI interface
This commit is contained in:
		
							
								
								
									
										29
									
								
								library/lammpi/examples/bcast.yap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								library/lammpi/examples/bcast.yap
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
 | 
			
		||||
:- use_module(library(lam_mpi)).
 | 
			
		||||
 | 
			
		||||
:- initialization(main).
 | 
			
		||||
 | 
			
		||||
main :-
 | 
			
		||||
       mpi_init,
 | 
			
		||||
       writeln(ok1),
 | 
			
		||||
       mpi_comm_size(N),
 | 
			
		||||
       writeln(ok2:N),
 | 
			
		||||
       mpi_comm_rank(Rank),
 | 
			
		||||
       do_comm(Rank),
 | 
			
		||||
       mpi_finalize.
 | 
			
		||||
 | 
			
		||||
do_comm(Rank) :-
 | 
			
		||||
	   between(1,10,I),
 | 
			
		||||
	   NI is I*10,
 | 
			
		||||
	   gen_list(NI,List),
 | 
			
		||||
	   mpi_bcast2(0, List),
 | 
			
		||||
	   mpi_barrier,
 | 
			
		||||
	   format('Rank=~d Msg=~w~n',[Rank,List]),
 | 
			
		||||
	   fail.
 | 
			
		||||
do_comm(_).
 | 
			
		||||
 | 
			
		||||
gen_list(0,[]) :- !.
 | 
			
		||||
gen_list(I,[I|List]) :-
 | 
			
		||||
          I1 is I-1,
 | 
			
		||||
          gen_list(I1,List).
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user