-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is it possible to run the multiple binaries of one type of compilers #340
Comments
Yes, you can do this by adding each compiler to the I'm not sure this would be a good approach with using FPChecker as this will cause FLiT to instrument every file anyway. I'm not sure what would happen with the output, or what the instrumented object files would do when linked with the non-instrumented object files. (@ilagunap might have better input on this.) If you want to run FPChecker on the entire codebase, it probably makes more sense to just bypass FLiT and compile the entire thing with For combining these utilities, I think it makes more sense to apply these in a pipeline, i.e. run FLiT to identify trouble files then apply FPChecker to this limited file scope. I have an example of this if this is relevant to what you're trying to do. |
For a regular FLiT run, yes you can use multiple different compilers. You just need to create the appropriate entries in the https://github.com/PRUNERS/FLiT/blob/devel/documentation/standard-c++-library-implementations.md The main trickiness comes when you want to use FLiT Bisect. You just need to make sure that they are using the same standard library. This is documented in https://github.com/PRUNERS/FLiT/blob/devel/documentation/standard-c++-library-implementations.md You may need to specify some compiler flags to the non-system compiler to use the correct libraries, include directories, and link against the correct libraries. Some of that is in the page above detailing the standard C++ library implementation. For a regular flit run, it should be fine to use the fpchecker version. But FLiT Bisect might choke because you may be breaking ABI guarantees that the compiler assumes. You're welcome to give it a try, but there are no guarantees. |
Hi John, Mike |
That does sound familiar. Sorry, it's been so long since I've actually touched this code... It looks like this has been documented in issue #40. This issue was mentioned in pull requests #301 and #309. I guess I never got around to figuring out a way to resolve this issue. The problem stems from the way we are storing the different flags and behavior for each compiler. The Makefile variable names are tied to the type of compiler rather than some other unique identifier. This is implemented in scripts/flitcli/flit_update.py which uses the Makefile template data/Makefile.in. I think Ian got around this issue when running experiments by having more than one toml config file, then copying the test directory with a different toml file and running them individually. Would this workaround work for you until we implement #40? You're more than welcome to try to implement #40 and issue a pull request. We would be happy to provide guidance and assist when we can. |
Hi Mike, |
Feature Request
Can it support multiple binaries for one type of compiler?
Description:
Sometimes we want to test different versions of one type of compiler.
Moreover, in my case, I have a modified
compiler
namedclang++-fpchecker
which is based onclang++
. I want to run bothclang++-fpchecker
andclang++
. But now, I need to build and run them separately. I was wondering if we could run these compilers together in one build and run.Suggested change:
A clear and concise description of what you want to happen. Add any considered drawbacks. You can also specify potential design or architecture directions with planned implementation details.
Alternative approaches:
A clear and concise description of any alternative solutions or features you've considered.
The text was updated successfully, but these errors were encountered: