1 / 12

AliRoot r econstruction: tests with icc , gcc 4.8 and VDT

AliRoot r econstruction: tests with icc , gcc 4.8 and VDT. P. Hristov 08 /04/ 2013. Test machine. SLC6: 4 core HP, 4Gb RAM, 8Gb swap, 1130 Rootmarks default compiler gcc 4.4.7 icc 13.1.0 from AFS: source / afs/cern.ch/sw/IntelSoftware/linux/all- setup.sh gcc 4.8.0 from AFS:

brice
Download Presentation

AliRoot r econstruction: tests with icc , gcc 4.8 and VDT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AliRoot reconstruction: tests with icc, gcc 4.8 and VDT P. Hristov 08/04/2013

  2. Test machine • SLC6: 4 core HP, 4Gb RAM, 8Gb swap, 1130 Rootmarks • default compiler gcc 4.4.7 • icc13.1.0 from AFS: source /afs/cern.ch/sw/IntelSoftware/linux/all-setup.sh • gcc4.8.0 from AFS: source /afs/cern.ch/sw/lcg/external/gcc/4.8.0/x86_64-slc6/setup.sh

  3. Using icc • Root platform: linuxx8664icc • Fixes in etc/vmc/Makefile.linuxx8664icc to compile and run the simulation • Fix in geant3/Makefile (adding ishftr.c for liunxx8664icc) • New cmake/CMakelinuxx8664icc.cmake in AliRoot • Fix in LHAPDF/CMakeliblhapdf.pkg (platform) • Fix in MICROCERN/CMakelibmicrocern.pkg (corrected EINCLUDE) • Switch off the FPE trapping in ALIROOT/fpe.c • These changes still have to be committed

  4. Using VDT library • What is VDT? vectorised math • A collection of fast implementations of mathematical functions. • Double and single precision implementations are available. • No overhead present, no intrinsics used. • A scalar (T(T)) and array signature (void(const unsigned int,T*,T*)) are provided. • Starting from GCC 4.7.0, the array signatures autovectorise for a even higher speed of execution! • Much of the VDT code is inspired by the well known Cephes mathematical library.

  5. VDT references • Presentation of D. Piparo • https://svnweb.cern.ch/trac/vdt • http://svnweb.cern.ch/world/wsvn/vdt • Padé approximant

  6. VDT test: some details • Very first attempt on Ubuntu 12.04, clang 3.2 • compilation with –O –g (Root, AliRoot) • Replacing sin, cos, tan, atan, atan2 by vdt::fast_sin,cos,tan,atan, atan2 in TMath.h • In a second test the same for log and exp • Linking with libvdt.so • Reconstruction of the same raw file (single user mode) with 270 PbPb events

  7. Issues • Floating point exceptions, i.e. division by zero in vdt::fast_tan(0) • FPE trapping switched off • The issue is fixed in the VDT trunk • The results are affected by the problem #101121: Fix for not initialized pointers in AliHLTHOMERLibManager

  8. Results • Integrated gain of ~20% with VDT when the trigonometric functions are replaced • Small gain ~1% from exp, log

  9. Black: no VDT Red: VDT trigonometric functions Green: VDT log and exp

  10. To Do • Redo the VDT test with fixed AliHLTHOMERLibManager (to get back the TPC reco) • Compare the results of different reconstructions • Estimate the gain in MC • Compare the resolutions, efficiencies and fake ratesinMC (the same input kinematics tree) • Decide the best way to use VDT

More Related