#1865: Automatically start SystemTopology ----------------------------------+----------------------------------------- Reporter: dradice@… | Owner: eschnett Type: enhancement | Status: review Priority: major | Milestone: Component: Carpet | Version: development version Resolution: | Keywords: ----------------------------------+----------------------------------------- Changes (by hinder):
* status: new => review
Comment:
Aside: I think we shouldn't use the word "depends" in this case; OPTIONAL means "use this capability if it is present", so maybe we should say "MPI optionally uses hwloc".
I don't understand what I wrote above. Let me try again. Looking at the configuration.ccl files mentioning hwloc, we have:
{{{ CactusUtils/SystemTopology/configuration.ccl:REQUIRES hwloc MPI
Carpet/LoopControl/configuration.ccl:OPTIONAL CycleClock hwloc Vectors
ExternalLibraries/MPI/configuration.ccl:OPTIONAL hwloc
}}}
SystemTopology requires both hwloc and MPI.
MPI optionally uses hwloc, because it might be building MPI, and the MPI library might make use of hwloc.
LoopControl optionally uses hwloc. There doesn't seem to be anything in LoopControl that directly references hwloc. Is this because LoopControl uses threads, and it is good to pin those threads?
Assuming all the above is right, I think the right thing is to change the LoopControl OPTIONAL from hwloc to SystemTopology. This would have the effect of automatically activating SystemTopology whenever anyone uses the ET thornlist, and allowing it to manage thread pinning.
Agreed?