-
Notifications
You must be signed in to change notification settings - Fork 41
Closed
Milestone
Description
These are my planned cleanups, in three steps:
- Cleanup make system (dev branch)
- Remove globbing and the non-deterministic build failures caused by this
- Remove fake nvcc and similar kludges
- Use a central Makefile for examples
- Simplify switch to OMP to only adding
OMP_TARGET=1
- Automate running (and timing) of all examples as a test system
- Add separate run lines for each test in
int_testing.py
- Fix 4 remaining examples that currently (also in master?) fail
-
dalitz
:std::logic_error
,basic_string::_S_construct
null not valid: Missing parameter (now has a default) -
zachFit
: Was missing a file (nice error message now) -
pipipi0DPFit
: Missing parameter (now gives nice error message) -
chisquare
: Missing parameter (now has a default)
-
-
let_testing.py
skips tests that are missing files
Done! See PR #23 .
- Move files to more traditional structure (new folders branch)
- New structure, including:
include/goofit
include/goofit/PDFs
include/goofit/rootstuff
src/goofit
src/PDFs
src/rootstuff
- Including goofit files (in goofit and examples) would be:
#include "goofit/MyGoofitHeader.h"
- File extension normalized (one ext for cpp, one for cuda, and one for headers)
- Added script to automate this for easy transitions
- Clean up formatting with astyle, include style file
.astylerc
Done! Now in the dev branch.
- Move to CMake build system (better builds, make it easier to integrate Hydra ?
- More compute capability choices, auto enables 3.5 extra features if possible, Auto option for GPU detection. Uses latest version of FindCUDA, supplied for CMake < 3.7
- Optional separable compilation: cleaned up PDFs, added as option (on one system, multithreaded builds went from ~5 minutes to under 2 minutes)
- Add auto Cuda/OMP option
- Add Intel build
- Add support for GooFit Packages
- Allow packages/examples to add PDFs
Done! Now in the dev branch.
- Further questions:
- Add documentation about building to readme
- Remove unneeded warnings
Future work
- Look at including Hydra
- Look at setting up Travis CI (with low compute power tests!)
- Add TBB - too hard for now, due to use of THREADIDX, BLOCKIDX
- Improve separation of headers and source in PDFs
- Look at removing the separate docs branch, and use
docs
inmaster
(now supported in GitHub) - Make datafiles more readily available
- Use some sort of parser in the examples to improve option descriptions
hassec
Metadata
Metadata
Assignees
Labels
No labels