Scalable Computational Methods in Quantum Field Theory Jason Slaunwhite Computer Science and Physics Senior Project Advisors: Hemmendinger, Reich, Hiller (UMD) Outline • Context / Background • Design • Optimization – Compiler – Data Structures • Parallel • Summary Context (1) • Physical Model QED picture not QCD, particle exchange – Strong Force • Yukawa Theory – Quantum field thoery • Interactions = particle exchanges • Gauge Bosons • Eigenvalue Problem – Common ex: rotation – Form: Ax = lx Matrix Vector Scalar Z Eigenvector Rotation About z xy-plane Context (2) • Formulation of Eigenvalue Problem – Discrete - Hiller – Basis Function Expansion Slaunwhite y y y = f(x) x Basis Function Expansion y y = Gm (x) + discrete Ax = lx y y = Gn (x) x f(x) = a*Gn (x) + b* Gm (x) + … x Ax = lx x Context (3) • Is BFE a good method for solving the eigenvalue problem? Coupling vs. Number of basis functions 3.45 – Is it scalable? • Time dependence of computational methods 2.45 g • Convergence of eigenvalues as w/ increasing # of functions 2.95 1.95 convergence 1.45 0.95 0 2 4 6 8 10 Num ber of Basis Functions 12 14 Design (1) Input Calc Matrix Solve (Diagonalize) easy • What does the program do? – Input Parameters – Calculate each independent matrix elements – Solve (Diagonalize the matrix) • Structure Reflects Mathematics libraries Design (2) Level 1 Input Calc Matrix Diagonalize (solve) Level 2 Integrate Integrate Integrate Kernel Kernel Level 3 Kernel Review • Quantum Field Theory Model of the strong force • Eigenvalue problem • Programming work: calculate the matrix elements. • How did I optimize it? • Can it run in parallel? Ax = lx Matrix Vector Scalar The program Optimization - Compiler • g++ -03 12000 - Unoptimized - Optimized 10000 8000 Time (s) • Simple • Adds compile time • Very Effective! Time as a function of Size 6000 4000 2000 0 0 2 4 6 8 Numfun 10 12 14 Optimization – Data Structures … • Naïve approach smart • Storage vs. Time – Precompute values outside of element iteration – Need organized way to index the values Compute library Values Trade-off For each row For each col Calculate element Compute library Values (naïve) Naïve … Optimization Results Key: -- naïve -- data structure -- data structure + compiler Tim e as a function of Size 12000 y=57x2 10000 2 y=146x Time (s) 8000 Slopes: red/yellow = 2.56 6000 2 y=25x 4000 Slopes: yellow/green = 2.28 2000 0 0 5 10 Num fun 15 Slopes: red/green = 5.84 Parallel Design • Matrix elements independent • Split computation across many processors Ax = lx =l Work in progress - Paralellization • OpenMP libraries • IBM SP – MSI – Slower processors, but more of them and more memory • Work in progress From http://www.ibm.com The IBM SP consists of 96 shared-memory nodes with a total of 376 processors and 616 GB of memory Summary Parallel? Ax = lx Tim e as a function of Size 12000 y=57x2 10000 2 y=146x Time (s) 8000 6000 2 y=25x 4000 2000 0 0 5 10 Num fun The program g++ -03 15
© Copyright 2026 Paperzz