blob: 0eb2bf9eef928c5de0dd2d0d54e8a8e0866c3b6e [file] [log] [blame]
<?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>