GithubHelp home page GithubHelp logo

scheduling-event-model's People

Contributors

betatim avatar gerhardraven avatar hegner avatar manuelschiller avatar pikacic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

scheduling-event-model's Issues

Lxplus Ninja

@GerhardRaven I am giving a try to running your code.
First issue : Ninja is not installed by default on lxplus it seems

[yamhis@lxplus0067 TransformAlgorithm_playground]$ source setup-lhcb-build.sh
/usr/bin/which: no ninja in (/afs/cern.ch/group/z5/bin:/afs/cern.ch/user/y/yamhis/scripts:/usr/kerberos/sbin:/afs/cern.ch/lhcb/software/releases/LBSCRIPTS/LBSCRIPTS_v8r4p2/InstallArea/scripts:/afs/cern.ch/sw/lcg/releases/LCG_79/Python/2.7.9.p1/x86_64-slc6-gcc48-opt/bin:/afs/cern.ch/lhcb/software/releases/COMPAT/COMPAT_v1r19/CompatSys/x86_64-slc6-gcc48-opt/bin:/afs/cern.ch/sw/contrib/CMT/v1r20p20090520/Linux-x86_64:/afs/cern.ch/lhcb/bin:/afs/cern.ch/sw/lcg/contrib/CMake/2.8.9/Linux-i386/bin:/usr/sue/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin)
Ninja is not installed. Will Install Ninja ..

Contribution from Florian

Find attached the work that Florian(*) has done during the summer to “accelerate” tracking code.
We discussed with Ben and Lionel the possibility of having him involved in the workshop. My idea was to ask him to give us feed back (a sort of review) on what were the
bottle necks and what seem to slow down any code acceleration in the current LHCb software. Since he is didn’t work on the current Event Model he might have an unbiased view.

What do you think ?
Florian.pdf
(*) Florian was a technical student and he will start his PhD tomorrow supervised by Ben at CERN and Lionel Lacassagne in Paris.

Data preservation

From Roel :

  • Backwards compatibility of the data files. Right now if a new object is
    stored in a ROOT file, the files becomes completely unreadable by old
    software versions although they would understand everything else fine. We
    should allow parts of the event to be "blindly" copied if they are not
    understood and everything we understand to be used. For the swimming this
    made things extremely painful.
  • Data preservation. I think we should make proper specifications and
    versions of all event model classes such that they can always be
    understood later. This is currently sort of in the code, but not really on
    paper. It would be best if they were digital too, somehow.

Little projects

After discussing with @betatim though of this issue.
This is a list of small projects people could work on during the parallel sessions :

  • Make different level of abstraction.
  • Make it easier to store new objects/classes in output files.
  • More to be added.

Input from Marco Cattaneo

  • Dataset content: is the TurboDST idea the right direction, how do we deal with global event data (e.g. isolation variables), how do we ensure independence of stripping line outputs etc.
  • How do people interact with the event model objects: role and evolution of LoKi, Turbo/MDST vs. NTuples, role of ROOT (what are the use cases for directly accessing our event data interactively from with Root?)
  • Is it still necessary to have an XML description of our event classes (à la GaudiObjDesc), what are the use cases?

Contribution from Pierre

I discussed with Pierre (Billoir some of you know him already), who has been since he started working on LHCb (and for a while before) thinking about potential speed ups and improvements to the upgrade-tracking. For the time being we can summarize the discussion in two points :

  • Weight matrix formalism for the Kalman Filter.
  • Trials to reduce computations in some steps of the reconstruction.

It seems to me this can nicely fit in the Event Model. The way I see it he could share with us his thoughts in a // session. @betatim @GerhardRaven @manuelschiller Thoughts ?

List of contributions

  • [Monday + Common Scheduling and Framework ] Setting up the scene (Roel + Yas).
  • [Monday + Common Scheduling and Framework ] What are the issues with the current EM, what does the future one need to address (Francesca + Matt K.).
  • [Monday + Common Scheduling and Framework ] FCC event model (Benedikt).
  • [Monday + Common Scheduling and Framework ] Structure of arrays (Manuel).
  • [Tuesday] Hacking.
  • [Wednesday]Vectorization (Florian).
  • [Wednesday]Track fit - matrices (Pierre).
  • [Wednesday] Packing/Unpacking - Precision (Chris Jones).
  • [Wednesday] Data preservation (Ana?).
  • [Wednesday] Files summaries (FSR, headers ) (Roel).
  • [Thursday] Hacking.

Standup

How to maintain some state in an algorithm for histograms, etc that is machine checkable for that state not influencing the out come.

Scheduling/Framework session schedule

This issue is to organise the schedule of the Scheduling/Framework sessions.

Please post your contributions/ideas below and we will update the table

Monday Tuesday Wednesday Thursday
joint session with "event model", collect ideas for short hacks to be worked on Tuesday and Thursday. hacking Standup and talks hacking

EDM design considerations

A suggestion (feel free to reject it) for the workshop (and after it) is to draw up
a ‘design guidelines’ for the various topics. This is what has already started here.

Let me add my three favourite ‘commandments’:

  1. EDM classes shall be efficiently move-constructible
  2. EDM classes shall be composable
  3. EDM classes shall be immutable once made available

rationale:

  1. is driven by 3)
  2. is driven by sanity, and making the system 'understandable' (and multi threading friendly)
  3. will allow producers to ‘pass by value’ and we avoid explicit heap storage.

If you look at GaudiAlg/GaudiAlg/TransformAlgorithm.h (assuming you’ve run
the script I sent out yesterday -- I will add a pull request for it) you will see a clear
example of why I want 1), and the impact it has (i.e. simplifies things) if you look at eg.
Tf/PatAlgorithms/src/PatMatch.cpp and Calo/CaloReco/src/CaloSinglePhotonAlg.cpp
which are two examples of code adapted to use TransformAlgorithm...

Upgrade tracking

The current performances of the upgrade tracking will be probably used as input for discussion in various sessions.
I wonder if we want to have a dedicated contribution ? Or simply gather the information (slides?) and s have them available. What do you think ?

setup-lhcb-build.sh cannot work in chroot environments

Hi,

your script cannot work in chroot environments, since it changes MYSITEROOT to cvmfs which may or may not be available, and it changes CMTCONFIG as well (again, binaries for the new setting may or may not be available). I've sort of hacked things by hand to point to the right locations on my laptop (and use gcc 4.8 which is the only version for which I have binaries installed), but even after that, I cannot start compiling:

[mala@fenchurch]~/paris2015/moo/Gaudi% make
mkdir -p /home/mala/paris2015/moo/Gaudi/build.x86_64-slc6-gcc48-opt
cd /home/mala/paris2015/moo/Gaudi/build.x86_64-slc6-gcc48-opt && cmake -DCMAKE_USE_CCACHE=ON -DCMAKE_TOOLCHAIN_FILE=/home/mala/paris2015/moo/Gaudi/toolchain.cmake -GNinja /home/mala/paris2015/moo/Gaudi
CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER
CMake Error: Could not find cmake module file: /home/mala/paris2015/moo/Gaudi/build.x86_64-slc6-gcc48-opt/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER
CMake Error: Could not find cmake module file: /home/mala/paris2015/moo/Gaudi/build.x86_64-slc6-gcc48-opt/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake
-- Configuring incomplete, errors occurred!
make: *** [/home/mala/paris2015/moo/Gaudi/build.x86_64-slc6-gcc48-opt/build.ninja] Error 1

If that's expected behaviour, and if I should therefore compile this on lxplus, please let me know. In any case, things need at least some kind of clarification...

Cheers,

Manuel

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.