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