日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

anasys hpc集群_这可能是最简单的并行方案,如何基于 AWS ParallelCluster 运行 ANSYS Fluent...

發(fā)布時(shí)間:2025/3/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 anasys hpc集群_这可能是最简单的并行方案,如何基于 AWS ParallelCluster 运行 ANSYS Fluent... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用 HPC(高性能計(jì)算)應(yīng)對計(jì)算流體動力學(xué) (CFD) 的挑戰(zhàn)已成為慣例。隨著近一二十年間,HPC 工作站向超級計(jì)算機(jī)的發(fā)展變緩,計(jì)算集群正不斷地取代單獨(dú)的大型 SMP(共享內(nèi)存處理)超級計(jì)算機(jī)的地位,并且已成為“新常態(tài)”。另外,一項(xiàng)更加新的創(chuàng)新——云技術(shù),同樣也大幅提升了總的計(jì)算吞吐量。

這一篇博文將向您介紹在數(shù)分鐘內(nèi)于運(yùn)行 ANSYS Fluent(一款市售的計(jì)算流體動力學(xué)軟件包)的 AWS 上完成 HPC 集群設(shè)置的最佳優(yōu)良實(shí)踐。此外您還能看到一些安裝 ANSYS Fluent 并運(yùn)行您的首個(gè)作業(yè)的示例腳本。“最佳指南”是一種相對稱呼,在云技術(shù)中更是如此,因?yàn)榇嬖谀芤圆煌绞浇M合達(dá)成相同目的的諸多可能性(亦稱為服務(wù))。僅在需要使用特定的應(yīng)用程序特性或應(yīng)用程序功能的情況下,才能判定某種選擇是否優(yōu)于另一種。舉例來說,“高性能并行文件系統(tǒng) (Amazon FSx) 優(yōu)于 NFS 共享”這一判斷在絕大部分 HPC 工作負(fù)載中是成立的,但在另一些情形中(例如 !I/O 密集型應(yīng)用程序,或者創(chuàng)建小型 HPC 集群來運(yùn)行少量和 / 或小型作業(yè))NFS 共享已經(jīng)綽綽有余,并且此種方式更加廉價(jià),設(shè)置簡單。在此篇博文中我們將分享我們視作最佳優(yōu)良實(shí)踐的方法,以及其他一些您在實(shí)踐中可能會考慮的可用替代選擇。

我們將會使用的主要集群組件是以下的 AWS 服務(wù):

AWS ParallelCluster,這是一種 AWS 支持的開源集群管理工具,可用于在 AWS 云中部署并管理 HPC 集群。

新的 AWS C5n 實(shí)例最多可使用 100 Gbps 的網(wǎng)絡(luò)帶寬。

Amazon FSx for Lustre,這是一種高度并行文件系統(tǒng),支持對 PB 級別的文件系統(tǒng)進(jìn)行亞毫秒級別的訪問,可為每 1TiB 的預(yù)置容量以 10,000 IOPS 的速度提供 200 MB/s 的聚合吞吐量。

Nice DCV 用作遠(yuǎn)程可視化協(xié)議。

注:我們在 re:Invent 2018 上發(fā)布了 Elastic Fabric Adapter (EFA),最近又在多個(gè) AWS 區(qū)域中推出了該服務(wù)。EFA 這種網(wǎng)絡(luò)設(shè)備可掛載到您的 Amazon EC2 實(shí)例以加速 HPC 應(yīng)用程序的運(yùn)行,降低延遲并使其更均勻,帶來比基于云的 HPC 系統(tǒng)通常使用的 TCP 傳輸方式更高的吞吐量。其提升了對于擴(kuò)展 HPC 應(yīng)用程序至關(guān)重要的實(shí)例間通信的性能,并為在現(xiàn)有 AWS 網(wǎng)絡(luò)基礎(chǔ)設(shè)施上運(yùn)行做了優(yōu)化。ANSYS Fluent 尚不適合與 EFA 共用,因此本篇博文中不會全面介紹這一具體的網(wǎng)絡(luò)設(shè)備。

注意:ANSYS Fluent 是一款需要許可證的市售軟件包。本文假定您已獲得在 AWS 上使用(或通過 AWS 訪問)ANSYS Fluent 的許可證。此外,下文的安裝腳本還需要您擁有 ANSYS 安裝包。您可以在“下載 – 當(dāng)前發(fā)行版本”下方下載當(dāng)前發(fā)行版本的 ANSYS。

1. 創(chuàng)建一個(gè)自定義 AMI

為了加速集群的創(chuàng)建,更重要的是,為了縮短計(jì)算節(jié)點(diǎn)的啟動時(shí)間,良好做法是創(chuàng)建一個(gè)部分軟件包已預(yù)安裝并且設(shè)置已完成配置的自定義 AMI。

以已有 AMI 為基礎(chǔ)開始工作,記下您計(jì)劃部署集群區(qū)域的適用 AMI ID,詳情請見我們的 AMI 區(qū)域列表。例如,我們在弗吉尼亞州 (us-east-1) 使用 CentOS7 開始工作,則 AMI ID 為 ami-0a4d7e08ea5178c02。

打開 AWS 控制臺并在偏好區(qū)域(即選擇 AMI 的區(qū)域)中啟動一個(gè)實(shí)例,按前述方式使用 AMI ID。

確保您的實(shí)例可以從互聯(lián)網(wǎng)訪問,并且具有公共 IP 地址。

為實(shí)例分配一個(gè)允許其從 S3(或從特定的 S3 存儲桶)下載文件的 IAM 角色。

可選擇標(biāo)記實(shí)例(即 Name = Fluent-AMI-v1)。

配置安全組以允許端口 22 上的入站連接。

如果您需要為 AWS ParallelCluster 創(chuàng)建自定義 AMI 方法的額外細(xì)節(jié),請參閱官方文檔 Building a custom AWS ParallelCluster AMI。

實(shí)例就緒后,通過 SSH 進(jìn)行連接并以 root 身份運(yùn)行以下命令:

yum -y update

yum install -y dkms zlib-devel libXext-devel libGLU-devel libXt-devel libXrender-devel libXinerama-devel libpng-devel libXrandr-devel libXi-devel libXft-devel libjpeg-turbo-devel libXcursor-devel readline-devel ncurses-devel Python Python-devel cmake QT-devel QT-assistant mpfr-devel gmp-devel htop wget screen vim xorg-x11-drv-dummy xorg-x11-server-utils libXp.x86_64 xorg-x11-fonts-cyrillic.noarch xterm.x86_64 openmotif.x86_64 compat-libstdc++-33.x86_64 libstdc++.x86_64 libstdc++.i686 gcc-c++.x86_64 compat-libstdc++-33.i686 libstdc++-devel.x86_64 libstdc++-devel.i686 compat-gcc-34.x86_64 gtk2.i686 libXxf86vm.i686 libSM.i686 libXt.i686 xorg-x11-fonts-ISO8859-1-75dpi.no xorg-x11-fonts-iso8859-1-75dpi.no libXext gdm gnome-session gnome-classic-session gnome-session-xsession xorg-x11-server-Xorg xorg-x11-drv-dummy xorg-x11-fonts-Type1 xorg-x11-utils gnome-terminal gnu-free-fonts-common gnu-free-mono-fonts gnu-free-sans-fonts gnu-free-serif-fonts alsa-plugins-pulseaudio alsa-utils

yum -y groupinstall "GNOME Desktop"

yum -y erase initial-setup gnome-initial-setup initial-setup-gui

#a reboot here may be helpful in case the kernel has been updated

#this will disable the ssh host key checking

#usually this may not be needed, but with some specific configuration Fluent may require this setting.

cat <> /etc/ssh/ssh_config

StrictHostKeyChecking no

UserKnownHostsFile /dev/null

EOF

#set higher limits, usefull when running Fluent (and in general HPC applications) on multiple nodes via MPI

cat <> /etc/security/limits.conf

* hard memlock unlimited

* soft memlock unlimited

* hard stack 1024000

* soft stack 1024000

* hard nofile 1024000

* soft nofile 1024000

EOF

#stop and disable the firewall

systemctl disable firewalld

systemctl stop firewalld

#install the latest ENA driver, ATM 2.1.1

cd /tmp

wget https://github.com/amzn/amzn-drivers/archive/ena_Linux_2.1.1.tar.gz

tar zxvf ena_Linux_2.1.1.tar.gz

mv amzn-drivers-ena_Linux_2.1.1 /usr/src/ena-2.1.1

cat < /usr/src/ena-2.1.1/dkms.conf

PACKAGE_NAME="ena"

PACKAGE_VERSION="2.1.1"

AUTOINSTALL="yes"

REMAKE_INITRD="yes"

BUILT_MODULE_LOCATION[0]="kernel/Linux/ena"

BUILT_MODULE_NAME[0]="ena"

DEST_MODULE_LOCATION[0]="/updates"

DEST_MODULE_NAME[0]="ena"

CLEAN="cd kernel/Linux/ena; make clean"

MAKE="cd kernel/Linux/ena; make BUILD_KERNEL=\${kernelver}"

EOF

dkms add -m ena -v 2.1.1

dkms build -m ena -v 2.1.1

dkms install -m ena -v 2.1.1

dracut -f —add-drivers ena

#reboot again, and make sure that after the reboot the ena driver is up to date (run modinfo ena to check)

#install the latest version of NICE DCV (at the moment it is 2017.4)

cd /tmp

wget https://d1uj6qtbmh3dt5.cloudfront.net/server/nice-dcv-2017.4-6898-el7.tgz

tar xzvf nice-dcv-2017.4-6898-el7.tgz

cd nice-dcv-2017.4-6898-el7

yum install -y nice-dcv-server-2017.4.6898-1.el7.x86_64.rpm nice-dcv-gltest-2017.4.216-1.el7.x86_64.rpm nice-xdcv-2017.4.210-1.el7.x86_64.rpm

#install this additional package only in case you are running on an instance equipped with GPU

yum install -y nice-dcv-gl-2017.4.490-1.el7.i686.rpm nice-dcv-gl-2017.4.490-1.el7.x86_64.rpm

# Add the line "blacklist = /usr/bin/Xorg" to section [gl] of /etc/dcv/dcv-gl.conf

# to fix an incompatibility introduced with the latest versions of Xorg and Nvidia driver

sed -i 's|\[gl\]|&\nblacklist = /usr/bin/Xorg|' /etc/dcv/dcv-gl.conf

#Clean up the instance before creating the AMI.

/usr/local/sbin/ami_cleanup.sh

#shutdown the instance

shutdown -h now

現(xiàn)在您可以通過 AWS CLI(或 AWS Web 控制臺)創(chuàng)建您的 AMI 了:

AWS ec2 create-image --instance-id i-1234567890abcdef0 --name "Fluent-AMI-v1" --description "This is my first ANSYS Fluent AMI"

輸出將如下所示:

{"ImageId": "ami-1a2b3c4d5e6f7g"}

記住 AMI id。稍后 AWS ParallelCluster 配置文件中將會用到。

2. 創(chuàng)建 / 復(fù)用 VPC、子網(wǎng)以及安全組

下一步,創(chuàng)建或復(fù)用已有 VPC。注意 vpc-ID 和 subnet-ID。有關(guān)為 AWS ParallelCluster 創(chuàng)建并配置 VPC 方法的更多信息,可參閱網(wǎng)絡(luò)配置。

您可以使用單個(gè)子網(wǎng)同時(shí)用于主實(shí)例和計(jì)算實(shí)例,或者使用兩個(gè)子網(wǎng):一個(gè)公共子網(wǎng)上為主實(shí)例,一個(gè)私有子網(wǎng)上為計(jì)算實(shí)例。

下方的配置文件展示了在單個(gè)子網(wǎng)上運(yùn)行集群的方法,如此架構(gòu)圖所示:

使用 AWS ParallelCluster 運(yùn)行 ANSYS Fluent 的最佳實(shí)踐

還要創(chuàng)建一個(gè)開啟 8443 端口的臨時(shí)安全組。這將用于允許與使用 NICE DCV 作為遠(yuǎn)程桌面流協(xié)議的主節(jié)點(diǎn)建立入站連接。

3. 創(chuàng)建集群配置文件和后安裝腳本

現(xiàn)在您可以開始編寫配置文件了。在您本地 PC 上打開一個(gè)文本文件,并將下方代碼粘貼進(jìn)去。(此處為示例,您可能要依照偏好修改其中一些參數(shù)。您還要將占位符 替換為您自己的設(shè)置。)

[AWS]

AWS_region_name =

[global]

sanity_check = true

cluster_template = Fluent_cluster_test1

update_check = true

[vpc vpc-us-east-1]

vpc_id = vpc-

master_subnet_id = subnet-

additional_sg=sg-

[cluster Fluent_cluster]

key_name =

vpc_settings = vpc-us-east-1

compute_instance_type=c5n.18xlarge

master_instance_type=g3.4xlarge

initial_queue_size = 0

max_queue_size = 10

maintain_initial_size = true

scheduler=sge

cluster_type = ondemand

s3_read_write_resource=arn:AWS:s3:::*

post_install = s3:///Fluent-post-install.sh

placement_group = DYNAMIC

placement = compute

master_root_volume_size = 64

compute_root_volume_size = 20

base_os = centos7

extra_json = {"cluster" : {"cfn_scheduler_slots" : "cores"} }

tags = {"Name" : "Fluent_cluster_test1"}

fsx_settings = parallel-fs

custom_ami = ami-

[fsx parallel-fs]

shared_dir = /fsx

storage_capacity = 3600

import_path = s3://

imported_file_chunk_size = 1024

export_path = s3:///export

讓我們來詳細(xì)研究一下該配置中的某些設(shè)置:

AWS_region_name = 選擇正確的 AWS 區(qū)域?qū)τ谀h(yuǎn)程桌面會話的可用性至關(guān)重要:您與所選區(qū)域的地理距離越近,網(wǎng)絡(luò)延遲就越低,可用性和交互性也就越好。如果您不清楚距您最近的 AWS 區(qū)域,可使用簡單的 CloudPing 服務(wù)來確定哪個(gè)區(qū)域的延遲最低。

initial_queue_size=0。此設(shè)置用于定義集群的初始大小。在此示例中其值為 0(您可以根據(jù)自己的需要任意修改)。0 意味著當(dāng)您首次提交作業(yè)時(shí),您的作業(yè)在隊(duì)列中將處于待處理狀態(tài)。當(dāng)在集群中添加節(jié)點(diǎn)時(shí),作業(yè)將轉(zhuǎn)變?yōu)檫\(yùn)行狀態(tài)。AWS ParallelCluster 默認(rèn)情況下會每 5 分鐘檢視一次計(jì)劃程序隊(duì)列,并根據(jù)運(yùn)行待處理作業(yè)所需的槽數(shù)添加(或刪除)節(jié)點(diǎn)。

compute_instance_type = c5n.18xlarge。此設(shè)置用于定義集群計(jì)算節(jié)點(diǎn)的實(shí)例類型。此配置文件顯示為 c5n.18xlarge。這是(在撰文時(shí))最適合緊密耦合工作負(fù)載的實(shí)例。C5n.18xlarge 具有最佳的價(jià)格 / 性能比,及最佳的內(nèi)存 / 核心比,還有一點(diǎn)很重要的是,它可用于 EFA。其他適用的實(shí)例是(最新的)c5.24xlarge 和 c4.8xlarge,兩者價(jià)格都與 C4n.18xlarge 相近,但不支持 EFA。如果您想要構(gòu)建自己的網(wǎng)格,并且需要更高的內(nèi)存 / 核心比,m5.24xlarge 或 r5.24xlarge 是不錯(cuò)的選擇,但其價(jià)格存在差異。最后,由于使用了定制的 Intel? Xeon? 可擴(kuò)展處理器(可維持最高為 4.0 GHz 的全核頻率),z1d.12xlarge 實(shí)例可以發(fā)揮出最大的效能,是所有云實(shí)例中速度最快的。不管實(shí)例類型為何,我們的建議是始終為所有實(shí)例類型選擇最大大小。一般而言,緊密耦合工作負(fù)載的可擴(kuò)展性受限于網(wǎng)絡(luò)帶寬(及延遲),因此為您的實(shí)例選擇最大大小,可以通過每一個(gè)單獨(dú)實(shí)例使用盡可能多的核心來減少跨節(jié)點(diǎn)通信。

master_instance_type = g3.4xlarge。此設(shè)置用于定義集群主節(jié)點(diǎn)(或登錄節(jié)點(diǎn))的實(shí)例類型。在此示例中,我們選擇配有 GPU (Nvidia M60) 的實(shí)例,因?yàn)槲覀冞€想要在作業(yè)完成之后進(jìn)行數(shù)據(jù)后處理。后處理應(yīng)用通常需要一個(gè) GPU 來渲染復(fù)雜的 3D 圖像。如果您不想執(zhí)行任何后處理(或者您的后處理不需要 GPU),則可以選擇與計(jì)算節(jié)點(diǎn)相同的實(shí)例類型(可能只是大小略小),或者您可以選擇適合構(gòu)建網(wǎng)格的實(shí)例類型(m5.24xlarge 或 r5.24xlarge)。

placement_group = DYNAMIC 和 placement = compute 兩者用于告知 AWS 我們想要使用集群置放組,以及只有計(jì)算節(jié)點(diǎn)需要位于相同的置放組中,主節(jié)點(diǎn)不需要。在啟用 NFS 共享,計(jì)算節(jié)點(diǎn)與主節(jié)點(diǎn)之間的延遲需要盡可能低時(shí),將主節(jié)點(diǎn)也放置于相同的置放組中是一種良好做法。在我們示例中,我們不使用 NFS 共享,而是使用 FSx。

extra_json = {“cluster”:{“cfn_scheduler_slots”:“cores”} } 此語句連同下方后安裝腳本開頭的 for 循環(huán)一起用于禁用超線程。絕大部分的 HPC 應(yīng)用程序無法從超線程中獲益。但是,如果禁用超線程而不使用此行語句,SGE 將無法正確地將槽映射到核。

custom_ami = ami- 該設(shè)置將告知 AWS ParallelCluster 使用您先前創(chuàng)建的 AMI。

[fsx parallel-fs] 該部分包含定義您的基于 FSx 的并行高性能文件系統(tǒng)的設(shè)置。

post_install = s3:///Fluent-post-install.sh. 該設(shè)置定義在所有實(shí)例創(chuàng)建之后,在實(shí)例上運(yùn)行的腳本的位置。下方是一個(gè)針對此處案例調(diào)整過的腳本示例;您可以原樣使用,也可以根據(jù)需要進(jìn)行修改:

#!/bin/bash

#source the AWS ParallelCluster profile

. /etc/parallelcluster/cfnconfig

#disable hyper-threading

for cpunum in $(cat /sys/devices/system/cpu/cpu*/topology/thread_siblings_list | cut -s -d, -f2- | tr ',' '\n' | sort -un); do

echo 0 > /sys/devices/system/cpu/cpu$cpunum/online

done

case "${cfn_node_type}" in

MasterServer)

#save the instance type

instanceType=$(curl http://169.254.169.254/latest/meta-data/instance-type)

if [[$instanceType == *"g3"*]]; then

# configure Xorg to use the Nvidia GPU with the right driver

nvidia-xconfig -preserve-busid -enable-all-gpus

#Configure the GPU settings to be persistent

nvidia-persistenced

#Disable the autoboost feature for all GPUs on the instance

nvidia-smi -auto-boost-default=0

#Set all GPU clock speeds to their maximum frequency.

nvidia-smi -ac 2505,1177

else

cd /etc/X11/

#download a dummy xorg.conf,

#This is used by instances without GPU

wget -q https://xpra.org/xorg.conf

fi

#set the system to run the graphical mode (init 5)

systemctl set-default graphical.target

#and start GDM

systemctl enable gdm.service

systemctl start gdm.service

sleep 2

#enable and start also DCV

systemctl enable dcvserver.service

systemctl start dcvserver.service

sleep 2

#create a NICE DCV session

dcv create-session --owner centos --user centos test1

echo "centos:" | chpasswd

;;

ComputeFleet)

#nothing here, for now

;;

esac

注:將占位符 替換為您自己的密碼。該密碼將僅用于通過 NICE DCV 執(zhí)行連接。要通過 SSH 進(jìn)行連接,您仍然需要使用配置文件中定義的私有密鑰。

請您登錄后閱讀全文, 登錄?或者?注冊

總結(jié)

以上是生活随笔為你收集整理的anasys hpc集群_这可能是最简单的并行方案,如何基于 AWS ParallelCluster 运行 ANSYS Fluent...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。