# 練習軟體清單 ## 環境 & 工具 - SSH - NFS ### Compiler - GCC (ubuntu 可直接載 `build-essential`) - Clang (LLVM) - gfortran ### Utilities - tmux - vim - nano - git ### 效能監控 - htop - nvtop ### 其他 - Environment Modules (管理軟體版本、環境變數) - Slurm (多節點 Job 管理) - perf, gperftools (CPU profiler) - Nsight Systems (CPU/GPU profiler) ## Library ### GPU - Nvidia Driver - CUDA ### MPI - OpenMPI - 需要 autoconf、automake、libtool - 如果可以再加 UCX - IntelMPI - MPICH - ... ### BLAS - Intel MKL - OpenBLAS - GotoBLAS - ... ## 應用程式 ### Benchmark - HPL - 二維密集矩陣 - HPCG - 三維稀疏矩陣 - https://hackmd.io/@chialu/SJ2Q_pgEO - RAJAPerf - https://github.com/LLNL/RAJAPerf - HPCG_AI ### 物理模擬 - GROMACS (王品智認領) - Nivdia 分子動力學模擬 - Basilisk - 流體力學模擬 (第二屆應用題) - http://www.basilisk.fr/ - FourCastNet - 大氣模擬 (第二屆應用題) - https://docs.nvidia.com/deeplearning/modulus/modulus-sym/user_guide/neural_operators/fourcastnet.html ### 2017 1.REEF3D REEF3D為一處理水利工程、海岸工程、環境工程及海洋工程之開放源計算流體力學模擬程式。利用level-set方法可以模擬複雜的液氣介面問題,並配合MPI進行高效能計算,讓REFF3D可以輕鬆的協助工程分析與設計。相關Source code下載、安裝方式及應用算例可參考https://reef3d.wordpress.com/ 。 2.SPECFEM3D SPECFEM3D軟體由美國普林斯頓大學(Princeton University)、法國國家科學研究中心(CNRS) 與馬賽大學(University of Marseille)、瑞士蘇黎世聯邦理工學院(ETH Zürich) 等研發團隊所開發的開源軟體(Open Source),使用Spectral-Element Method (SEM) 模擬地震波的軟體,此軟體具備可延展性(Scalability) 的特性,可以模擬全域的(Global)或是區域的(Regional)問題,採用Fortran程式語言撰寫,有Message Passing Interface (MPI)與GPU版本,詳細資料如: https://geodynamics.org/cig/software/specfem3d_globe ### 2016 1.TauDEM TauDEM (Terrain Analysis Using Digital Elevation Models)為美國猶他州立大學所開發之集水區劃設模式,主要功能為擷取網格式數值高程資料之水系,作為相關水文、水理及水資源調配等分析演算之前置作業。在進行劃設前需要準備有包含集水區範圍之數值高程模型資料與相關之水系匯入流點位資料。模式劃設方法有兩種方式,一種是由模式自動找出集水區之邊界範圍;另一種方式則是利用匯流點或入流點位之圖層計算上游集水區範圍資料。在採用上述方式劃設集水區時,TauDEM常需大量運算時間,因此可採用TauDEM內建平行處理功能,以加快劃設速度。另如需檢視集水區劃設結果則可採用GIS軟體(例如QGIS)檢視集水區劃設結果。 2.Desmond Desmond 是一套針對微觀生化系統的分子動力學模擬軟體,由D. E. Shaw Research開發,藉由高度特化的平行演算法和數值技巧達成大尺度的模擬。支援CPU及GPU硬體架構,MPI和CUDA計算環境。 ### 2015 1.LAMMPS LAMMPS主要是由美國能源部Sandia National Laboratories所開發之GNU開放軟體(open source),它是一個以古典分子動力學為主的模擬應用程式,並附有蒙地卡羅、耗散粒子動力學等模擬方法,可模擬包含液態、氣態、固態、膠質等不同物質之結構、動力學、力學、…等微觀材料物性質之軟體,尺度可模擬數百至數十億顆原子。LAMMPS更支援個人電腦、大型平行運算主機、或GPU顯卡等設施執行運算,編譯之程式為C + +,並支持MPI、OpenMP與CUDA程式。並且是一個被設計成易於修改或擴展新的原始碼,因此可讓使用者免費使用或修改。 2.Einstein toolkit Einstein toolkit為一求解初值邊界問題的開源科學模擬程式。主要應用在強重力場下的極端天文物理研究,如黑洞的形成及演化、中子星與黑洞碰撞、重力波計算等其他廣義的相對論磁流體系統,以提供未來重力波相關天文觀測所需要的理論模型。Einstein toolkit 基於Cactus 的插件式設計,支援MPI、OpenMP 以及向量擴展指令集,提供一般模擬過程所需要的元件,如高階有限差分、顯式時間演化積分、結構化自適應網格(structured adaptive mesh refinement)等,而研究者可著重在科學插件的撰寫與組合,控制模擬流程,充分發揮高速計算主機效能。目前主要的開發者為美國、德國、與加拿大的數值相對論研究群。 ### 2014 1.OpenFOAM(Open Source Field Operation and Manipulation)是對連續介質力學問題進行數值計算的C++自由軟體工具包,其代碼遵守GNU通用公共許可證。它可進行資料預處理、後處理和自訂求解器,常用於計算流體力學(CFD)領域。OpenFOAM的早期開發始於1980年代末期的倫敦帝國學院,其目標是為了編寫一個強大和靈活的通用模擬計算平臺。現已成為使用多面體網格的最主要的通用計算流體力學(CFD)軟體. OpenFOAM的功能含有:基本的計算流體力學求解器、不可壓流的雷諾平均納維-斯托克斯方程法(RANS)和大渦流模擬法(LES)求解器、可壓流的RANS和LES求解器、直接數值模擬(DNS)、多相流求解器、粒子追蹤求解器、燃燒求解器、分子動力學求解器、電磁學求解器、剛體動力學模擬器等,亦可讓使用者建立自訂的求解器。相關詳細資訊可至官方網站(http://openfoam.org/)參考。 2.LAMMPS:彭冠銘 主要是由美國能源部Sandia National Laboratories所開發之GNU開放軟體(open source),它是一個以古典分子動力學為主的模擬應用程式,可模擬包含液態、氣態、固態、膠質等不同物質之結構、動力學、力學、…等微觀材料物性質之軟體,尺度可模擬數百至數十億顆原子。LAMMPS更支援個人電腦、大型平行運算主機、或GPU顯卡等設施執行運算,編譯之程式為C+ +,並支持MPI與CUDA程式。並且是一個被設計成易於修改或擴展新的原始碼,因此可讓使用者免費使用或修改。模擬的視覺化可利用VMD或Atomeye等軟體。 ### 2013 1.NAMD 為ILLINOIS University 所開發與主要為高速計算設計的分子動力學軟體 (molecular dynamics : MD),NAMD 為免費下載執行檔與程式碼之軟體,NAMD 軟體可以使用Amber、CHARMm、X-PLOR 等三個分子動力學力場;另外NAMD 號稱支持GROMOSS 力場,但筆者嘗試過後認為NAMD尚未完全支持該力場計算。另外ILLINOIS University 開發一套可視覺化分析NAMD 計算結果軟體 (VMD)。 NAMD 網址為: http://www.ks.uiuc.edu/Research/namd/ VMD 網址為: http://www.ks.uiuc.edu/Research/vmd/ 2.TELEMAC-MASCARET為Artelia (formerly Sogreah, France), BundesAnstalt für Wasserbau (BAW, Germany), Centre d’Etudes Techniques Maritimes et Fluviales (CETMEF, France), Daresbury Laboratory (United Kingdom), Electricité de France R&D (EDF, France), and HR Wallingford (United Kingdom)等單位共同發展應用於自由介面流場模擬的計算程式.該程式在世界各地研究單位所採用,並成為該領域中主要的模擬標準之一. 該計算模組採用三角形非結構網格之有限元素法處理自由介面問題,可應用於河流與海洋研究問題.因氣候變遷問題導致海平面上升及極端氣候造成洪水問題,TELEMAC-MASCARET亦可分析此類問題,相關資訊可至官方網站(www.opentelemac.org)參考. ### 2012 本次應用程式解題(AP)的題目將以衛星煙草嵌紋病毒為例,計算其穩定狀態下的三維結構,希望參賽者利用對題目的了解與分析平行效率的瓶頸,調整平行計算環境的設定,進而發揮最佳的平行計算效能。 衛星煙草嵌紋病毒: Satellite tobacco mosaic virus (STMV) 網址: http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=NAMD 版本:Version 2.8 (2011-05-31) Platforms: 簡介:許多疾病的來源為微小的病毒顆粒,例如新流感(H1N1 of 2009)與愛滋病(human immunodeficiency virus, HIV)等疾病便是由病毒所引發的。通常完整的病毒顆粒包含:外殼蛋白與遺傳物質(RNA 或DNA)兩大部分;由於病毒本身缺乏酵素,因此其必須進入宿主細胞,藉助宿主細胞中的酵素與胞器才能複製下一代。過去由於缺乏病毒的蛋白質X光三維結構之相關資訊,導致科學家無法拼湊出病毒完整的結構,進而了解病毒如何有效地利用外殼蛋白進入宿主細胞的機制。衛星煙草嵌紋病毒屬於小型的病毒分子(原子量介於20~30萬a.m.u),其通常只能在被煙草嵌紋病毒(TMV)所感染的番茄細胞內進行複製與增生;美國伊利諾香檳分校的科學家於西元2007年,利用新解析出的衛星煙草嵌紋病毒外殼蛋白的資訊,完整地拼湊出其三維結構,這使得科學家可以利用現今的分子動力學(Molecular Dynamics)模擬方法,計算病毒結構穩定性的機制,進而了解特定病毒結構上的特性,並可依據模擬所得到的資訊尋求如何對付病毒增生的新方法。 ### 2011 HPCC https://hpcchallenge.org/hpcc/