The First Rule

SYMPHONY has many built-in options to make debugging easier. The most important one, however, is the following rule. It is easier to debug the fully sequential version than the fully distributed version. Debugging parallel code is not terrible, but it is more difficult to understand what is going on when you have to look at the interaction of several different modules running as separate processes. This means multiple debugging windows which have to be closed and restarted each time the application is re-run. For this reason, it is highly recommended to develop code that can be compiled serially even if you eventually intend to run in a fully distributed environment. This does make the coding marginally more complex, but believe me, it's worth the effort. The vast majority of your code will be the same for either case. Make sure to use the configuration flag to -enable-debug while configuring (see Section 2.2.2.2).



Ted Ralphs
2016-02-19