| Large-scale Nanostructure Simulations from X-ray Scattering Data On Graphics Processor Clusters | |
| Sarje, Abhinav ; Pien, Jack ; Li, Xiaoye ; Chan, Elaine ; Chourou, Slim ; Hexemer, Alexander ; Scholz, Arthur ; Kramer, Edward | |
| 关键词: X-ray scattering; Graphics Processors; High-Performance Computing; Parallelization strategy; | |
| DOI : 10.2172/1062108 RP-ID : LBNL-5351E PID : OSTI ID: 1062108 |
|
| 美国|英语 | |
| 来源: SciTech Connect | |
PDF
|
|
【 摘 要 】
X-ray scattering is a valuable tool for measuring the structural properties of materialsused in the design and fabrication of energy-relevant nanodevices (e.g., photovoltaic, energy storage, battery, fuel, and carbon capture andsequestration devices) that are key to the reduction of carbon emissions. Although today's ultra-fast X-ray scattering detectors can provide tremendousinformation on the structural properties of materials, a primary challenge remains in the analyses of the resulting data. We are developing novelhigh-performance computing algorithms, codes, and software tools for the analyses of X-ray scattering data. In this paper we describe two such HPCalgorithm advances. Firstly, we have implemented a flexible and highly efficient Grazing Incidence Small Angle Scattering (GISAXS) simulation code based on theDistorted Wave Born Approximation (DWBA) theory with C++/CUDA/MPI on a cluster of GPUs. Our code can compute the scattered light intensity from any givensample in all directions of space; thus allowing full construction of the GISAXS pattern. Preliminary tests on a single GPU show speedups over 125x compared tothe sequential code, and almost linear speedup when executing across a GPU cluster with 42 nodes, resulting in an additional 40x speedup compared to usingone GPU node. Secondly, for the structural fitting problems in inverse modeling, we have implemented a Reverse Monte Carlo simulation algorithm with C++/CUDAusing one GPU. Since there are large numbers of parameters for fitting in the in X-ray scattering simulation model, the earlier single CPU code required weeks ofruntime. Deploying the AccelerEyes Jacket/Matlab wrapper to use GPU gave around 100x speedup over the pure CPU code. Our further C++/CUDA optimization deliveredan additional 9x speedup.
【 预 览 】
| Files | Size | Format | View |
|---|---|---|---|
| RO201704190004392LZ | 1830KB |
PDF