| <?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(&argc, &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}, &${rank}); |
| MPI_Comm_size(${MPI_COMM_WORLD}, &${p}); |
| |
| if (${rank} == 0){ // the master task |
| ${cursor}printf("Hello From process 0: Num processes: %d\n",${p}); |
| for (${source} = 1; ${source} < p; ${source}++) { |
| MPI_Recv(${message}, 100, ${MPI_CHAR}, ${source}, ${tag}, |
| ${MPI_COMM_WORLD}, &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> |