So 2 questions.

1) MPI_Init. I'm trying a python -> c -> cluster project. So I have no problem with the python -> c, but the problem comes with the c-> cluster. I'm making a python wrapper (I believe this is the correct term) around a premade c driver for the program that uses the cluster. The problem i see is that the original program is a main(argc,argv), and it uses the argc and argv as input for MPI_Init, as do the MPI_Init examples i saw. So i looked at MPI_Init.h, and it doesn't seem to actually use argc and argv for anything. Is there anyway to get around this? And what do the inputs do for MPI_Init.

2) I had help on my first integration of an external program into a big project. Now I have to do it myself, so I know how to make simple makefiles, but this is quite different. The file calls other functions, and I remember that a .dll file was made. Is there any intro/tutorials for making makefiles that are about big projects and library incorporations?


Simple version:
1) MPI_Init(what does the stuff here do).
2) Makefile for big projects help, intro/tutorials.

Help is greatly appreciated.

> So i looked at MPI_Init.h, and it doesn't seem to actually use argc and argv for anything.
Well you won't, looking at the .h.

If you've got no desire to control MPI from the command line, then

MPI_Init(0,NULL);

seems like a good bet.

Or if that fails, try

char *fake[] = { "noprogramname", NULL };
MPI_Init(1,fake);

Thanks for the direction, it appears that MPI_Init(NULL,NULL) should work depending on the mpi implementation, it works with mpi2, but mpi1 needs argv/argc.

Any help with the makefile? One that specifically helps with making library files, linking, and anything above the standard gcc.

This article has been dead for over six months. Start a new discussion instead.