Mar. 2, 2021

Code:

import datetime as dt
t = dt.datetime.now()
print('Start at',t.strftime('%H:%M:%S'))

from psana import *
import sys
myrun=sys.argv[1]

t = dt.datetime.now()
print('Import done at',t.strftime('%H:%M:%S'))

dsource = MPIDataSource('exp=cxilu9218:run='+myrun+':smd:dir=/cds/data/drpsrcf/cxi/cxilu9218/xtc')
jungfraudet = Detector('jungfrau4M')

t = dt.datetime.now()
print('Detector done at',t.strftime('%H:%M:%S'))

for nevt,evt in enumerate(dsource.events()):
   calib = jungfraudet.calib(evt)

t = dt.datetime.now()
print('Job done at',t.strftime('%H:%M:%S'))

Results for cxilu9218 run 237:

Nic Speed (Gb/s)NodesCores/NodeImport Time (s)Detector Creation Time (s)Analysis Time (MM:SS)
10112063626:57
10164102324:37
1026482213:17
10212064114:02
116415324:34
1112084026:42

A similar test on psanaq:

NodesCores/NodeImport Time (s)Detector Creation Time (s)Analysis Time (HH:MM:SS)
2121692:05:53

Conclusions

  • Unlike Jan. 27 measurements below the hyper threading cores didn't seem to help.  Feels like "operator error" on my part?
  • Nodes with 10Gb NICs vs. 1Gb NICs didn't make a significant difference
  • Best configuration seems to be 2 nodes with 64 cores/node.
  • "import psana" times fairly small.  Detector creation times (fetching calibration constants?) larger.

Jan. 27, 2021

Code:

from psana import *

dsource = MPIDataSource('exp=cxilu9218:run=237:smd:dir=/cds/drpsrcf/cxi/cxilu921
8/xtc/')
jungfraudet = Detector('jungfrau4M')

smldata = dsource.small_data('/cds/drpsrcf/cxi/cxilu9218/scratch/run237.h5',gath
er_interval=100)

partial_run_sum = None
for nevt,evt in enumerate(dsource.events()):

   calib = jungfraudet.calib(evt)
   if calib is None: continue
   jungfrau_sum = calib.sum()      # number
   smldata.event(jungfrau_sum=jungfrau_sum)

Results:

NodesCores/NodeTime (HH:MM:SS)
26416:06
16427:31
1321:43:29
212816:11
112016:45
224019:17

Redo these tests on March 6, 2021.  Can't reproduce the benefit of the hyper threading cores:

       JobID    Elapsed        NodeList      NCPUS 
------------ ---------- --------------- ---------- 
1707           00:28:49 drp-srcf-cmp028        120 
1707.batch     00:28:49 drp-srcf-cmp028        120 
1708           00:27:15 drp-srcf-cmp028         64 
1708.batch     00:27:15 drp-srcf-cmp028         64 
1710           00:30:46 drp-srcf-cmp028        120 
1710.batch     00:30:46 drp-srcf-cmp028        120 
  • No labels