Skip to content

Conversation

henryiii
Copy link
Member

@henryiii henryiii commented Apr 21, 2017

GooFit cleanup, consisting of:

  • Using standard terminology consistently for CUDA (closes Clean up terminology #57)
  • Removing the fakecuda directory and hacks associated with it
  • Removing devcomplex, and moving to using thrust::complex everywhere (closes Complex numbers #58)
  • Removing using namespace std from all header files
  • Use #pragma once in all headers
  • Removing includes from header files, using forward declarations instead, and includes in src: Faster compilation, especially for PDFs
  • Removing many warnings about initialization order, using C++11 style in more places
  • Use Arch 3.5+ features through the compiler, allowing mixed targets, removed flag
  • Expand __ldg to support non-intrinsics, using generics mini-library
  • Dropping many of the odd help print defines that were untested and often invalid
  • Removing the ALL_CAPS math defines; CUDA already selects the correct one for float/double
  • Several classes moved to header (Variable, FitControl)
  • Use submodules instead of DownloadProject, automated in CMake, moved libraries to /extern
  • Examples now give an error if the fit fails (FitManager can be used as int or bool), better logs for RunAll.py
  • Removed a couple of headers for root stuff that managed to survive
  • Added warnings to --goofit-details if optimizations are missed, added better optimization for host code on CUDA
  • Made dependency on rang simpler, GooFit::red == rang::fg::red
  • Unrecommended, but in-source builds are supported again

scripts/ModernizeGooFit.py knows about most of the new changes and can assist in converting old code.

@codecov
Copy link

codecov bot commented Apr 21, 2017

Codecov Report

Merging #61 into master will increase coverage by 1.28%.
The diff coverage is 60.43%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #61      +/-   ##
==========================================
+ Coverage   46.89%   48.17%   +1.28%     
==========================================
  Files          24       23       -1     
  Lines        1126     1098      -28     
  Branches      144      145       +1     
==========================================
+ Hits          528      529       +1     
+ Misses        598      569      -29
Impacted Files Coverage Δ
include/goofit/PDFs/GooPdf.h 40% <ø> (ø) ⬆️
include/goofit/fitting/FitManagerMinuit2.h 100% <ø> (ø) ⬆️
include/goofit/BinnedDataSet.h 0% <ø> (ø) ⬆️
include/goofit/PdfBase.h 70.58% <ø> (ø) ⬆️
include/goofit/UnbinnedDataSet.h 100% <ø> (ø) ⬆️
include/goofit/DataSet.h 66.66% <0%> (+6.66%) ⬆️
src/goofit/BinnedDataSet.cc 0.78% <0%> (ø) ⬆️
include/goofit/GlobalCudaDefines.h 100% <100%> (ø)
src/PDFs/NovosibirskPdf.cu 100% <100%> (+3.44%) ⬆️
src/PDFs/BifurGaussPdf.cu 71.42% <100%> (ø) ⬆️
... and 12 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a108c9c...1d24479. Read the comment docs.

@henryiii henryiii changed the title [WIP] Cleanup Cleanup Apr 27, 2017
@henryiii
Copy link
Member Author

Ready for review. @galapaegos, @hassec ?

@henryiii henryiii merged commit cd3114f into master May 2, 2017
@henryiii henryiii deleted the cleanup branch May 2, 2017 19:31
@henryiii henryiii modified the milestone: V 2.0 Jun 8, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Complex numbers Clean up terminology
1 participant