Changes between Version 6 and Version 7 of Things To Do
- Timestamp:
- 01/28/10 22:46:23 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Things To Do
v6 v7 44 44 * Interestingly, the parallel version is not necessarily correct when the number of cells is less than the number of processes. It is possible for there to be a process "gap" between two consecutive cells. But you need at least 5 procs in order to see this. Added {{{Diffusion_5_2_5_Test.java}}} to demonstrate this. The fix: just change the way the neighbor ranks are computed (left/right, upper/lower). These should be computed using the {{{owner}}} function to find out the rank of the process that owns the row next to you, instead of just assuming this will be your rank +/- 1. 45 45 46 == Parameters == 47 48 We need a notion of a ''parametrized model''. So we only have to write a single model {{{laplace}}} (for example), and not {{{laplace_2_2}}}, {{{laplace_2_3}}}, etc. 49 50 Should the parameters be dealt with like pre-processor directives ({{{#define N 3}}})? 51 52 A parametrized model should basically be a function which takes some parameter values and returns a {{{ModelIF}}}. It could have a method 53 54 {{{ModelIF instantiate(Map<P,V> parameterValues);}}} 55 56 or something like that, where the map assigns a value to each parameter. The MiniMP representation might look something like: 57 58 {{{ 59 parameter int N = 7; /* default value */ 60 parameter bool BLACK; 61 #ifdef BLACK 62 ... 63 #endif 64 }}} 46 65 47 66 67
