https://github.com/lmoneta/root

sort by:
Revision Author Date Message Commit Date
a9109a6 [jsroot] dev 8/09/2023 with interactivity fixes Use proper return valus in interactivity methods Let use such methods in testing - not included here 08 September 2023, 15:13:07 UTC
3618459 [webgui] save image as is when only single image is created In case when only image is created, provided file name can be used as is. Only if there are more than 1 image and file name not include '%d' qualifier - it has to be automatically appended. 08 September 2023, 15:13:07 UTC
93ffe95 [tutorial] Veto RBatchGenerator tutorials on windows 08 September 2023, 14:00:36 UTC
4f847fb [core] Lock calls to TMetaUtils in TClingTypeInfo Even though it would be better to place the locks in TMetaUtils directly, TClingUtils.cxx cannot depend from TInterpreter.h (for the declaration of gInterpreterMutex) as that would cause a circular dependency. For now, leave the locks in TClingTypeInfo. 08 September 2023, 14:00:36 UTC
dcedf41 [core] Lock interpreter in TCling::GetClassSharedLibs Co-authored-by: Jonas Hahnfeld <jonas.hahnfeld@cern.ch> 08 September 2023, 14:00:36 UTC
0f2da61 [core] Improve TFunction + TClingMethodInfo thread-safety TFunction is a higher-level class, it should not lock directly. As a general rule, thread-safety should be ensured by the interfaces used. At the same time, if a method of TFunction needs to call multiple, different locking functions in its body, a single call to R__LOCKGUARD is better than multiple separate calls happening in the other functions. The strategy to improve thread-safety adopted is to move locks present in TFunction to lower-level interfaces in TCling or TClingMethodInfo whenever possible. In few cases, keep a lock in the TFunction method if it needs to call multiple locking functions. Still, leave the locks in the called functions so that they can be thread-safe interfaces for other callers. 08 September 2023, 14:00:36 UTC
d26f6ed [tmva] Activate thread safety in pythonizations of RBatchGenerator To make sure the interpreter mutexes exist before locks are needed by cppyy calls. 08 September 2023, 14:00:36 UTC
239ac48 Re-enable RBatchGenerator tutorials 08 September 2023, 14:00:36 UTC
7cfacba [ntuple] use vector ops for reading/writing simple vectors 08 September 2023, 09:11:18 UTC
d055534 [ntuple] fix reading of empty simple RVecs 08 September 2023, 09:11:18 UTC
a7b9f88 [ntuple] speed-up reading of simple RVecs 08 September 2023, 09:11:18 UTC
7981f96 Adding test 08 September 2023, 08:33:25 UTC
c93ca76 Implementing Range overload with recommended changes 08 September 2023, 08:33:25 UTC
afaf4c8 Revert "[tmva][pymva] Use .h5 file instead of .keras" This reverts commit 5e38958ceb755b97ce206be9cef4a266891e8968. 07 September 2023, 13:46:48 UTC
0c54043 Revert "[tmva][sofie] Add dependency on sklearn for TMVA_SOFIE_Models tutorial" This reverts commit 879c22887c44f1820db175287b4a20835c37c158. 07 September 2023, 13:46:48 UTC
712ee94 Revert "[tmva][pymva] Do not disable tensorflow eager execution on MacoS" This reverts commit dff89cf2deae154608045acf9c85779e0822ec1e. 07 September 2023, 13:46:48 UTC
32dcf63 Revert "[tmva][pymva] Fixes for latest version of scikit-learn" This reverts commit db4013f3108ae8f0cc97e939209d4e33c886a964. 07 September 2023, 13:46:48 UTC
45230e3 [RF][PyROOT] Fix `RooDataSet.from_numpy()` for contiguous input arrays Closes #13605. 07 September 2023, 12:54:11 UTC
db4013f [tmva][pymva] Fixes for latest version of scikit-learn 06 September 2023, 14:07:51 UTC
dff89cf [tmva][pymva] Do not disable tensorflow eager execution on MacoS Disbaling it causes an interference with multiprocessing and a restart of the process after it is endeded. This fixes the timeout of the PyKeras tests on MacOS. This commits apply also some small fixes/improvements on the deletetion of some TMVA objects. 06 September 2023, 14:07:51 UTC
879c228 [tmva][sofie] Add dependency on sklearn for TMVA_SOFIE_Models tutorial 06 September 2023, 14:07:51 UTC
5e38958 [tmva][pymva] Use .h5 file instead of .keras Go back to use .h5 files instead of .keras due to a problem in Keras loading .keras files on MacOS ARM (see https://github.com/keras-team/keras/issues/18278 ) 06 September 2023, 14:07:51 UTC
3438580 fix: increase tolerance for sofie-gnn tests 06 September 2023, 14:05:42 UTC
dba14a6 [ci] Make sure GH log group/endgroup end up on separate lines. 06 September 2023, 13:20:51 UTC
3bf30c8 Add GraphAsymmErrors to DistRDF operations 06 September 2023, 10:55:36 UTC
bc52e20 Add test for unique variation names 06 September 2023, 10:50:23 UTC
79acb84 Set a unique name for each varied result 06 September 2023, 10:50:23 UTC
97fb5af [PyROOT] Test TGraph[Asymm,Benti,Multi]Errors getters 06 September 2023, 10:40:54 UTC
b8ef64c [PyROOT] Extend Pythonization of TGraph* getters Extend the regex passed to 'compose_method' to include 'E*(low,high)[d]' getters. 06 September 2023, 10:40:54 UTC
b2760a4 Exclude some directories from coverage (#13596) 06 September 2023, 09:00:29 UTC
2cb6afd Add LiveVisualize tutorial 06 September 2023, 08:17:23 UTC
f256da1 Add LiveVisualize documentation 06 September 2023, 08:17:23 UTC
0767024 Implement the live visualization feature 06 September 2023, 08:17:23 UTC
4c9e26c Log ONNX Operator implemented and the merge conflicts are resolved 05 September 2023, 15:51:24 UTC
e435ead [jsroot] dev 5/09/2023 with proper kNoStats handling As in ROOT, stats will be drawn also when `AXIS` draw option specified. Also support `inspectN` draw option for expanding objects to N level 05 September 2023, 15:33:53 UTC
f817a83 [webgui] take into account sames draw option 05 September 2023, 15:33:53 UTC
18bbc88 [interpreter] Add builtin_llvm's CMake modules This was naturally available before commit 92807f3591 from LLVM's configuration file. Fixes #13597 05 September 2023, 14:50:46 UTC
e7f6597 Revert "[ci] Use Ninja as build system everywhere but Windows." Ninja shows dependency issues in our build system; fix those first before switching to Ninja.xs This reverts commit fcfca4ccdaf97099a180e154c60bc3c621abfafe. 05 September 2023, 08:14:00 UTC
fcb2132 [ntuple] Throw when inconsistent compression is encountered 05 September 2023, 07:22:04 UTC
536b978 Fix a debug assertion failure on Windows when running stressgraphics (#13584) * Fix a debug assertion failure on Windows when running stressgraphics Apply changes suggested in the `Notes` section of the `isspace` [C++ standard](https://en.cppreference.com/w/cpp/string/byte/isspace) This fixes the following error when reading the character `'ò' (-14 )` in stressgraphics: ``` Debug Assertion Failed! Program: C:\root-dev\build\x86\debug_test\test\Debug\stressGraphics.exe File: minkernel\crts\ucrt\src\appcrt\convert\isctype.cpp Line 36 Expression c > = -1 && c < = 255 ``` from `isspace((Int_t)c)`, in `core\base\src\Stringio.cxx`, in `std::istream& TString::ReadToken(std::istream& strm)`: ``` while ((wid == 0 || Length() < (Int_t)wid) && strm.get(c).good() && (hitSpace = isspace((Int_t)c)) == 0) { ``` * clang-format 04 September 2023, 12:52:04 UTC
50045ec [Montecarlo] Check pi0 properties when testing the thread safety of the GetParticle methods. 04 September 2023, 12:50:32 UTC
4eed2db [Montecarlo] Test thread safety TDatabasePDG Test the thread safety of the Instance and GetParticle methods. 04 September 2023, 12:50:32 UTC
59971bd [Montecarlo][11580] Fix TDatabasePDG thread safety Make the methods Instance and GetParticle thread safe with a RW lock. Moreover, warnings printed by the AddParticle and AddAntiParticle methods with the printf function are now printed with the Warning ROOT function. This allows tests to catch potential bad behaviours in a multithreaded environment with tests. In addition, this approach is now consistent with what is done in the constructor of the class. This fix does not require any change in user code. 04 September 2023, 12:50:32 UTC
d016feb Update ROperator_Slice.hxx 04 September 2023, 08:26:47 UTC
6b2bef2 Fixed bugs in Slice SOFIE Operator, added slice gtests 04 September 2023, 08:26:47 UTC
f0cb4e9 [tmva][sofie-gnn] Tutorial for SOFIE-GNN [tmva][sofie-gnn] Fix sofie-gnn.py test by removing header files only at the end This avoid a failure in ubuntu2204 happening when the header file was removed too early when the process is still running Fix also header guard name and include of vector Co-authored-by: moneta <lorenzo.moneta@cern.ch> 04 September 2023, 08:24:29 UTC
3c17793 [tmva][sofie-gnn] Fix on loading required packages (sonnet, graph_nets) and restricting numpy version avoid trying to load sonnet and graph_nets if not installed [tmva][sofie-gnn] numpy version for sofie-gnn test should be restricted within <=1.19 or >=1.24 Because of the changed behavior of np.bool and similar aliases for builtin data types, we need to restrict the numpy version to the stated range for sonnet. For more information, refer here: https://github.com/numpy/numpy/pull/14882 https://github.com/numpy/numpy/pull/22607 fix: definition of OutputGenerated in RModel_Base [tmva][sofie-gnn] Suppress warnings for cases other than .dat file in method WriteInitializedTensorsToFile in RModel [tmva][sofie-gnn] Fix node update in GNN and size of global features in GraphIndependent [tmva][sofie-gnn] Fix node update in RModel_GNN generated code [tmva][sofie-gnn] Fix for correct size of global features in GraphIndependent fix also the way the computation of output features in RModel_GNN Fix dimension of global feature tensor during node update If the number of nodes is larger than the edges the tensor storing the global feature needs to be resize to the correct number of nodes * number of feature [tmva][sofie-gnn] Fix importing _gnn if python version is less than 3.8 Improve also gnn test and address some of the Vincenzo's comments Changes addressing comments by @vepadulano Co-authored-by: moneta <lorenzo.moneta@cern.ch> 04 September 2023, 08:24:29 UTC
2f2b9c6 [tmva][sofie-gnn] Docstrings for SOFIE-GNN implementations and vectorization in node aggregate and GraphIndependent [tmva][sofie-gnn] vectorization for node aggregate in sofie-gnn fix: format clean: RModel_GNNStack, should be implementable from Python interface [tmva][sofie-gnn] Docstrings for RModel_GNN and RModel_GraphIndependent Python classes [tmva][sofie-gnn] Vectorization in SOFIE-GraphIndependent 04 September 2023, 08:24:29 UTC
1968e25 [tmva][sofie-gnn] Make Edge_update in core using a single infer call for all edges feat: Edge update computation should be done blockwise Co-authored-by: moneta <Lorenzo.Moneta@cern.ch> [tmva][sofie-gnn] Install pyroot sofie-gnn only for python3 feat: raise runtime error for sofie-gnn pythonization not running in python3.7 fix: sofie-gnn tests should also be restricted for python3 fix: sofie-gnn tests are dependent on sonnet and graph_nets feat: follow PEP8 regulations on using snake_case for for input arguments to functions feat: for loops in instantiating edges in graph input data should be pythonic fix: sys package needs to be imported feat: reduce code duplication by generalizing add_update_function 04 September 2023, 08:24:29 UTC
e455577 [tmva][sofie-gnn] Add support for LayerNormalization and registering additional functions [tmva][sofie-gnn] registering additional functions and adding them with Initialize() fix: session structure should be global for GNN and GraphIndependent fix: some operator move warnings feat: add layer normalization support in parser for GraphIndependent feat: avoid code repetition while adding layer normalization in gnn feat: avoid code repetition while adding weights in gnn feat: avoid code repetition while adding aggregate function in gnn feat: some functions may have const reference arguments optimize copy and concatenate feat: use GetData() method instead of iterator for RTensor fix: add_aggregate_function should raise a runtime error if function not found fix: GraphIndependent Generate should also handle resizing the output tensor Co-authored-by: moneta <Lorenzo.Moneta@cern.ch> 04 September 2023, 08:24:29 UTC
b6ac312 [tmva][sofie-gnn] Test LHCb toy model with SOFIE-GNN feat: resize tensors if a change is required after update function inference feat: rtensor test 04 September 2023, 08:24:29 UTC
5455f90 [tmva][sofie-gnn] Python in-memory parse function and tests Fix in RModel when using OutputGenerated with an empty filename Fix the Python code to fill GNN The way receiver/senders node indices were passed to the GNN was reversed fix: specify _gnn.py in CMake file for pythonization [tmva][sofie-gnn] Implement Concat for RTensor and for GNN data structure Co-authored-by: moneta <lorenzo.moneta@cern.ch> 04 September 2023, 08:24:29 UTC
d925d6a [tmva][sofie-gnn] Introducing RModel_GraphIndependent fix: generate function for SOFIE-GNN modules fix: generate function for SOFIE-GraphIndependent module feat: emit files for SOFIE-GNN testing feat: create function for GNN_Init feat: template function for adding initialized tensor using raw pointer fix: using template function for adding initialized tensors fix: move impl for template AddInitializeTensor() to header file, correct python test, and using UTILITY::Clean_name in RFunction_MLP 04 September 2023, 08:24:29 UTC
2df806a [tmva][sofie-gnn] Introducing RFunctions for SOFIE-GNN feat: RFunction_MLP feat: RFunction_Mean feat: constructors and member functions for RFunctions feat: RFunction_Sum fix: changed implementation and structural details fix: constructors and helper functions for GNN fix: model initialization with weight tensors [tmva][sofie-gnn] Introducing RFunction_Update and RFunction_Aggregate [tmva][sofie-gnn] Inference code generation for sofie-gnn fix: weight file optimizations and prettifying generated code reset: rebased with shape operator feature 04 September 2023, 08:24:29 UTC
1ca9b4c [tmva][sofie-gnn] Introducing SOFIE-GNN feat: constructor and input struct definition for GNN feat: avoid generating pre-infer code for gnn feat: AddFunction feat: generate & initialize function changes for gnn feat: InitializeGNN & GenerateGNN functions fix: updated graph aggregation functions fix: GNN_Data struct should be with namespace 04 September 2023, 08:24:29 UTC
acff8e2 [jsroot] dev 1/09/2023 Code was reformatted following pre-selected eslint rules From now JSROOT will try to follow these rules 04 September 2023, 07:08:27 UTC
51bae11 The TRI1/2 TGraph2D options produced artefacts. (#13585) 04 September 2023, 07:01:40 UTC
a63e6ae [cmake] Remove deprecated options cxx11/14/17 They were deprecated since commit 82763af605b in 2018 and don't make much sense anymore after ROOT requires C++17. 04 September 2023, 06:49:29 UTC
350d41b [RF] Code improvements of `RooClassFactory.cxx` * more use of raw string literals for less verbosity * placeholders for class name and baseclass name that get replaced in the end 01 September 2023, 15:56:38 UTC
d60e3d2 [RF] Implement batched evaluation for pdfs created by RooClassFactory With this commit, fast evaluation with BatchMode is now supported for pdf classes generated by the RooClassFactory. In a next step, we will also support the evaluation on the GPU. For example, the code generated in the RooFit tutorial on the RooClassFactory now looks like this: ```C++ namespace { inline double evaluateImpl(double x, double A, double B) { // ENTER EXPRESSION IN TERMS OF VARIABLE ARGUMENTS HERE return A*fabs(x)+pow(x-B,2); } } // namespace double MyPdfV3::evaluate() const { return evaluateImpl(x, A, B); } void MyPdfV3::computeBatch(double *output, size_t size, RooFit::Detail::DataMap const &dataMap) const { std::span<const double> xSpan = dataMap.at(x); std::span<const double> ASpan = dataMap.at(A); std::span<const double> BSpan = dataMap.at(B); for (std::size_t i = 0; i < size; ++i) { output[i] = evaluateImpl(xSpan.size() > 1 ? xSpan[i] : xSpan[0], ASpan.size() > 1 ? ASpan[i] : ASpan[0], BSpan.size() > 1 ? BSpan[i] : BSpan[0]); } } ``` Also do some general code modernization of the RooClassFactory. 01 September 2023, 15:56:38 UTC
92e5e67 [hist] Apply `modernize-use-nullptr` from clang-tidy 01 September 2023, 15:55:28 UTC
cc3cb4b [math] Apply `modernize-use-nullptr` from clang-tidy 01 September 2023, 15:55:28 UTC
abc083b [skip-ci] more stressGraphics fixes. (#13583) 01 September 2023, 14:14:26 UTC
1d55c81 [jsroot] dev 1/09/2023 with eslint fixes Fix several errors found with `eslint` static code analyzer Plus many other syntax changes. Plus important fix for member-wise streamer in std::map 01 September 2023, 12:37:04 UTC
6cb0d0a [TMVA] Don't use the same file name (`TMVA.root`) everywhere (#13576) * [TMVA] Don't use the same file name (`TMVA.root`) everywhere Use different file names (instead of `TMVA.root` everywhere), to prevent potential conflicts when running the test concurrently. Trying to solve the following kind of error on Windows: ``` SysError in <TFile::TFile>: could not delete C:\ROOT-CI\build\runtutorials\TMVA.root (errno: 13) Permission denied ``` * [skip-ci] fix a typo in the documentation 01 September 2023, 06:32:08 UTC
a74267c [skip-ci] fix stressgraphics (#13573) 31 August 2023, 11:23:01 UTC
c5d5da8 [RF][HS3][HF] Fix problems with `ShapeSys` in HistFactory HS3 The JSON export of HistFactory models did way too much guess work when figuring out the name of the `ShapeSys` names. In particular, it tried to to remove a prefix with the sample name, which is the wrong reverse engineering of what HistFactory does and broke workspaces where the user prefixed the `ShapeSys` names with the sample names. 31 August 2023, 11:00:45 UTC
5765418 [RF][HF][HS3] Correctly support `ShapeSys` in HS3 HistFactory This is achieved by refactoring and reusing code from the original HistFactory implementation. 31 August 2023, 11:00:45 UTC
3c68044 [RF][HF] Consistent limit and error configuration for gamma parameters This commit unifyies the gamma parameter configuration in the original HistFactory implementation and the new JSON serialization. 31 August 2023, 11:00:45 UTC
44efaba [ntuple] specifications.md: fully describe a Compression block 31 August 2023, 10:50:53 UTC
34e2e99 [RHist] Fix variable being used without being initialized Fix issue #13569 `[RHist] variable bins_per_hyperplane is being used without being initialized` 31 August 2023, 09:11:54 UTC
73f9a03 Add testing for TNetXNGFile Especially for double Close calling Do not include directly TNetXNGFile.h - makes too many warnings 31 August 2023, 07:42:10 UTC
2ca2fbc [RF] Rename RooIntegrator1D to RooRombergIntegrator and add unit test Now that the RooIntegrator1D class can handle the n-dimensional case, it should be renamed. It would be appropriate to put "Romberg" in the name, because the class is implementing Rombergs method. Also, a new unit test that checks the results of the algorithms it provides are the same as in ROOT 6.28.04 is added. 30 August 2023, 18:36:16 UTC
a82ca19 [RF] Remove RooIntegratorBinding The RooIntegratorBinding was only used by the 2D integrators to wrap an integrator for the first dimension. Now that the 1D integrators got generalized to n dimensions, this adapter is not necessary anymore. 30 August 2023, 18:36:16 UTC
57dedc7 [RF] Merge segmented integrators into RooIntegrator1D The segmented integrator classes were nothing more than wrappers wrapper around calling the RooIntegrator1D for different segments of the varioable defintions range. something that the RooIntegrator1D could do itself, bypassing the need for an extra class with lots of boiler plate code. 30 August 2023, 18:36:16 UTC
5f78f57 [RF] Merge Integrator1D and Integrator2D The RooIntegrator2D class was nothing more than a relatively complicated wrapper around calling the RooIntegrator1D twice recursively. That's something that the RooIntegrator1D could do itself, bypassing the need for an extra class and the RooIntegratorBinding. 30 August 2023, 18:36:16 UTC
895c0a8 [RF] Code-format `RooIntegrator1D` This class will be changed a lot in the next commits and even renamed. So we might as well format it now. 30 August 2023, 18:36:16 UTC
5198cf4 [RF] Remove accidentally introduced comment in RooIntegrator1D docs When I copy-pasted the documentation improvements from PR #6632 into commit 37f1e60345, I accidentally inserted also some notes that were connected to the other changes in that PR that I didn't include so far. These notes need to be removed again. 30 August 2023, 18:36:16 UTC
daceec0 [RF] Fix memory problem in RooIntegratorBinding This is a bugfix following up commit b3acd81280 from a few weeks ago. 30 August 2023, 18:36:16 UTC
0642796 [RF][HF] Also cover ShapeSyst in `testHistFactory` 30 August 2023, 13:36:19 UTC
02f20d4 [RF][HS3][HF] Implement support for ShapeSys in HistFactoryJSONTool 30 August 2023, 13:36:19 UTC
a1484fd [RF] Do again the unnormalized BatchMode tests in `testHistFactory` Now that the compilation for a given normalization set is factored out of the batched evaluation, we can again validate also the unnormalized HistFactory pdf evaluation with BatchMode. Also, this commit avoids some code duplication in `testHistFactory`. 30 August 2023, 13:36:19 UTC
56f0e1f [RF][HF] Don't catch general exceptions in HistFactory code This is not good practice. If there is an exception, the program should stop. In particular, `catch(...)` is not a good idea. Also, this commit does some other code modernization in `HistoToWorkspaceFactoryFast`. 30 August 2023, 13:36:19 UTC
5b35f90 [RF][HS3][HF] Always keep modifiers as a list to avoid name collisions Make sure modifiers are always kept as a list such as to avoid collisions between HistoSys and OverallSys with the same name. 30 August 2023, 13:36:19 UTC
edcef66 Fix the EmbedFonts functionnality (#13564) * Fix the EmbedFonts functionnality * Version 0 is fine * One EndObject was missing * [skip-ci] adjustment for stressGraphics * [skip-ci] simplify warnins messages 30 August 2023, 10:18:49 UTC
42ff76a [RF][HF] Use `RooFit::OwningPtr<RooWorkspace>` in HistFactory 29 August 2023, 21:42:08 UTC
dc6131f [RF] Avoid redundant `c_str()` and indirect TString casting to `char *` 29 August 2023, 21:42:08 UTC
4929ef9 [RF][HS3] Fixed ordering bug in datasets Fixes a bug that can lead to datasets and distributions being wrongly ordered in HS3 JSON files. Use the name of the split datasets rather than their index to decide the ordering. 29 August 2023, 21:42:08 UTC
54154f7 Make TNetXNGFile::Close() reentrant Check if fFile pointer still available 29 August 2023, 11:48:14 UTC
9ba73ed [RF] Remove `RooAbsArg::isCloneOf()` and `getCloningAncestors()` These functions were not working, as they are were querying the `CloneOf(*` attribute that is never set to begin with. The fact that nobody complained about this not working means that these functions were not important can be removed. 29 August 2023, 08:44:07 UTC
253fa9a [RF] Replace some `assert(0)` with throwing exceptions in RooAbsArg.cxx 29 August 2023, 08:44:07 UTC
3ca793a [RF][HF] Don't include HistoSyst wehn testing StatSyst It's better to not test too much at once. Since the HistoSysts are already covered in their own tests, they don't need to be included in the workspace for StatSyst testing. 29 August 2023, 08:44:07 UTC
c22d842 [RF][HF] Improved HistFactory test configuration The `testHistFactory` is refactored for easier configuration of the test matrix. This commit doesn't change what is actually tested, it is only a refactoring to make extending the tests easier in the future. 29 August 2023, 08:44:07 UTC
cfd3a28 [RF][HS3] Ignore whitespaces when reading formula expressions This resolves a problem with reading formula expressions. A unit test to cover some more RooGenericPdf cases is also added. 29 August 2023, 08:44:07 UTC
ec08d4c [RF][HS3] Now also replacing @ symbols when writing formula expressions 29 August 2023, 08:44:07 UTC
f6aeead [RF] Also directly manage scalar buffers on GPU in `roobatchcompute` This is to have a consistent way of passing information to the CUDA kernels. 29 August 2023, 08:39:23 UTC
5ba258e [RF] Only do a single copy before CUDA kernel call in `batchcompute` Since there is now some dynamic device memory allocation going on for each kernel call in RooBatchCompute CUDA, it is good for performance to group all the chunks of memory together to copy in one go. 29 August 2023, 08:39:23 UTC
b95a077 [RF] Dynamic buffer sizes in `Batches` also when using CUDA So far, there was a hardcoded maximum number for the number of input variables passed to the CUDA version of RooBatchComptute. This commit is avoiding this by dynamically allocating device memory for the input array pointers. 29 August 2023, 08:39:23 UTC
f15b0a3 [RF] Move Batches filling out of constructor in `batchcompute` This makes it easier to implement different logic for the CPU and GPU cases. 29 August 2023, 08:39:23 UTC
000fd7a [RF] Always take the input to compute functions by reference In Manos original implementation of the CUDA version of RooBatchCompute, the arguments to the compute kernels were large structs that were passed around by value. It turns out the resulting code is much faster when copying the input struct to the device and then only passing a referece. This harmonizes a bit more the GPU and CPU versions of `batchcomute` and makes possible in a follow-up commit to have a dynamic number of input arrays. This also speeds up all the CUDA fits in `rootbench` by about a factor two. 29 August 2023, 08:39:23 UTC
back to top