https://github.com/lmoneta/root

sort by:
Revision Author Date Message Commit Date
925cebd add new option for switching off computation of correlation matrix 24 October 2018, 16:42:55 UTC
67c06b2 use simply ScaleAdd when updating weightgradients 22 August 2018, 15:23:03 UTC
fdbcf7f fix a compilation warning 22 August 2018, 13:19:06 UTC
2b2dc7f optimize SGD and ADAM update calculations. For ADAM define specific update functions which are re-implemented for each architecture 22 August 2018, 13:10:57 UTC
9285d73 remove calculation of correlation matrix for large number of variables 22 August 2018, 13:09:15 UTC
a019513 Use fast zero GPU initialisation for Cuda matrices 21 August 2018, 08:10:43 UTC
47167e8 Fix a bug in GetMvaValues() when total events are not multiple of batch size Use for evaluation same batch size as for training and not a fixed one of 1000 21 August 2018, 08:04:18 UTC
d09c108 Support unsigned integer types in RArrowDS 20 August 2018, 21:58:34 UTC
bcb4953 White space 20 August 2018, 16:35:59 UTC
ae9f39e [TTree] Use TMath::Max instead of std::max. 20 August 2018, 16:35:59 UTC
ec2ce98 [TTree] Touchups from review of PR 774. 20 August 2018, 16:35:59 UTC
2d8e9f6 [TTree] Avoid narrowing conversion of constant. 20 August 2018, 16:35:59 UTC
63eb9e5 [TTree] Replace use of ssize_t with Int_t. Matches the underlying type of the return value. 20 August 2018, 16:35:59 UTC
1cca868 Update release notes for new kOnlyFlushAtCluster mode. 20 August 2018, 16:35:59 UTC
28e52d4 [Tree] Test for one-basket-per-cluster mode. 20 August 2018, 16:35:59 UTC
ad8db39 [Tree] Fixup build issue from bad rebase. 20 August 2018, 16:35:59 UTC
b89847f [whitespace] clang-tidy fixups 20 August 2018, 16:35:59 UTC
95e116b Use a different bit for new basket flush mode. This one appears to be unused by subclasses and passes the `ROOT::Detail::TStatusBitsChecker` test. 20 August 2018, 16:35:59 UTC
6bed7e3 Allow the basket allocation tracking to be ifdef'd out. 20 August 2018, 16:35:59 UTC
1d87b72 Fixup parenthesis in comment block. 20 August 2018, 16:35:59 UTC
f0f636d Rename kFlushAtCluster to kOnlyFlushAtCluster. As pointed out by @pcanal, we always flush at cluster -- the new behavior with this bit is it allows us to _only_ flush at the cluster boundaries. 20 August 2018, 16:35:59 UTC
3f4816c Whitespace-only changes from clang-format. 20 August 2018, 16:35:59 UTC
f3a062b Add "one-basket-per-cluster" mode. By setting a new bit in the TTree object, kFlushAtCluster, one can enter the "one basket per event cluster" mode. This forces baskets to line up with event clusters, at the cost of extra memory use. This new mode simplifies the basket layout within the file, reducing the amount of time handling special cases for the bulk IO mode. Because the baskets *must* grow to the size of an event cluster, we do not invoke OptimizeBaskets when one-basket-per-cluster mode is enabled. As this mode is expected to cause increased memory usage (the memory utilized by the TTree is more strongly tied to the variations in event size), we combine this with a technique borrowed from a CMS patchset to more aggressively shrink basket sizes after very large objects. The new basket shrinking algorihtm will trigger whenever the basket is flushed. If the actual object size in the last clusters is significantly below the buffer size, then the basket will be shrunk. The ideal ratio of `(basket buffer size)/(occupied buffer size)` is controlled by a new tunable in the TTree, defaulting to 1.1. A lower setting reduces overall memory usage at the cost of extra allocations; a higher setting increases aggregate memory usage. In writing out a 10k event CMS file (total CPU time is 32 minutes): - Base case (without this patch): - 888MB RSS - 30 reallocations (shrinking of baskets due to low occupancy). - 0.173ms taken for reallocation. - New shrinking algorithm (this patch with defaults): - 866MB RSS - 4434 reallocations - 97.0ms - One basket per cluster mode with new shrinking algorithm: - 902MB RSS - 2882 reallocations - 93.6ms The CPU-time cost of the reallocation is 0.005% of total runtime (considering the file has to be read also, maybe 0.01% of output time?) This patch purposely leaves in the code that measures reallocation time in order to allow others to experiment; the intent is to disable / remove the code before a final release. 20 August 2018, 16:35:59 UTC
331982f [VecOps] Add missing push_back signature 20 August 2018, 15:59:05 UTC
200a48d Revert "Revert "Fix typo in test."" This reverts commit a54b9e5ceb0574d5ebb49950f75114e4b5cd08a7. THis just shifts the error around; Danilo and Giulio are looking at it. 20 August 2018, 13:02:51 UTC
c6bf37b [RVec] Remove unused var. 20 August 2018, 07:36:58 UTC
da43fdd [TMVA] Remove unused var. 20 August 2018, 07:36:41 UTC
a54b9e5 Revert "Fix typo in test." This reverts commit e786005e24f5ecb265d68c3a19fe4039d6ce00a1. The type arrow::uint32 isn't supported and will cause an exception and test failure. 20 August 2018, 07:28:45 UTC
a1d5253 added cuda stream support to parallelize over events in the batch 20 August 2018, 07:09:42 UTC
3ad391f [RooFit] [ROOT-9623] Remove failing py tutorials 19 August 2018, 06:00:26 UTC
57a480f Recovery of correct CMake invocation of rootcling We are fixing a correct invocation accidentally removed in ROOT_GENERATE_DICTIONARY() macro in '[cxxmodules] Move away from environment variable' commit. 17 August 2018, 21:24:51 UTC
8b7bc79 Additional fix for rule scheduling in TBranchElement. This is an additional fix for https://github.com/cms-sw/cmssw/pull/22594 If one of the class associated with a TBranchElement has a base class and/or sub-object class that has a rule that requires a cache (onfileObject) object to stage the original data *but* does not have branch in the TTree that also neeed the same cache object, we need to associate a cache object with the StreamerInfoAction sequence that needs it (associated with a higher level branch) and give it ownership of this cache object) 17 August 2018, 16:07:52 UTC
7afeae2 Avoid double search 17 August 2018, 16:07:52 UTC
645a914 Improve debug priting of StreamerElement info 17 August 2018, 16:07:52 UTC
830512d [NFC] White space 17 August 2018, 16:07:52 UTC
e786005 Fix typo in test. 17 August 2018, 13:03:04 UTC
18a5dcc [PyROOT] [ROOT-9623] Remove RooFit tutorials which fail on osx python3 17 August 2018, 11:57:49 UTC
8d17dd0 [VecOps] Add gtest for ROOT-9453 "Cannot instantiate RVec<bool>" 17 August 2018, 11:28:06 UTC
374be4c [VecOps] Make RAdoptAllocator<T> rebindable to RAdoptAllocator<bool> ...and viceversa. Only non-adopting RAdoptAllocators can be rebound. This makes it possible to copy-construct RVec<bool>'s from other RVec<bool>'s. 17 August 2018, 11:28:06 UTC
78e4bef [VecOps] Specialize RAdoptAllocator<bool> The different semantics of std::vector<bool> make memory adoption through a custom allocator more complex -- namely, RAdoptAllocator<bool> must be rebindable to RAdoptAllocator<unsigned long>, but if adopted memory is really a buffer of bools, reinterpretation of the adopted buffer as a different type is going to break things in horrible ways. As a workaround, RAdoptAllocator<bool> is specialized to be a simple allocator that forwards calls to std::allocator, never adopts memory, and can be rebound to any other allocator (as it never adopts memory it can rebind the same way that std::allocator can). This should resolve ROOT-9453 "Cannot instantiate RVec<bool>". 17 August 2018, 11:28:06 UTC
1e79c8d [VecOps][NFC] Add libROOTVecOps as dependency to RAdoptAllocator test 17 August 2018, 11:28:06 UTC
e3316bc [VecOps] Remove redundant RAdoptAllocator::construct overload 17 August 2018, 11:28:06 UTC
cc4915b [VecOps][NFC] Formatting of RAdoptAllocator 17 August 2018, 11:28:06 UTC
5927f14 Updating clad build CMake arguments for the case when buiting_llvm and buitin_clang is OFF 17 August 2018, 11:01:40 UTC
d037c05 [VecOps] Add RVec helpers for sorting and selecting elements 17 August 2018, 09:33:17 UTC
ce0b29a Fix typo in RArrowDS The name of the type is Long_t, not Long32_t. 17 August 2018, 09:16:15 UTC
23aa75d fix memory leaks 17 August 2018, 07:29:32 UTC
e7d134e [layering] Cleaning TFile implementation file from TMath-specific functions and includes 16 August 2018, 16:37:42 UTC
d2f39d4 [layering] Updating linkdef files for Core and MathCore, after moving sorting and binary search algorithms from MathCore to Core 16 August 2018, 16:37:42 UTC
6769ded [layering] Removing TMath.h include, TFileCacheRead.cxx is depending only from Core library. 16 August 2018, 16:37:42 UTC
1b83473 [layering] Moving BinarySearch and Sorting algorithms from math/mathcore/inc/TMath.h to TMathBase.h (evolution to ROOT "<algorithm>" header) 16 August 2018, 16:37:42 UTC
f8f4760 When drawing a `TGraph` if `TH1::SetDefaultSumw2()` was on, then the underlying histogram used to draw the `TGraph` axis was created with errors and therefore the histogram painter painted it with errors which was a non sense in that particular case. This is now fixed. It was discussed here: https://root-forum.cern.ch/t/horizontal-line-at-0-on-y-axis/30244/26. 16 August 2018, 12:40:39 UTC
beda404 Fix memory leak in UpdateWeights in Cuda 14 August 2018, 16:10:43 UTC
ab20fee [PyROOT] Remove RooFit tests which fail (ROOT-9623) many of these fail because of double deletes. Something in the memory management needs attention. 14 August 2018, 14:08:17 UTC
d98b567 [RooFit] Remove stray doc line 14 August 2018, 10:22:30 UTC
e52c7f8 [RooFit] Add tutorial in python 14 August 2018, 09:11:11 UTC
8826824 [RooFit] Add python tutorial after bug in factory was fixed. 14 August 2018, 09:06:54 UTC
5618a32 [RooFit] Fix for ROOT-9581 when using a ws factory, the enumerators are found correctly but the enum constants may be inside a scope. These were found by CINT but not by cling (and rightfully so). This patch fixes this bug. 14 August 2018, 09:01:41 UTC
51555bd [RooFit] Do not draw canvases in notebooks if nothing was drawn 14 August 2018, 08:28:44 UTC
f48ef1e [RooFit] This is a DSL independent of PyROOT 14 August 2018, 08:20:42 UTC
e76667c [Doc] The ROOTBOOK-izer tool is not anymore a beta. 14 August 2018, 08:17:10 UTC
269e690 xml: fix gcc8 warning with strncpy arguments At this place buffer was allocated using length of source string. gcc does not like when strncpy length argument directly derives from source string length. Actually, buffer should not depend from source length - here it was workaround for old problem, which is already fixed. Therefore just use constant buffer length 13 August 2018, 16:00:05 UTC
4e0fbf3 [PyROOT] Python implementation of RooFit tutorials 13 August 2018, 15:41:59 UTC
d73f479 json: fix compilation warning with gcc8 Solves https://sft.its.cern.ch/jira/browse/ROOT-9588 13 August 2018, 14:19:32 UTC
0d87ba4 Improve test for CNN in MethodDL. Make image data with input pixels 13 August 2018, 12:31:37 UTC
d36b302 [Experimental PyROOT] Rename sources to follow convention of one file per class, introduce helpers for python-side pythonizations 13 August 2018, 11:55:53 UTC
09ee024 [Experimental PyROOT] Add array interface to STL vector and RVec 13 August 2018, 11:30:19 UTC
ae65108 [Experimental PyROOT] Restructure generic pythonizations 13 August 2018, 11:30:19 UTC
0b310c2 [TMVA] Doc - Update pdf (cherry picked from commit 9bcf786a51c25d5fdfaef0d76b7f2f301c61cf14) 13 August 2018, 07:55:30 UTC
af619bb [DF] LoopManager tracks run actions The LoopManager now tracks the actions that have already run. This commit is needed by the Graph drawing PR. 11 August 2018, 09:16:51 UTC
847528b [TTree] Change header types for consistency. 10 August 2018, 17:51:13 UTC
ec0ffbf [Tree] Improve defaults for cluster iterator sizes. If the TTree has no cluster size recorded (no auto-flush and no event clusters are present) and no cache set, then the cluster iterator would default to an estimate of 1 event per cluster. With this change, the default becomes however many events fit into 30MB of compressed data; 30MB was chosen as it is the current default cache size in ROOT. Fixes: ROOT-9574 10 August 2018, 17:51:13 UTC
c70aaf1 [TTree] Create event clusters when TTree is flushed. Several of us were surprised to discover that calling `TTree::FlushBaskets()` does not actually create a new event cluster in terms of the TTree metadata -- even though it effectively creates an event cluster in terms of the physical disk layout! There may be cases where the user has special knowledge of the file where using the internally-calculated auto-flush intervals result in poor choices; CMS's NanoAOD is one such case. However, when CMS switched to calling FlushBaskets explicitly and disabling AutoFlush, this triggered unexpected behavior in RDataFrame as the file did not appear to have any proper event clusters. This change causes the `FlushBaskets` method to create an explicit event cluster. As we used the old behavior in some ROOT unit tests, the prior behavior is now accessible through a flag passed to the method. Fixes: ROOT-9442 10 August 2018, 17:51:13 UTC
7a23161 Reland "[cxxmodules] Check correctly if the decl was cached." Improve the commit by tighten condition to take an expensive branch. In BaseSelectionRule::Match, for normal CXXRecordDecl, nothing need to be worried as you can just compare name or pointer and that's it. However when you have typedef, it means that you can't just compare name (it's different!) or pointer (it's also different). And here, ScopeSearch is not actually searching the argument. It's just renewing the fCXXRecordDecl from fName to keep it up with the current interpreter state. Also, rootcling needed to parse header to get the actual definition of typedef, because rootmap file given to the invocation was lacking the necessary information. For example it contained `typedef typedefB`, from this there is no way to know which RecordDecl is underneath. With modules, we don't use rootmap files. Thus we need to check if it's a typdef or not, and if it was a typedef, make sure that it didn't take the same branch with the same interp state (by checking (void*)-1) and it's not from modules. This improves cxxmodules res memory by 90MB. ``` before: res memory = 345.816 Mbytes after res memory = 267.582 Mbytes ``` Also, this fasten rootcling 2 times. ``` before: User time (seconds): 2.56 after: User time (seconds): 1.35 ``` 10 August 2018, 15:57:04 UTC
124e3fe [Exp PyROOT] Add unit test for TTree iterable pythonization 10 August 2018, 13:45:19 UTC
3e2163a [Exp PyROOT] Add unit test for TTree branch access pythonization 10 August 2018, 13:45:19 UTC
e519479 Add COPY_TO_BUILDDIR option to PYUNITTEST 10 August 2018, 13:45:19 UTC
55556e9 Add https support in TGHtmlBrowser (requires ssl) 10 August 2018, 13:02:24 UTC
07a576a Fix computation of test error, which was incorrectly done after fixing conflicts 10 August 2018, 09:09:40 UTC
5d8c7cd Use the template type (Scalar_t) instead of double, otherwise it will not compile for networks based on float types 10 August 2018, 09:09:40 UTC
e2545b4 Additional fixes after rebasing to the master 10 August 2018, 09:09:40 UTC
7b81a3d Compilation fixes caused by rebasing to master. After applying this PR, network is now based on float types and one should use Scalar_t instead of hardcoded Double_t in the tests 10 August 2018, 09:09:40 UTC
bd9a3a6 Remove old code, not used anymore 10 August 2018, 09:09:40 UTC
e56d907 remove files added by mistake 10 August 2018, 09:09:40 UTC
d65982c fix Dense layer part for TestMethodDL 10 August 2018, 09:09:40 UTC
9cee157 Add possibility to extend XML buffer size. Set also output precision of matrix in xml dependent on the type 10 August 2018, 09:09:40 UTC
a5de3c9 add missing include 10 August 2018, 09:09:40 UTC
8bea055 compute initial test error at the beginning of training phase. Avoid an useless operation when adding the reg. term 10 August 2018, 09:09:40 UTC
2a9872f Use TensorDataLoader when loading batches to use for evaluating the MVA values (in PredictDeepNet) 10 August 2018, 09:09:40 UTC
f7c7771 Implement GetMvaValues in MethodDL using a fixed batch size of 1000. The prediction is performed using the chosen architecture and is much faster than predicting a single event. 10 August 2018, 09:09:40 UTC
2f50b9a Fixes compilation for Cuda to use now conversion to same scalar type between TCudaMatrix<T> and TMatrix<T> 10 August 2018, 09:09:40 UTC
41173e3 Changes in MethodDL to use as default Float for the scalar type for the Deep networks for both training and prediction. Change in MethodDNN to use same type (float) for the prediction. Changes in CudaMatrix and Cpu Matrix to have conversion to and for TMatrixT to the same template type. Anyway explicit conversion from TMatrixD and TMatrixF exist 10 August 2018, 09:09:40 UTC
03d1f8c Optimise the MT for CPU by setting a minimum number of matrix elements to operate in a task. If the matrix elements are smaller then do not run in parallel with tab the operation 10 August 2018, 09:09:40 UTC
58da281 print used Blas library 10 August 2018, 09:09:40 UTC
f5ff6c8 Fix Error message when tmva-cpu is not found and architecture cpu is selected 10 August 2018, 09:09:40 UTC
739d71c Fix compilation for when tmva-cpu is off 10 August 2018, 09:09:40 UTC
450c87d Do not compute the regularisation for each back when computing the Loss function 10 August 2018, 09:09:40 UTC
812d677 Fix computation of regularisation for Loss 10 August 2018, 09:09:40 UTC
906a14e Fix a bug in setting the regularisation to None for subsequents training phase/ Add a new function to DeepNet, DeepNet::RegulariztionTerm to compute the regularisation term separately and it can be now conputed after looping on the batch to speed up time. It was seen as giving a significant contributions on the tech lab GPU (e.g. 1080) 10 August 2018, 09:09:40 UTC
55d69b2 Fix using MT in CpuMatrix. Improve MT for Regularization and Dropout , by using chunking. Use in Droput general DL random generator 10 August 2018, 09:09:40 UTC
back to top