Hi All.<br><br>I have parallel PDE/CFD code in fortran.<br>Let we consider it consisting of two parts:<br><br>1) Startup part; that includes input reads, splits, distributions, forming neighborhood information arrays, grid arrays, and all related. It includes most of the necessary array declarations.<br>
<br>2) Iterative part; we proceed the solution in time.<br><br><br>Approach One:<br>============<br>What I do is that during the Startup phase, I declare the most array allocatable and then allocate them sizes depending upon the input reads and domain partitioning. And then In the iterative phase I utilize those arrays. But I "do not" allocate/deallocate new arrays in the iterative part.<br>
<br><br>Approach Two:<br>============<br>I think that, what if I first use to run only the start -up phase of my parallel code having allocatable like things and get the sizes-values required for array allocations for a specific problem size and partitioning. Then I use these values as contant in another version of my code in which I will declare array with the contant values obtained.<br>
<br><br>So my question is that will there be any significant performance/efficiency diffrence in the "ITERATIVE part" if the approch two is used (having arrays declared fixed sizes/values)?<br><br><br>Thank You for your kind attention.<br>
<br>with best regards,<br>Amjad Ali. <br>