KAGALI PE code development Hyung Won Lee, Inje University, 29 August 2017 coll. With Jeongcho Kim(Inje U.), Chunglee Kim(KASI) 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Contents Motivation Parameter Estimation with Bayesian Inference Implementation in LALSuite Strategy for KAGALI Development for KAGALI Preliminary test run Discussions 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Motivation Implement MCMC PE for KAGALI Based on LALSuite Minimum full functionality for MCMC Parallel tempered Improvement as many as possible from LALSuite Modularize as much as possible for easy maintenance and readable Test for iKAGRA data 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
Parameter Estimation with Bayesian inference ℘ 𝜃 𝑥 = ℘ 𝜃, 𝑥 ℘ 𝑥 = ℘(𝑥|𝜃)℘ 𝜃 ℘(𝑥|𝜃)℘ 𝜃 𝑑𝜃 ℘ 𝜃,𝑥 =℘ 𝑥 𝜃 ℘ 𝜃 =℘ 𝜃 𝑥 ℘ 𝑥 𝜃 : unobservable model parameters 𝑥 : observable data ℘ 𝜃,𝑥 : Joint probability observing data 𝑥 with model parameter 𝜃 ℘ 𝑥 𝜃 ∝𝐿𝑖𝑘𝑒𝑙𝑖ℎ𝑜𝑜𝑑 𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛 Metropolis-Hasting Algorithm, 10 6 ~ 10 7 samples 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
Parameter Estimation with Bayesian inference MCMC Samples PTMCMCOutput.#.nn.h5 PTMCMCOutput.#.h5 Post Process cbcBayesPostProc.py 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Waveform Templates There are many waveform templates Concentrate TaylorF2 with Amplitude correction up to 2.5 PN Effect of eccentricity up to 3.0 PN TaylorT2 can deal with CBC inspirals when there is a BH spin that is aligned to the orbital angular momentum. SpinTaylorT4 is one of the most comprehensive inspiral waveform model used by the LIGO-Virgo collaboration. This can deal with precessing CBC inspirals with two spins. 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
Likelihood Calculation Excess energy 𝐸= 1 2 𝑑 𝑑 − 1 2 𝑑−ℎ 𝑑−ℎ = 𝑑 ℎ − 1 2 ℎ ℎ ℒ(𝑠|𝜃)∝exp 𝐸 Gaussian noise assumption ℘ 𝑥 𝜃 = ℒ(𝑠|𝜃) 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama MCMC Process Parallel Tempering Accept next state with probability 𝑟= ℘(𝑥| 𝜃 2 ) 1/𝑇 ℘ 𝜃 2 ℘(𝑥| 𝜃 1 ) 1/𝑇 ℘ 𝜃 1 Metropolis-Hasting sampling 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Parallel Tempering Use few chains with different temperature Use likelihood ℒ 𝑠 𝜃 1 𝑇 , 𝑇>1 𝑇 𝑚𝑎𝑥 = 𝑁𝑒𝑡𝑤𝑜𝑟𝑘 𝑆𝑁𝑅 2 𝑛 𝑝𝑎𝑟 Improve convergence and mixing The higher temperature, the smoother distribution 𝑇>1 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
Implementation in lalsuite LAL MCMC Pipeline Directory structure of lalsuite Basic entities of LALSuite LAL applications Likelihood, proposal and prior functions Simulation related functions and waveforms Post Processing python script 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama LAL MCMC Pipeline Start Initialization MPI synchronize PT MCMC Clearance End 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama main LALInferenceInitRunState() LALInferenceInjectSignal() LALInferenceApplyCalibrationErrors() init_ptmcmc() LALInferenceInitCBCPrior() LALInferenceInitLikelihood() LALInferenceDrawThreads() runState->algorithm 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama InitRunState() Makoto & Takuji, 2 19937 −1≈ 10 6000 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama LALInferenceInjectInspiralSignal() 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama LALInferenceApplyCalibrationErrors() 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama init_ptmcmc() Set Algorithm function pointer Set parallel swapping function pointer Set CBC model Set number of varying parameters Set temperature ladder Set CBCthreads if necessary Set proposal function and proposal arguments for all threads Set adaptation parameters 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama LALInferenceInspiralPrior() Set various prior functions 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama PTMCMCAlgorithm() 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Template LALInferenceTemplateXLALSimInspiralChooseWaveform 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Strategy for KAGALI Base on LALSuite for many functions Modularize if possible Use structures Command parameters(KGLProcessParamsTable) IFO information(KGLInferenceIFOData) Waveform parameters(KGLWaveformModelParams) MCMC status(KGLInferenceRunState) Simulation parameters Use simple text file for injections Implement lalinference 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
Development for KAGALI Use a new branch “mcmc” for development Library and application directory are separated (version 4) root/kagali/inference/src root/kagali/kglcommon/clock/src root/kagali/kglcommon/detector/src root/kagali/kglcommon/std/src root/kagali/waveform/src root/kagaliapps/cbc/mpisrc Cloned on KISTI and local Ubuntu server Build and run on both systems 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Main features Use a unique union structure for waveform parameters (KGLWaveformModelParams) 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Structures KGLInferenceIFOData KGLDetector KGLWaveformModelParamsValue KGLWaveformModelParamsType KGLProcessParamsTable KGLProcessParamsPair KGLWaveformModelParamsItem KGLInferenceAlgorithm KGLWaveformModelParamsIndex KGLInferenceRunState KGLWaveformModelParams KGLWaveformModelParamsValue KGLInferenceAlgorithmOneStep 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
Development for KAGALI kagali/inference/src 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
Development for KAGALI kagali/kglcommon/clock/src 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
Development for KAGALI kagali/kglcommon/detector/src 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
Development for KAGALI kagali/kglcommon/std/src 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
Development for KAGALI kagali/waveform/src 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
Development for KAGALI kagaliapps/cbc/mpisrc 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama KGLProcessParamsTable.h.in 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama KGLProcessParamsTable.h.in KGLProcessParamsPair KGLProcessParamsTable 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama KGLCommandUtils.c 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama KGLInferenceMCMC.c 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama inferenceMCMC.c 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama inferenceMCMC.c 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Makefile.am 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama build KAGALI 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama build script 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama build script(cont’d) 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Build results nohup ./build-branch.sh & 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Sample Run(condor) /data/kagra/home/hwlee/projects/LAL/scratch/kagali/mcmc.sub condor_submit mcmc.sub 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Sample Run(condor) 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Sample Run(condor) 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Sample Run(condor) 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Sample Run(condor) 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Sample run(mpirun) 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Sample run(con’d) 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Progress from the last Defines some structures Waveform Parameters, Datetime, etc. Implement basic placeholder functions Implement few more placeholder for functions Fixing some nil point errors 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Discussions Basic data structures are ready Basic program architecture fixed Need to write source codes and hurry up Hanyang, SNU Seoul Toyama KISTI, NIMS Daejeon Pusan U. Osaka Gimhae 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama
KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama Thanks 2017-08-29 KAGALI PE code development, The 17th KAGRA F2F meeting, Toyama