In the shared memory configuration, it is not necessary to use message passing to move information from one module to another since memory is globally accessible. In the few cases where the user would ordinarily have to pass information using message passing, it is easiest and most efficient to simply copy the information to the new location. This copying gets done in the send function and hence the receive function is never actually called. This means that the user must perform all necessary initialization, etc. in the send function. This makes it a little confusing to write source code which will work for all configurations. However, the confusion should be minimized by looking at the sample applications, especially the VRP solver, which works in all configurations, sequential, distributed parallel, and shared parallel.