Skip to content
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

Reshape Layer implementation for the GPU Architecture #8

Open
wants to merge 400 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
Show all changes
400 commits
Select commit Hold shift + click to select a range
9ca988b
- spell check
couet Jun 14, 2018
7eca657
use auto
couet Jun 14, 2018
117657e
Add operator<< for RSha256Hash, also exploiting ADL
dpiparo Jun 13, 2018
a159306
[IO] Add printout about non-treatment of streamer info record
dpiparo Jun 13, 2018
cfd707f
[DF] Warn the user in case a lazy snapshot was booked but not triggered
dpiparo Jun 14, 2018
8231746
[DF] Add tests for non-triggered lazy snapshot in the sequential and …
dpiparo Jun 14, 2018
1899523
[DOC] Uniform doxygen doc for TTree::Write overloads
eguiraud Jun 14, 2018
b420f8f
[DF] Clean after test cast
eguiraud Jun 14, 2018
2d573be
[cxxmodules] Implement Bloom Filter
yamaguchi1024 Jun 1, 2018
6f23666
[DF] Look for branches names only once and cache the result
dpiparo Jun 15, 2018
4555217
Make header standalone, encapsulate better sha related routines.
dpiparo Jun 15, 2018
b3cf3ff
Realease Notes
dpiparo Jun 15, 2018
0990957
- Spell check
couet Jun 14, 2018
c022c71
- Use auto
couet Jun 14, 2018
38ae8bc
- use auto
couet Jun 14, 2018
c4b5f0e
- use auto
couet Jun 14, 2018
132ee19
- spell check
couet Jun 14, 2018
35702ff
- use auto
couet Jun 14, 2018
dd561f6
Use auto
couet Jun 14, 2018
0030a48
- use auto
couet Jun 14, 2018
59fd301
- use auto
couet Jun 14, 2018
7970ab8
- new picture with the new default palette
couet Jun 14, 2018
b40c624
- Use auto
couet Jun 14, 2018
de12875
new image corresponding to the new default palette
couet Jun 14, 2018
bf56fa7
new image corresponding to the new default palette
couet Jun 14, 2018
fe344ab
more "auto"
couet Jun 14, 2018
a9810ea
New version using the new default palette
couet Jun 14, 2018
7e41843
- use auto
couet Jun 14, 2018
1c5d12b
Better picture
couet Jun 15, 2018
ba6d27c
- Use auto
couet Jun 15, 2018
32a8783
- Use auto
couet Jun 15, 2018
81eab20
- Use auto
couet Jun 15, 2018
f9ac287
In TAttAxis::SaveAttributes` take into account the new default valu…
couet Jun 15, 2018
9359221
[Doc][NFC] Better image for RDF doc
dpiparo Jun 15, 2018
de5583a
[cxxmodules] Fix bloom filter without .gnu.hash
yamaguchi1024 Jun 15, 2018
47ed9ca
[cxxmodules] Respect LD_LIBRARY_PATH order and save memory
yamaguchi1024 Jun 4, 2018
c9bff76
Fix stressgraphics ref file after the change in TAttAxis
couet Jun 18, 2018
fede5bf
Comment unused parameters.
Axel-Naumann Jun 1, 2018
e3b505e
Mark unimplemented new() "throw()" as they return nullptr.
Axel-Naumann Jun 1, 2018
8624c44
Unused parameters.
Axel-Naumann Jun 4, 2018
c2877de
RConfig.h uses things defined in RConfigure.h: include it!
Axel-Naumann Jun 4, 2018
c4cac8a
Add VDT to list of builtin targets so it builds before ROOT
amadio Jun 18, 2018
5694bf7
[cxxmodules] Support both sysv and gnu hash for bloom filter
yamaguchi1024 Jun 16, 2018
eabd45e
[DF] Remove useless statement.
dpiparo Jun 19, 2018
6553e01
[IMT] Better documentation.
dpiparo Jun 19, 2018
32406ba
Added function to detect c++ attributes at function definition.
SimeonEhrig Jun 18, 2018
b27a76a
[PyROOT] Add tutorial for pretty printing feature
stwunsch Jun 18, 2018
362b7d8
Rip out ruby, unmaintained and not building since years (ROOT-9193).
Axel-Naumann Jun 18, 2018
114d374
Mention removal of ruby bindings.
Axel-Naumann Jun 19, 2018
b9ef7b6
Swap bits 20 and 21 to bit coherent with TGraph.h where bit 20 is kIs…
couet Jun 19, 2018
e6b8a3c
[R__LOCKGUARD] Add parens around mutex expression (ROOT-9479).
Axel-Naumann Jun 19, 2018
0605720
Revert "Swap bits 20 and 21 to bit coherent with TGraph.h where bit 2…
couet Jun 20, 2018
13855fb
Fix zero initialization in `TCudaMatrix` (#2208)
steremma Jun 20, 2018
d1cea39
Outline ~IPruneTool() to pin vtable.
Axel-Naumann May 23, 2018
f2ec246
ROOT-9483 -- Prevent nullptr deref. in compiled macros (#2214)
ashlaban Jun 20, 2018
258d5c4
Revert "Outline ~IPruneTool() to pin vtable."
Axel-Naumann Jun 20, 2018
0bfe81d
Revert "Mark unimplemented new() "throw()" as they return nullptr."
Axel-Naumann Jun 20, 2018
2c8a29d
[DF] Rename action helpers' InitSlot to InitTask
eguiraud Jun 20, 2018
9e00122
[DF] Make all action helpers inherit from RActionImpl
eguiraud Jun 20, 2018
f4a0f20
[DF] Decorate every action helper with an empty FinalizeTask method
eguiraud Jun 20, 2018
068447b
[DF] Call ActionHelper::FinalizeTask at the end of each task
eguiraud Jun 20, 2018
ff8e9bd
[DF][NFC] Add comment on the ownership of the output trees
eguiraud Jun 14, 2018
caa388f
[DF] Give SnapshotHelperMT ownership of its output trees
eguiraud Jun 14, 2018
a1632b4
[DF] Do not flush buffers with empty trees from MT Snapshot
eguiraud Jun 14, 2018
feefa22
[DF] Test Snapshot does not write out empty tree buffers
eguiraud Jun 14, 2018
17c1ef4
[DF] Avoid concurrent destruction of input and output trees
eguiraud Jun 20, 2018
771fdc1
Re-add computation of correlation matrix for every data set that it i…
lmoneta Jun 21, 2018
87801d0
[DF] Use std::numeric_limits instead of climits
eguiraud Jun 22, 2018
815c9ad
[DF][NFC] Order includes in RDFNodes.hxx
eguiraud Jun 22, 2018
c7f882a
[DF] Use R__ASSERT instead of cassert
eguiraud Jun 22, 2018
522c513
[DF] Use std::stack instead of std::vector as a stack
eguiraud Jun 22, 2018
4c57cb7
[DF] Use stacks rather than single output files in Snapshot MT
eguiraud Jun 22, 2018
18cd110
[DF] Expect test death rather than asserting it
eguiraud Jun 23, 2018
a8f9d50
[DF] Add TColumnValue extern templates for common types
dpiparo Jun 14, 2018
5c4f0ef
[DF] TColumnValue: replace constexpr static data member with integral…
dpiparo Jun 22, 2018
ad14183
[DF] Due to a bug in clang, disable extern TColumnValue templates for…
dpiparo Jun 23, 2018
ef757ad
[DF] Add TColumnValue<T> autoload keys to avoid undefined symbols
dpiparo Jun 24, 2018
34f861b
[NFC] Formatting
dpiparo Jun 24, 2018
55b5c87
[DF] Avoid TChain::AddClone in Snapshot when unnecessary
eguiraud Jun 24, 2018
803fdf3
Add CUDA device compiler, which allows to generate CUDA PTX Code on r…
SimeonEhrig Mar 20, 2018
2b65d02
CUDA device compiler can use include paths from cling runtime.
SimeonEhrig Mar 21, 2018
167d662
Overwork of the include path handling of the CUDA device compiler.
SimeonEhrig Mar 21, 2018
0952002
Setting the arguments of cling to clang nvptx and fatbinary are possi…
SimeonEhrig Mar 22, 2018
0cce21f
Add workaround for clang PCH-bug
SimeonEhrig Mar 26, 2018
528a21c
The CUDA compiler can handle variable declarations from the prompt.
SimeonEhrig Mar 27, 2018
574243d
Improve Error Message.
SimeonEhrig Apr 5, 2018
d45c112
Fix temp-path bug.
SimeonEhrig Apr 18, 2018
b339f0e
Improve the search of the clang instance for CUDA.
SimeonEhrig Apr 18, 2018
f31a016
Add test cases for CUDA features.
SimeonEhrig Apr 24, 2018
78e8eba
Overwork CUDA device tests.
SimeonEhrig May 2, 2018
dd838fd
Add some complex cuda template kernel test cases.
SimeonEhrig May 2, 2018
997ad66
Add myself to the credits.
SimeonEhrig May 8, 2018
632c25a
Improve CUDA device code testcases.
SimeonEhrig May 17, 2018
3079c74
Add function, to save faulty .cu files of CUDA device compiler.
SimeonEhrig May 22, 2018
e463102
Improvements for Pull Request #240
SimeonEhrig May 29, 2018
1e07af8
Change clang nvptx input code selection.
SimeonEhrig Jun 11, 2018
47dfde4
Fix cuda template specialization bug.
SimeonEhrig Jun 20, 2018
ee9571f
Reformated the source code with clang-format.
SimeonEhrig Jun 20, 2018
f2d3573
Forgot header for clang build.
SimeonEhrig Jun 20, 2018
0c12eb3
[cling][NFC] Add GCC fallthrough comment.
Axel-Naumann Jun 25, 2018
b3226e5
[cling][NFC] Add GCC fallthrough comment, 80cols.
Axel-Naumann Jun 25, 2018
28374ed
Import cppyy-backend into ROOT
amadio Jun 7, 2018
15c042b
Import CPyCppyy into ROOT
amadio Jun 7, 2018
4884a54
Import cppyy into ROOT
amadio Jun 7, 2018
e60c1d1
Integrate CpyCppyy with ROOT's build system
amadio Jun 7, 2018
f45ec54
Add CMakeLists.txt for cppyy-backend
amadio Jun 7, 2018
f6cec9c
Add CMakeLists.txt for cppyy
amadio Jun 7, 2018
957a7c8
Add CMakeLists.txt for cppyy projects
amadio Jun 7, 2018
f7e8dc2
First skeleton for experimental PyROOT
etejedor Jun 7, 2018
6e335d4
Add CMakeLists.txt for pyroot_experimental
amadio Jun 7, 2018
7ce059d
Add option to build only experimental PyROOT
amadio Jun 5, 2018
4cd1e36
Require cxx14=ON or cxx17=ON when building with upstream cppyy
amadio Jun 8, 2018
798fd3e
Update PyROOT/Cppyy contributions
etejedor Jun 20, 2018
993b34a
State which is the corresponding #if
etejedor Jun 20, 2018
effca73
Make AddToGlobalScope static but not inline
etejedor Jun 20, 2018
5718bd8
Rename init function of PyROOT
etejedor Jun 20, 2018
42bef86
Remove unnecessary includes
etejedor Jun 21, 2018
da96166
Remove unnecessary inline
etejedor Jun 21, 2018
4b9752d
Follow ROOT naming convention
etejedor Jun 21, 2018
da340c6
Const-correctness fixes
etejedor Jun 21, 2018
15c5918
Give more meaningful name to variable
etejedor Jun 21, 2018
2a0e918
Refactor code in implementation of TTree __getattr__
etejedor Jun 22, 2018
724ee4f
Document the TTree pythonization function
etejedor Jun 22, 2018
94882ad
Delete patches: to be contributed upstream to Cppyy
etejedor Jun 22, 2018
c33dc24
Use a decorator for pythonizor functions
etejedor Jun 22, 2018
1f3d5c7
Follow PEP 8 style guide for indentation
etejedor Jun 22, 2018
942d83b
Add documentation for pythonization decorator
etejedor Jun 22, 2018
825128a
CMake: error out on afs glite sapdb srp.
Axel-Naumann Jun 25, 2018
52aeda2
[NFC] Typo in comment.
Axel-Naumann Jun 18, 2018
d519986
CMake: error out for chirp or ios; they are not CMake-d.
Axel-Naumann Jun 25, 2018
77b2ad2
Remove unmaintained and not buildable graph2d/ios.
Axel-Naumann Jun 18, 2018
4857029
Remove unmaintained io/chirp.
Axel-Naumann Jun 18, 2018
6afdfe9
CMake: rip out chirp from build system.
Axel-Naumann Jun 18, 2018
328e1e0
[RelNotes] Mention packages removed for v6.16.
Axel-Naumann Jun 25, 2018
4d78470
[cling] Move NullDerefProtectionTransformer into unnamed namesp.
Axel-Naumann Jun 22, 2018
fd11b39
[cling] Only check pointers for Decls from writable dirs (ROOT-9377).
Axel-Naumann Jun 23, 2018
9ded3b8
[Core] Split critical section in TClingClassInfo::GetBaseOffset
dpiparo Jun 25, 2018
08f2238
When the histograms' title's font was set in pixel the position of the
couet Jun 25, 2018
b8d941a
[DF] Change TSlotStackPutBackTooMany to only test the nominal case
eguiraud Jun 25, 2018
5af33f8
[DF] Use numeric_limits::max instead of UINT_MAX (part 2)
eguiraud Jun 25, 2018
ec4c3ff
[DF] TSlotStack uses local maps indexed with thread ids rather than t…
dpiparo Jun 25, 2018
4da6218
[DF][NFC] Remove redundant override
eguiraud Jun 11, 2018
2bb9f0b
[DF][NFC] Remove obsolete comments
eguiraud Jun 24, 2018
c76da94
[DF][NFC] Remove redundant forward declarations
eguiraud Jun 24, 2018
590b964
[DF] Add two helper aliases for TypeList operations
eguiraud Jun 24, 2018
b045a09
[DF] More readable tag dispatching in RCustomColumn
eguiraud Jun 24, 2018
b682a31
[DF] More readable tag dispatching for actions
eguiraud Jun 24, 2018
b654af5
[DF] Remove obsolete data members and methods from RCustomColumnBase
eguiraud Jun 24, 2018
e7c4d59
[DF] Help windows with friend declaration of printValue
eguiraud Jun 24, 2018
e8350ae
[DF][NFC] Rename JitActions -> BuildJittedNodes
eguiraud Jun 25, 2018
0db1003
[DF] Add RJittedCustomColumn, in line with RJittedFilter
eguiraud Jun 24, 2018
67ea09a
[DF] Use RJittedCustomColumn when jitting custom columns
eguiraud Jun 24, 2018
ca59437
Remove callback functionality from TBufferMerger
amadio Apr 17, 2018
331efa4
Restructure TBufferMerger to not need a separate output thread (v2)
amadio Apr 17, 2018
26acbe4
Add thisroot.fish for the fish shell!
Axel-Naumann Jun 25, 2018
39e9cd4
Mention thisroot.fish.
Axel-Naumann Jun 26, 2018
81f10a3
[cling] Check file is C_User before hitting disk. Thanks, Vassil!
Axel-Naumann Jun 26, 2018
5608438
[CMake] Turn on ccache by default on 32bits builds
dpiparo Jun 26, 2018
64ebe57
[DF] Remove obsolete part from error message
eguiraud Jun 26, 2018
9922208
[DF] Do not compare type infos but rather their names
dpiparo Jun 26, 2018
165d947
[cling] Test printValue on unutterable types.
Axel-Naumann Jun 25, 2018
95f3ecb
Remove more traces of ios and chirp.
Axel-Naumann Jun 26, 2018
af4c3f1
Change v7 (graphics) classes' names from Txxx to Rxxx (#2200)
couet Jun 27, 2018
9c2f1fc
[TMVA] -- Avoid unsafe reinterpret_cast
ashlaban Jun 26, 2018
270d6ee
[TMVA] Minimization-DNN remove input randomness (#2251)
ashlaban Jun 27, 2018
8042557
Fix doxygen error.
SimeonEhrig Jun 27, 2018
a65eabc
Include test directory using ROOT_ADD_TEST_SUBDIRECTORY
ellert Jun 19, 2018
61cd582
Simplified the APIs and reduced code duplication in `ConvLayer` and `…
steremma Jun 22, 2018
ed3fea9
Adapted `DeepNet` to the new API
steremma Jun 22, 2018
95001ca
Renamed kernel/filter fields to use the prefix "filter" rather than "…
steremma Jun 22, 2018
0a7faec
Code review corrections
steremma Jun 22, 2018
bed1568
Do not exclude etc/http directory from installation
amadio Jun 27, 2018
bc20f50
netxng: add possibility to control log verbosity with NetXNG.Debug
gganis Jun 25, 2018
7773fc7
netxng: give priority to Xrd_LOGLEVEL over NetXNG.Debug
gganis Jun 27, 2018
a220f70
Avoid double write
pcanal Jun 19, 2018
d87111e
Warn about problematic base class StreamerElement only once
pcanal Jun 26, 2018
deb12a6
Fix for https://github.com/cms-sw/cmssw/pull/22594
pcanal Jun 19, 2018
75724e0
Properly set fOnfileObject for the parent
pcanal Jun 26, 2018
38ffbe6
Use same normalization for branch, element name and later searches.
pcanal Jun 20, 2018
babece3
Insure we call SetRead/FillSequence after sub-branches have been added.
pcanal Jun 26, 2018
2e6c1b2
Remove obsolete (commented-out) code fragement
pcanal Jun 27, 2018
db24ec7
Factor out ActionSequence creation
pcanal Jun 27, 2018
5ef1ca0
Apply new ActionSequence creation to Fill
pcanal Jun 27, 2018
424e307
Remove obsolete TBranchElement::fIDs
pcanal Jun 27, 2018
ea26e97
Update RDF code owners
eguiraud Jun 28, 2018
f5c99ca
Fix warnings introduced by #2229
steremma Jun 28, 2018
06eeaac
Remove remaining references to removed Java configuration variables
ellert Jun 28, 2018
d10c296
Add missing include for std::shuffle
ellert Jun 28, 2018
2d06d1a
Fix test compilation on RHEL 7
ellert Jun 28, 2018
eed8115
[rootrc] Replace Root.ZipMode by Root.CompressionAlgorithm, passing i…
Axel-Naumann Jun 27, 2018
d50c3b3
[thisroot.fish] Clean up env vars; fix `cd -`.
Axel-Naumann Jun 27, 2018
8f274c9
CUDA implementation of Im2Col
steremma May 21, 2018
d5c7bae
Refactored Im2Col tests - now taking advantage of templates to elimin…
steremma May 21, 2018
aea2a01
Added CUDA specialization for the existing test suite
steremma May 21, 2018
2d8d9c0
Include CUDA tests into CMake
steremma May 21, 2018
c1dfc79
Added more documentation as per code review comments
steremma May 22, 2018
9dd4355
Final documentation changes in accordance with the official ROOT conv…
steremma May 23, 2018
3baccf5
fix a typo
steremma May 23, 2018
1226b09
Fixed tests, now returning error code in case of failure to enable CI…
steremma May 28, 2018
d33bb17
Fixed an indexing bug
steremma May 28, 2018
329cc56
Simplify example
couet Jun 29, 2018
61a35c8
The error on angle position along the radius doesn't depend on the an…
couet Jun 29, 2018
5cf222b
Get rid of the limitation for PHI sectors (#2265)
etcherniaev Jun 29, 2018
273aebc
fix wrong early return in hadd
xvallspl Jun 29, 2018
e24584a
Adjust reference for Aarch64 (#2120)
ellert Jun 29, 2018
6ca86fb
Fix in addition of template fwd declaration in rootmap
shahor02 Jun 29, 2018
cd3e2fd
[DF] Add cache examples
dpiparo Jun 30, 2018
93a41d5
[DF][NFC] Make clang format happy
dpiparo Jun 30, 2018
0fb8981
Fix line width and maker index issues on Windows
bellenot Jul 2, 2018
840de54
[DF] Introduced Standard Deviation Action
imaxoi Jun 29, 2018
38dede8
[DF] Fixed test to work in multithread
imaxoi Jun 29, 2018
3ea0f81
[DF] Std deviation unbiased
imaxoi Jun 29, 2018
17178bb
[DF] Renaming, tests on cornercases
imaxoi Jun 29, 2018
5fc0222
[DF] Added gtest for StdDev precision
imaxoi Jun 29, 2018
9f242a1
[DF] Added test for StdDev on collections
imaxoi Jul 2, 2018
7750bdc
Changed tests to be executed in multithread
imaxoi Jul 2, 2018
a7bafdb
Improved precision test
imaxoi Jul 2, 2018
1d72c04
[DF] Tests using EXPECT_DOUBLE_EQ instead of EXPECT_NEAR
imaxoi Jul 2, 2018
63f7bb5
[DF] Document better caching tutorials
dpiparo Jul 2, 2018
07e4a37
[DOCS] Update RDF release notes
eguiraud Jul 3, 2018
cdf7847
Implement splash screen version 6 on Windows
bellenot Jul 3, 2018
9dc4b40
xml: when reallocate buffer, also optionally recalculate current
linev Jul 3, 2018
01912c5
xml: use only offset from current position in LocateValue
linev Jul 3, 2018
a3af87a
xml: fix in bugfix
linev Jul 3, 2018
d06150b
xml: use variable reference in ExpandStream
linev Jul 4, 2018
47dd373
xml: no need to reassign curr variable - not a dummy now
linev Jul 4, 2018
87cf4b8
Added CUDA implementation for Downsample
steremma Jun 4, 2018
35d65f3
Added tests for the CUDA case and refactored the testing suite to eli…
steremma Jun 4, 2018
2251cb0
Added new testing entries to CMakeLists under the CUDA_ENABLED condition
steremma Jun 4, 2018
927fda5
Added unit tests for back-propagation, running on all available archi…
steremma Jun 8, 2018
59a2c72
Unified the worker method API calls to make sure all implementation e…
steremma Jun 8, 2018
936d5bc
Fixed a bug on back-propagation detected using my unit tests
steremma Jun 8, 2018
b859101
Added CUDA implementation for the back-propagation
steremma Jun 8, 2018
8a547fb
[TMVA] ROOT-9081 -- Replace GradBoost with BoostType=Grad
ashlaban May 3, 2018
24df538
[DOCS] Add me and Massimo to contributor list
eguiraud Jul 4, 2018
904a0cd
Less verbose output when reading GDML auxiliary info.
agheata Jul 5, 2018
4f477ee
Added protection for ComputeLradTsaiFactor when Z=0
agheata Jul 5, 2018
67f3043
Fix for ROOT-7917
agheata Jul 5, 2018
87ba961
Tested implementation of `Flatten` on the GPU
steremma May 24, 2018
ca6bdbd
refactored tests to remove code duplications when running the same te…
steremma May 24, 2018
f4768ed
Added documentation for the new functionality including docstrings an…
steremma May 25, 2018
31e74a5
Added the CUDA implementation for Deflatteting. Added tests for both …
steremma May 27, 2018
f6ab6bf
Simplified `ReshapeLayer` API by removing redundant constructor argum…
steremma May 27, 2018
753154a
fix indexing bug in the Reference and Cpu `Reshape` implementations
steremma May 27, 2018
1aa5bd0
Added CUDA implementation for the `Reshape` method
steremma May 27, 2018
5052ce4
Renamed all tests to reflect the fact that they test every method of …
steremma May 27, 2018
58a66f1
Added a test-case for the reshape method
steremma May 27, 2018
6c2ce53
Revert "Simplified `ReshapeLayer` API by removing redundant construct…
steremma May 27, 2018
15193dc
Fixed all tests to return status code - now CI will catch broken test…
steremma May 28, 2018
e9bc604
fix warnings
steremma Jul 6, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 1 addition & 3 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -36,6 +36,7 @@
/tmva/ @lmoneta
/tree/ @pcanal
/tutorials/ @couet
/tree/dataframe @dpiparo @bluehood

# Projects that span over several code modules:
/bindings/r/ @omazapa
@@ -49,11 +50,8 @@
/core/multiproc/ @gganis
/graf2d/qt/ @bellenot
/graf2d/cocoa/ @TimurP
/graf2d/ios/ @TimurP
/graf3d/eve/ @osschar
/net/http/ @linev
/tree/treeplayer/**/TDataFrame.* @dpiparo @bluehood
/tree/treeplayer/**/TDF* @dpiparo @bluehood

/cmake/ @amadio
*.cmake @amadio
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -426,8 +426,7 @@ if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_INSTALL_PREFIX)
PATTERN "rootd.xinetd" EXCLUDE
PATTERN "proofd.xinetd" EXCLUDE
PATTERN "root.mimes" EXCLUDE
PATTERN "cmake" EXCLUDE
PATTERN "http" EXCLUDE )
PATTERN "cmake" EXCLUDE )
install(DIRECTORY fonts/ DESTINATION ${CMAKE_INSTALL_FONTDIR})
install(DIRECTORY icons/ DESTINATION ${CMAKE_INSTALL_ICONDIR})
install(DIRECTORY macros/ DESTINATION ${CMAKE_INSTALL_MACRODIR})
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -34,8 +34,10 @@ acquisition, simulation and data analysis systems.
|--------|------------|---------|
| master | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-incremental-master)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-incremental-master/) | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-nightly-master)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-nightly-master/) |
| master-noimt | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-incremental-master-noimt)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-incremental-master-noimt/) | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-nightly-master-noimt)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-nightly-master-noimt/) |
| v5-34-00-patches | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-incremental-v5-34-00-patches)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-incremental-v5-34-00-patches/) | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-nightly-v5-34-00-patches)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-nightly-v5-34-00-patches/) |
| v6-14-00-patches | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-incremental-v6-14-00-patches)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-incremental-v6-14-00-patches/) | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-nightly-v6-14-00-patches)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-nightly-v6-14-00-patches/) |
| v6-12-00-patches | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-incremental-v6-12-00-patches)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-incremental-v6-12-00-patches/) | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-nightly-v6-12-00-patches)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-nightly-v6-12-00-patches/) |
| v6-10-00-patches | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-incremental-v6-10-00-patches)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-incremental-v6-10-00-patches/) | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-nightly-v6-10-00-patches)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-nightly-v6-10-00-patches/) |
| v5-34-00-patches | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-incremental-v5-34-00-patches)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-incremental-v5-34-00-patches/) | [![Build Status](https://epsft-jenkins.cern.ch/buildStatus/icon?job=root-nightly-v5-34-00-patches)](https://epsft-jenkins.cern.ch/view/ROOT/job/root-nightly-v5-34-00-patches/) |

## Cite
We are [![DOI](https://zenodo.org/badge/10994345.svg)](https://zenodo.org/badge/latestdoi/10994345)
6 changes: 3 additions & 3 deletions README/CREDITS
Original file line number Diff line number Diff line change
@@ -531,7 +531,7 @@ D: Integrating Minuit2 in Roofit and adding support for MPI

N: Wim Lavrijsen
E: [email protected]
D: PyRoot package
D: PyROOT package, Cppyy package

N: Kerry Lee
E: [email protected]
@@ -621,7 +621,7 @@ D: pioneer on many fronts, installation, support

N: Pere Mato
E: [email protected]
D: PyRoot package
D: PyROOT package
D: cmake build system

N: Richard Maunder
@@ -917,7 +917,7 @@ D: Paint3DAlgorithms used by the LEGO and SURF options

N: Enric Tejedor
E: [email protected]
D: IO, Parallelisation, Jupyter integration, TDataFrame
D: IO, Parallelisation, Jupyter integration, TDataFrame, PyROOT

N: Jan Therhaag
E: [email protected]
2 changes: 1 addition & 1 deletion README/ReleaseNotes/empty.md
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ ROOT version 6.??/00 is scheduled for release in ???.

For more information, see:

[http://root.cern.ch](http://root.cern.ch)
[http://root.cern](http://root.cern)

The following people have contributed to this new version:

139 changes: 88 additions & 51 deletions README/ReleaseNotes/v614/index.md
Original file line number Diff line number Diff line change
@@ -13,28 +13,44 @@ For more information, see:

The following people have contributed to this new version:

Kim Albertsson, CERN/EP-ADP-OS,\
Guilherme Amadio, CERN/SFT,\
Bertrand Bellenot, CERN/SFT,\
Brian Bockelman, UNL,\
Rene Brun, CERN/SFT,\
Philippe Canal, FNAL,\
David Clark, ANL (SULI),\
Olivier Couet, CERN/SFT,\
Gerri Ganis, CERN/SFT,\
Andrei Gheata, CERN/SFT,\
Enrico Guiraud, CERN/SFT,\
Raphael Isemann, Chalmers Univ. of Tech.,\
Vladimir Ilievski, GSOC 2017,\
Sergey Linev, GSI,\
Timur Pocheptsov, CERN/SFT,\
Pere Mato, CERN/SFT,\
Lorenzo Moneta, CERN/SFT,\
Axel Naumann, CERN/SFT,\
Danilo Piparo, CERN/SFT,\
Fons Rademakers, CERN/SFT,\
Enric Tejedor Saavedra, CERN/SFT,\
Peter van Gemmeren, ANL,\
Vassil Vassilev, Princeton/CMS,\
Oksana Shadura, UNL,\
Wouter Verkerke, NIKHEF/Atlas, RooFit
Saurav Shekhar, GSOC 2017,\
Xavier Valls Pla, UJI, CERN/SFT,\
Vassil Vassilev, Princeton/CMS,\
Wouter Verkerke, NIKHEF/Atlas, RooFit,\
Stefan Wunsch, CERN/SFT, \
Zhe Zhang, UNL

## Important Notice

The default compression algorithm used when writing ROOT files has been updated to use LZ4 in particular to improve read (decompression) performance. You can change this default for each file through (for example) the `TFile constructor` or `TFile::SetCompressionAlgorithm`.

It should be noted that ROOT files written with LZ4 compression can not be read with older release of ROOT. Support for LZ4 was however back-ported to the patch branches of previous releases and the following tags (and later release in the same patch series) can read ROOT files written with LZ4 compression:

* v5.34/38
* v6.08/06 [not yet released]
* v6.10/08
* v6.12/02


## Removed interfaces

@@ -45,16 +61,30 @@ The following people have contributed to this new version:
- In `TClingCallFunc`, support r-value reference parameters. This paves the way for the corresponding support in PyROOT (implemented now in the latest Cppyy).
- Included the new TSequentialExecutor in ROOT, sharing the interfaces of TExecutor.This should improve code economy when providing a fallback for TThreadExecutor/TProcessExecutor.

### Thread safety
- Resolved several race conditions, dead-locks, performance and order of initialization/destruction issues still lingering because of or despite the new read-write lock mechanism.

## Interpreter

- Enabled use of multi-threaded code from the interpreter.
- Previouslyl multi-threaded code could be run from the interpreter as long as the call starting the threada was the same code that initialized the ROOT global lock, any other uses, including attempting to run the same code a second time in the same session would lead to a dead lock (if any other thread attempted to take on the ROOT lock).
- The interpreter now suspend the ROOT lock (which is taken to protect the interpreter global state) during user code execution.

## I/O Libraries
- LZ4 (with compression level 4) is now the default compression algorithm for new ROOT files (LZ4 is lossless data compression algorithm that is focused on compression and decompression speed, while in ROOT case providing benefit in faster decompression at the price of a bit worse compression ratio comparing to ZLIB)
- If two or more files have an identical streamer info record, this is only treated once therewith avoiding to take the global lock.
- Allow writing temporary objects (with same address) in the same TBuffer(s). A new flag to TBuffer*::WriteObject allows to skip the mechanism that prevent the 2nd streaming of an object. This allows the (re)use of temporary objects to store different data in the same buffer.
- Reuse branch proxies internally used by TTreeReader{Value,Array} therewith increasing performance when having multiple readers pointing to the same branch.
- Implement reading of objects data from JSON
- Provide TBufferJSON::ToJSON() and TBufferJSON::FromJSON() methods
- Provide TBufferXML::ToXML() and TBufferXML::FromXML() methods
- Converts NaN and Infinity values into null in JSON, there are no other direct equivalent

## TTree Libraries
- Enable the TTreeCache by default of `TTree::Draw`, `TTreeReader` and `RDataFrame`
- Significant enhancement in the `TTreeCache` filling algorithm to increase robustness in case of oddly clustered `TTree` and under provisioned cache size. See the [merge request](https://github.com/root-project/root/pull/1960) for more details.
- Proxies are now properly re-used when multiple TTreeReader{Value,Array}s are associated to a single branch. Deserialisation is therefore performed once. This is an advantage for complex TDataFrame graphs.
- Add TBranch::BackFill to allowing the addition of new branches to an existing tree and keep the new basket clustered in the same way as the rest of the TTree. Use with the following pattern,
- Add TBranch::BackFill to allow the addition of new branches to an existing tree and keep the new basket clustered in the same way as the rest of the TTree. Use with the following pattern,
make sure to to call BackFill for the same entry for all the branches consecutively:
```
for(auto e = 0; e < tree->GetEntries(); ++e) { // loop over entries.
@@ -66,8 +96,16 @@ The following people have contributed to this new version:
```
Since we loop over all the branches for each new entry all the baskets for a cluster are consecutive in the file.

### TDataFrame
- Histograms and profiles returned by TDataFrame (e.g. by a Histo1D action) are now not associated to a ROOT directory (their fDirectory is a nullptr).
### RDataFrame (formerly TDataFrame)
#### Behaviour, interface and naming changes
- `TDataFrame` and `TDataSource` together with their federation of classes have been renamed according to the coding conventions for new interfaces and extracted from the `Experimental` namespace: they can now be found in the ROOT namespace and they are called `ROOT::RDataFrame` and `ROOT::RDataSource`.
- `ROOT::Experimental::TDF::TResultProxy` has been renamed to `ROOT::RDF::RResultPtr`.
- `Report` now behaves identically to all other actions: it executes lazily and returns a `RResultPtr` (see the `New features` section for more details).
- `Snapshot` now returns a `RResultPtr` like all other actions: specifically, this is a pointer to a new `RDataFrame` which will run on the snapshotted dataset.
- `RDataFrame` has been removed from tree/treeplayer and put in its own package, tree/dataframe. The library where this code can be found is `libROOTDataFrame`. This new library is included in the list provided by `root-config --libs`.
- The `TArrayBranch` class has been removed and replaced by the more powerful `RVec` (see the `New features` section for more details).
- All `RDataFrame` tutorials are now prefixed with `df` rather than `tdf`.
- Histograms and profiles returned by RDataFrame (e.g. by a Histo1D action) are now not associated to a ROOT directory (their fDirectory is a nullptr).
The following still works as expected:
```
auto h = tdf.Histo1D("x");
@@ -110,12 +148,30 @@ Since we loop over all the branches for each new entry all the baskets for a clu


## Histogram Libraries
- Per object statsoverflow flag has been added. This change is required to prevent non reproducible behaviours in a multithreaded environments. For example, if several threads change the `TH1::fgStatOverflows` flag and fill histograms, the behaviour will be undefined.
- Per object statsoverflow flag has been added. This change is required to prevent non reproducible behaviours in a multithreaded environments. For example, if several threads change the
`TH1::fgStatOverflows` flag and fill histograms, the behaviour will be undefined.
- A fix has been added in resetting the statistics of histograms with label. The bug was causing the histogram entries to be set as zero and this was making failing the merging of those
histogram (see ROOT-9336).

## Math Libraries


## RooFit Libraries

- A fix has been added in the component selection, which is used for plotting simultaneous models. See [PR #2033](https://github.com/root-project/root/pull/2033).

## TMVA Library

#### New Deep Learning Module

- TMVA contains a new set of Deep Learning classes ( `MethodDL` ), with support, in addition to dense layer, also convolutional and recurrent layer.

#### Other New TMVA Features

- Support for Parallelization of BDT using Multi-Threads
- Several improvements in Cross Validation including support for Multi-Process cross-validation running.


## 2D Graphics Libraries
- `TMultiGraph::GetHistogram` now works even if the multigraph is not drawn. Make sure
it never returns a null pointer.
@@ -167,6 +223,7 @@ Since we loop over all the branches for each new entry all the baskets for a clu
- Make EnableImplicitMT no-op if IMT is already on
- Decompress `TTreeCache` in parallel if IMT is on (upgrade of the `TTreeCacheUnzip` class).
- In `TTreeProcessorMT` delete friend chains after the main chain to avoid double deletes.
- If IMT is enabled, the multithreaded execution of the fit respects the number of threads IMT has been initialized with.


## Language Bindings
@@ -233,48 +290,28 @@ Upgrade JSROOT to v5.4.1. Following new features implemented:

## Build System and Configuration

CMake exported targets now have the `INTERFACE_INCLUDE_DIRECTORIES` property set
([ROOT-8062](https://sft.its.cern.ch/jira/browse/ROOT-8062)).

The `-fPIC` compile flag is no longer propagated to dependent projects via
`CMAKE_CXX_FLAGS` ([ROOT-9212](https://sft.its.cern.ch/jira/browse/ROOT-9212)).

Several builtins have updated versions:

- OpenSSL was updated from 1.0.2d to 1.0.2.o (latest lts release,
[ROOT-9359](https://sft.its.cern.ch/jira/browse/ROOT-9359))
- Davix was updated from 0.6.4 to 0.6.7 (support for OpenSSL 1.1,
[ROOT-9353](https://sft.its.cern.ch/jira/browse/ROOT-9353))
- Vdt has been updated from 0.3.9 to 0.4.1 (includes new atan function)
- XRootd has been updated from 4.6.1 to 4.8.2 (for GCC 8.x support)
- Builtin TBB can now be used on Windows
- xxHash and LZ4 have been separated so that a system version of LZ4
can be used even if it does not include xxHash headers
([ROOT-9099](https://sft.its.cern.ch/jira/browse/ROOT-9099))

In addition, several updates have been made to fix minor build system issues,
such as not checking for external packages if their builtin is turned off, or
checking for packages even when the respective option is disabled
([ROOT-8806](https://sft.its.cern.ch/jira/browse/ROOT-8806),
[ROOT-9190](https://sft.its.cern.ch/jira/browse/ROOT-9190),
[ROOT-9315](https://sft.its.cern.ch/jira/browse/ROOT-9315),
[ROOT-9385](https://sft.its.cern.ch/jira/browse/ROOT-9385)).

The `python3` option to CMake has been removed
([ROOT-9033](https://sft.its.cern.ch/jira/browse/ROOT-9033),
[ROOT-9143](https://sft.its.cern.ch/jira/browse/ROOT-9143)). Python support is
enabled by default. To configure ROOT to use specific Python versions, there is
a new option called `python_version`. This is how to configure ROOT and Python
for the common use cases:

* Use the default Python interpreter:
- `-Dpython=ON` (default)
* Search only for Python 2.x or only 3.x:
- `-Dpython_version=2` or `-Dpython_version=3`
* Use a specific version of Python from `$PATH`:
- `-Dpython_version=2.7` or `-Dpython_version=3.5`
* Use a specific Python interpreter, whatever the version:
- `-DPYTHON_EXECUTABLE=/usr/local/bin/python`
- ROOT can now be built against an externally built llvm and clang (llvm can be used unpatched, clang still require ROOT specific patches). The options are builtin_llvm and builtin_clang both defaulting to ON.
- Update RConfigure.h with R__HAS__VDT if the package is found/builtin
- CMake exported targets now have the `INTERFACE_INCLUDE_DIRECTORIES` property set ([ROOT-8062](https://sft.its.cern.ch/jira/browse/ROOT-8062)).
- The `-fPIC` compile flag is no longer propagated to dependent projects via `CMAKE_CXX_FLAGS` ([ROOT-9212](https://sft.its.cern.ch/jira/browse/ROOT-9212)).
- Several builtins have updated versions:
- OpenSSL was updated from 1.0.2d to 1.0.2.o (latest lts release, [ROOT-9359](https://sft.its.cern.ch/jira/browse/ROOT-9359))
- Davix was updated from 0.6.4 to 0.6.7 (support for OpenSSL 1.1, [ROOT-9353](https://sft.its.cern.ch/jira/browse/ROOT-9353))
- Vdt has been updated from 0.3.9 to 0.4.1 (includes new atan function)
- XRootd has been updated from 4.6.1 to 4.8.2 (for GCC 8.x support)
- Builtin TBB can now be used on Windows
- xxHash and LZ4 have been separated so that a system version of LZ4 can be used even if it does not include xxHash headers ([ROOT-9099](https://sft.its.cern.ch/jira/browse/ROOT-9099))
- In addition, several updates have been made to fix minor build system issues, such as not checking for external packages if their builtin is turned off, or checking for packages even when the respective option is disabled ([ROOT-8806](https://sft.its.cern.ch/jira/browse/ROOT-8806), [ROOT-9190](https://sft.its.cern.ch/jira/browse/ROOT-9190), [ROOT-9315](https://sft.its.cern.ch/jira/browse/ROOT-9315), [ROOT-9385](https://sft.its.cern.ch/jira/browse/ROOT-9385)).
- The `python3` option to CMake has been removed ([ROOT-9033](https://sft.its.cern.ch/jira/browse/ROOT-9033), [ROOT-9143](https://sft.its.cern.ch/jira/browse/ROOT-9143)). Python support is enabled by default. To configure ROOT to use specific Python versions, there is a new option called `python_version`. This is how to configure ROOT and Python for the common use cases:

* Use the default Python interpreter:
- `-Dpython=ON` (default)
* Search only for Python 2.x or only 3.x:
- `-Dpython_version=2` or `-Dpython_version=3`
* Use a specific version of Python from `$PATH`:
- `-Dpython_version=2.7` or `-Dpython_version=3.5`
* Use a specific Python interpreter, whatever the version:
- `-DPYTHON_EXECUTABLE=/usr/local/bin/python`

Note: The use of `PYTHON_EXECUTABLE` requires the full path to the interpreter.

Loading