Some question about openmp reconstruct

Hi rzbbc,

Q1: Parallelism will reduce the run time. In reality, as you increase the number of processors, the efficiency will be deviated from the ideal speedup curve. This is true for all applications even for the embarrassed parallel program. The only difference is how quickly the application’s performance deviates from the ideal curve. One side note, the performance also depends of how the domain is decomposed (related to computation communication ratio). For example, for an application heavily depends on communication along the x-axis, the 1 x n decomposition will perform better than n x 1. The bottom line is use the computational resources wisely. OpenMP can be a good supplement to scaling benefit to me is still an open question (application dependent). Please note that you have misused the Moore’s Law :slight_smile:

Q2. Please note that CMAQ was parallelized based on MPI only (did not have MPI-OpenMP hybrid whatsoever in mind). As you have noticed that you need some reconstruction to make CMAQ has the hybrid capability. I don’t deny that. We always welcome constructive criticism but otherwise we respect each entitled opinion.

Q3. You are absolutely correct. Binding a thread to a particular processor is critical in terms of performance in OpenMP application. Please let us know what you find respect to your statement “I think mpi-openmp will be a better choice for “bigger” case.”

Cheers,

David