[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