透過您的圖書館登入
IP:3.134.102.182
  • 學位論文

libyt: 一個協助模擬即時平行分析的工具和它的相關應用

libyt: A Tool for In-Situ Parallel Analysis and its Scientific Applications

指導教授 : 薛熙于

摘要


隨著要解決的物理問題越來越大,要模擬的內容越來越精細,模擬本身的大小、運算量、資料量也隨之增加。這使得模擬演化過程中的每一個時間點的資料量也跟著增加。雖然已經有相應的分析軟體可以處理這些資料,但是他們都必須要在模擬輸出整個資料結構和資料本身下才有辦法分析。假如我們想要分析一組隨時間變化的資料,那麼這組資料將會佔據大量的硬碟空間。又或者我們必須存放整筆資料以便軟體分析,但其實真正分析的只有其中的一小部分,這會非常浪費硬碟空間。我們開發libyt讓使用者可以任意用Python或yt直接分析存在記憶體裡的資料,分析完後繼續跑模擬,來解決這個問題。 我們描述如何用Python C API和NumPy API來開發libyt和連接應用程式與Python;我們把libyt實際應用在真實的物理模擬中,並說明它如何幫助分析這些大型模擬;我們把libyt和原始的方法做比較,說明它更具有延展性和優勢;最後,我們提及libyt可以如何增加更多功能以便連接到其他常用的分析軟體。

關鍵字

模擬 資料處理 即時分析 平行分析 Python

並列摘要


The size and scale of simulations have grown rapidly in order to solve larger physics problems and to render the data in a higher resolution. This resulted in bigger dataset in each step in simulations. Analytic tools have been developed to analyze and visualize these output datasets, but they suffer from having simulations to store the full datasets on disk first before further analyzing them. This may take up lots of disk space if we want to analyze the data in a high resolution time series. This also wastes lots of space storing unnecessary data, if we only need a small portion from them. We developed libyt to solve this problem. libyt is a C++ library for yt, that aims to make simulations able to use yt or other Python packages to analyze data arbitrarily in code runtime. We describe how we use Python C API and NumPy API to build libyt and connect simulations to Python instances. We demonstrate that it plays an important role in large production run simulations. We discuss the scalability of libyt and its advantage comparing to the original post-processing method. Finally, we show how libyt can be extended and connected to other analytic tools in the upcoming updates.

參考文獻


G. L. Bryan, M. L. Norman, B. W. O’Shea, T. Abel, J. H. Wise, M. J. Turk, D. R. Reynolds, D. C. Collins, P. Wang, S. W. Skillman, B. Smith, R. P. Harkness, J. Bordner,
J.-h. Kim, M. Kuhlen, H. Xu, N. Goldbaum, C. Hummels, A. G. Kritsuk, E. Tasker, S. Skory, C. M. Simpson, O. Hahn, J. S. Oishi, G. C. So, F. Zhao, R. Cen, Y. Li, and The Enzo Collaboration. ENZO: An Adaptive Mesh Refinement Code for Astrophysics. The Astrophysical Journal Supplement Series, 211:19, Apr. 2014.
H.-Y. Schive, T. Chiueh, and T. Broadhurst. Cosmic structure as the quantum interference of a coherent dark wave. Nature Physics, 10:496–499, June 2014.
H.-Y. Schive, J. A. ZuHone, N. J. Goldbaum, M. J. Turk, M. Gaspari, and C.-Y. Cheng. gamer-2: a GPU-accelerated adaptive mesh refinement code–accuracy, performance, and scalability. Monthly Notices of the Royal Astronomical Society, 481(4):4815–4840, 09 2018.
M. J. Turk, B. D. Smith, J. S. Oishi, S. Skory, S. W. Skillman, T. Abel, and M. L. Norman. yt: A Multi-code Analysis Toolkit for Astrophysical Simulation Data. The Astrophysical Journal Supplement Series, 192:9, Jan. 2011.

延伸閱讀