Default behavior for traces (during configure and execution)?
Dear StarPU developers,
In the reference documentation, it is mentioned that StarPU should be configured with the --with-fxt
option to generate traces and that the STARPU_FXT_TRACE
can be set to 0
to disable the generation of the prof_file_XXX_YYY file
.
This is a great option to have. However, I am wondering whether it could be possible to have the following alternative default:
- StarPU configured with
--with-fxt
behavior by default (and something like--no-fxt
to disable it at configure); - Without STARPU_FXT_TRACE explicitly set, the trace would not be generated (and conversely one could set
STARPU_FXT_TRACE
to1
to enable trace generation)
Of course, it certainly means that a performance study must be conducted, in order to make sure that the compilation with traces turned on does not have a significant overhead (of course when the trace is disabled during the execution with the STARPU_FXT_TRACE
option properly set up). I am also aware that it possibly means changing the internals of StarPU to limit the overhead, which may be a significant amount of work.
There is thus no emergency at all on this issue. But as discussed with @thibault, @furmento and @aumage, I open the issue so that the discussion can be shared.
One advantage of the proposed default is that in most cases, we would only need one version of StarPU installed, while as soon as we conduct performance studies it is currently preferable to have both fxt and no-fxt versions installed. As a side effect, it would make the packaging in distributions (spack, guix, ...) more compact for StarPU and packages that depend on it (such as StarPU-cuda, chameleon, ...).
Thanks much once again for your support.
Best regards,
Manu