[ET Trac] [Einstein Toolkit] #515: Silently overrides DEBUG and OPTIMISE options

Einstein Toolkit trac-noreply at einsteintoolkit.org
Thu Aug 18 01:46:16 CDT 2011


#515: Silently overrides DEBUG and OPTIMISE options
----------------------------+-----------------------------------------------
  Reporter:  barry.wardell  |       Owner:  eschnett
      Type:  defect         |      Status:  new     
  Priority:  major          |   Milestone:          
 Component:  SimFactory     |     Version:          
Resolution:                 |    Keywords:          
----------------------------+-----------------------------------------------

Comment (by barry.wardell):

 In principal, I agree that having --debug, --optimise and --profile is a
 nice feature. However, I think the current implementation is worse than
 not having those options at all. The problems I have with it are:

 1. It '''silently''' overwrites the options inside the build command.
 2. Because the default for --debug is False, if I don't give any --debug
 or --optimise options it silently changes my optionlist to DEBUG="no" and
 OPTIMISE="yes".
 3. OPTIMISE is set based on the --debug option being False, so --optimise
 is essentially useless.
 4. The only way to find out about the --debug, etc. options is to read the
 source code for sim-build.
 5. It unconditionally overrides the CACHELINE_BYTES and CACHE_SIZE
 options, making it impossible to use any values other than those in the
 mdb for the machine.
 6. As Roland mentioned, it is not possible to enable debug by default on a
 machine (correct me if I'm wrong on this).

 I think 1, 2 and 5 would be OK if the OptionLists were considered an
 internal implementation detail in SimFactory. In that case, it setting any
 of these overridden options in a SimFactory OptionList would be an error.
 This is not the case because, as you say, it is desirable to use a
 SimFactory OptionList without SimFactory (Why? Shouldn't you use the final
 optionlist after being processed by SimFactory?). Having these options in
 the OptionLists indicates that it is possible to change them. I think we
 should choose between these two, unless someone has a better suggestion?

 I think 3 is just wrong, but necessary because optimise and debug probably
 use conflicting settings. The attached patch is my suggested fix. It first
 checks the --optimize setting and then only if debug is enabled does it
 disable optimisation (with a warning).

 4 is a common annoyance with an obvious (but time consuming) solution.

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/515#comment:3>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list