fads: a (Go-based) FAst Detector Simulation toolkit

HSF, 2015/01/21

Sebastien Binet

CNRS/IN2P3

fads

fads is a "FAst Detector Simulation" toolkit.

Code is on github (BSD-3):

Documentation is served by godoc.org, CI by drone.io:

2

go-hep/fads - Installation

As easy as:

$ export GOPATH=$HOME/dev/gocode
$ export PATH=$GOPATH/bin:$PATH

$ go get github.com/go-hep/fads/...

Yes, with the ellipsis at the end, to also install sub-packages.

3

go-hep/fwk - Concurrency

fwk enables:
- event-level concurrency
- tasks-level concurrency

fwk relies on Go's runtime to properly schedule goroutines.

For sub-task concurrency, users are by construction required to use Go's constructs (goroutines and channels) so everything is consistent and the runtime has the complete picture.

4

go-hep/fads - real world use case

$ go get github.com/go-hep/fads/cmd/fads-app
$ fads-app -help
Usage: fads-app [options] <hepmc-input-file>

ex:
 $ fads-app -l=INFO -evtmax=-1 ./testdata/hepmc.data

options:
  -cpu-prof=false: enable CPU profiling
  -evtmax=-1: number of events to process
  -l="INFO": log level (DEBUG|INFO|WARN|ERROR)
  -nprocs=0: number of concurrent events to process
5

go-hep/fads - components

Caveats:

6

7

Performances - testbenches

8

Linux (40 cores) testbench: memory

9

Linux (40 cores) testbench: event throughput

10

go-hep

11

go-hep project

A set of pure-Go or bindings to HEP libraries

12

go-hep + astrogo project (cont'd)

13

go-hep & HSF

Most of development workflow already addressed (doc, CI, DVCS)

HSF could provide (from go-hep POV):

14

Thank you

Sebastien Binet

CNRS/IN2P3

Use the left and right arrow keys or click the left and right edges of the page to navigate between slides.
(Press 'H' or navigate to hide this message.)