[ET Trac] [Einstein Toolkit] #1532: The ET should handle "optional" thorns (OpenCL ect) in a better way.

Einstein Toolkit trac-noreply at einsteintoolkit.org
Mon Feb 3 15:17:59 CST 2014


#1532: The ET should handle "optional" thorns (OpenCL ect) in a better way.
--------------------------+-------------------------------------------------
  Reporter:  rhaas        |       Owner:  eschnett           
      Type:  enhancement  |      Status:  reopened           
  Priority:  minor        |   Milestone:                     
 Component:  Cactus       |     Version:  development version
Resolution:               |    Keywords:                     
--------------------------+-------------------------------------------------

Comment (by hinder):

 If the thorns are commented in the thornlist, how do they get checked out?

 I think that when someone downloads the ET, everything should be
 downloaded.  It should then all be synced to remote machines.  What we
 need to decide is at what point the thorns which don't work there
 acknowledge this fact.  When running tests etc, I don't want to have to do
 something special for certain machines.

 One solution is for the thorns to complain at run-time, but only if they
 are used.  So if I have an OpenCL thorn, Cactus would still successfully
 build the thornlist, but at runtime, if I try to activate the thorn, it
 will complain that it does not work on this machine.  This would have the
 effect that tests would fail rather than just not be run, and this option
 might be difficult to implement.

 The alternative is to have an external agent (simfactory) responsible for
 modifying thornlists, which I don't like very much, as it leads to a lot
 of confusion, as most people think the thornlist they see is the one that
 Cactus uses, not a modified thornlist.  But this might be the best overall
 solution.  Rather than having an enabled-thorns entry, I think we should
 have a disabled-thorns entry; after all, it should be exceptional that
 thorns *fail* to work.  SimFactory could also add a message to the
 thornlist explaining that it has disabled the thorn, so that someone who
 digs into the configs directory to find out why a thorn is not compiled in
 will see the reason.  I still don't like the fact that users will be
 surprised that the thorn just isn't included in the executable, despite it
 being in the thornlist.  Maybe we can put a comment in the main ET
 thornlist next to each of these thorns which explains that it is disabled
 on some machines, and to look in the mdb file to see which ones. The
 downside of using disabled vs enabled is that thorns using libraries which
 are not available everywhere will cause trouble for new users unless we
 build those libraries ourselves.

 This is not an easy problem to solve.

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


More information about the Trac mailing list