<?xml version="1.0" encoding="UTF-8"?>
<templates>
<template name="mpiif" 
          id="org.eclipse.ptp.pldt.mpi.templates.c.mpiif"
          autoinsert="true" context="org.eclipse.cdt.ui.text.templates.c" deleted="false" 
          description="MPI_Init and Finalize" enabled="true" >
MPI_Init(&amp;argc, &amp;argv);

MPI_Finalize();
</template>
<template name="mpisr"
    id="org.eclipse.ptp.pldt.mpi.templates.c.mpisr"
	autoinsert="true" context="org.eclipse.cdt.ui.text.templates.c" deleted="false" 
	description="MPI Send Receive" enabled="true" >
MPI_Comm_rank(${MPI_COMM_WORLD}, &amp;${rank}); 
MPI_Comm_size(${MPI_COMM_WORLD}, &amp;${p}); 	

if (${rank} == 0){ // the master task
		${cursor}printf("Hello From process 0: Num processes: %d\n",${p});
	    for (${source} = 1; ${source} &lt; p; ${source}++) {
		    MPI_Recv(${message}, 100, ${MPI_CHAR}, ${source}, ${tag},
		          ${MPI_COMM_WORLD}, &amp;status);
		    printf("%s\n",${message});
	    }
	}
	else{  // worker tasks
		/* create message */
			sprintf(${message}, "Hello from process %d!", ${rank});
			dest = 0;
			/* use strlen+1 so that '\0' get transmitted */
			MPI_Send(${message}, strlen(${message})+1, ${MPI_CHAR},
			   dest, ${tag}, ${MPI_COMM_WORLD});
	}</template></templates>