Skip to content

Commit

Permalink
Upgrade Intel MPI Library to 2021.12.1.8
Browse files Browse the repository at this point in the history
Signed-off-by: Hanwen <[email protected]>
  • Loading branch information
hanwen-cluster committed Jun 18, 2024
1 parent a3cc026 commit 9d260c2
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 18 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ This file is used to list changes made in each version of the AWS ParallelCluste
- Open MPI: `openmpi40-aws-4.1.6-3` and `openmpi50-aws-5.0.2-12`
- Upgrade NVIDIA driver to version 535.183.01 (from 535.154.05).
- Upgrade Python to 3.9.19 (from 3.9.17).
- Upgrade Intel MPI Library to 2021.12.1.8 (from 2021.9.0.43482).

**BUG FIXES**
- Fixed an issue that prevented cluster updates from including EFS filesystems with encryption in transit.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# limitations under the License.

intelmpi_supported = !arm_instance?
intelmpi_version = '2021.9.0'
intelmpi_version = '2021.12'

node.default['conditions']['intel_mpi_supported'] = intelmpi_supported
node.default['cluster']['intelmpi']['version'] = intelmpi_version
Expand All @@ -25,12 +25,12 @@

return unless intelmpi_supported

intelmpi_full_version = "#{intelmpi_version}.43482"
intelmpi_full_version = "#{intelmpi_version}.1.8"
intelmpi_installation_path = "/opt/intel/mpi/#{intelmpi_version}"
intelmpi_installer = "l_mpi_oneapi_p_#{intelmpi_full_version}_offline.sh"
intelmpi_installer_path = "#{node['cluster']['sources_dir']}/#{intelmpi_installer}"
intelmpi_installer_url = "#{node['cluster']['artifacts_s3_url']}/impi/#{intelmpi_installer}"
intelmpi_qt_version = '6.4.2'
intelmpi_qt_version = '6.5.3'

# Prerequisite for module install
modules 'Prerequisite: Environment modules'
Expand Down Expand Up @@ -59,12 +59,12 @@
end

modules 'append intel modules file dir to modules conf' do
line "#{intelmpi_installation_path}/modulefiles/"
line "#{intelmpi_installation_path}/etc/modulefiles/"
action :append_to_config
end

intelmpi_modulefile_from = "#{intelmpi_installation_path}/modulefiles/mpi"
intelmpi_modulefile_to = "#{intelmpi_installation_path}/modulefiles/intelmpi"
intelmpi_modulefile_from = "#{intelmpi_installation_path}/etc/modulefiles/mpi"
intelmpi_modulefile_to = "#{intelmpi_installation_path}/etc/modulefiles/intelmpi"

execute "rename intel mpi modules file name" do
command "mv #{intelmpi_modulefile_from} #{intelmpi_modulefile_to}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
end

it 'fetches intel mpi installer script' do
is_expected.to create_remote_file("#{source_dir}/l_mpi_oneapi_p_2021.9.0.43482_offline.sh").with(
source: "https://#{aws_region}-aws-parallelcluster.s3.#{aws_region}.test_aws_domain/archives/impi/l_mpi_oneapi_p_2021.9.0.43482_offline.sh",
is_expected.to create_remote_file("#{source_dir}/l_mpi_oneapi_p_2021.12.1.8_offline.sh").with(
source: "https://#{aws_region}-aws-parallelcluster.s3.#{aws_region}.test_aws_domain/archives/impi/l_mpi_oneapi_p_2021.12.1.8_offline.sh",
mode: '0744',
retries: 3,
retry_delay: 5
Expand All @@ -31,33 +31,33 @@
it 'installs intel mpi' do
is_expected.to run_bash('install intel mpi').with(
cwd: source_dir,
creates: '/opt/intel/mpi/2021.9.0'
).with_code(%r{chmod +x l_mpi_oneapi_p_2021.9.0.43482_offline.sh --remove-extracted-files yes -a --silent --eula accept --install-dir /opt/intel})
.with_code(/rm -f l_mpi_oneapi_p_2021.9.0.43482_offline.sh/)
creates: '/opt/intel/mpi/2021.12'
).with_code(%r{chmod +x l_mpi_oneapi_p_2021.12.1.8_offline.sh --remove-extracted-files yes -a --silent --eula accept --install-dir /opt/intel})
.with_code(/rm -f l_mpi_oneapi_p_2021.12.1.8_offline.sh/)
end

it 'appends intel module file dir to modules config' do
is_expected.to append_to_config_modules('append intel modules file dir to modules conf')
.with_line('/opt/intel/mpi/2021.9.0/modulefiles/')
.with_line('/opt/intel/mpi/2021.12/etc/modulefiles/')
end

it 'renames intel mpi module' do
is_expected.to run_execute('rename intel mpi modules file name').with(
command: "mv /opt/intel/mpi/2021.9.0/modulefiles/mpi /opt/intel/mpi/2021.9.0/modulefiles/intelmpi",
creates: '/opt/intel/mpi/2021.9.0/modulefiles/intelmpi'
command: "mv /opt/intel/mpi/2021.12/etc/modulefiles/mpi /opt/intel/mpi/2021.12/etc/modulefiles/intelmpi",
creates: '/opt/intel/mpi/2021.12/etc/modulefiles/intelmpi'
)
end

it 'adds Qt source file' do
is_expected.to create_template("/opt/intel/mpi/2021.9.0/qt_source_code.txt").with(
is_expected.to create_template("/opt/intel/mpi/2021.12/qt_source_code.txt").with(
source: 'intel_mpi/qt_source_code.erb',
owner: 'root',
group: 'root',
mode: '0644',
variables: {
aws_region: aws_region,
aws_domain: 'test_aws_domain',
intelmpi_qt_version: '6.4.2',
intelmpi_qt_version: '6.5.3',
}
)
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

describe file(modulepath_config_file) do
it { should exist }
its('content') { should match %r{/opt/intel/mpi/#{node['cluster']['intelmpi']['version']}/modulefiles/} }
its('content') { should match %r{/opt/intel/oneapi/mpi/#{node['cluster']['intelmpi']['version']}/etc/modulefiles/} }
end
end

Expand All @@ -34,6 +34,6 @@

describe bash("unset MODULEPATH && source /etc/profile.d/modules.sh && module load intelmpi && mpirun --help") do
its('exit_status') { should eq(0) }
its('stdout') { should match(/Version #{node['cluster']['intelmpi']['version'].split('.')[0..1].join(".")}/) }
its('stdout') { should match(/Version #{node['cluster']['intelmpi']['version']}/) }
end
end

0 comments on commit 9d260c2

Please sign in to comment.