visit-dav / visit

VisIt - Visualization and Data Analysis for Mesh-based Scientific Data
https://visit.llnl.gov
BSD 3-Clause "New" or "Revised" License
444 stars 117 forks source link

Add support for gpu architectures to CMake and the internallauncher. #19901

Closed brugger1 closed 1 month ago

brugger1 commented 1 month ago

Description

Resolves #19538

I added support for GPU architectures to CMake and the internallauncher.

Both were modified to add a GPU identifier to the operating system and CPU identifier in the distribution tar file names as well as the operating system and CPU identifier in a VisIt installation. They both match.

This has only been implemented for AMD GPUs with the GPU identifier being the LLVM target name. The GPU identifiers for an MI250X and MI300X are gfx90a and gfx942 respectively giving complete names of linux-x86_64-gfx90a and linux-x86_64-gfx942.

I also cleaned up the current naming and removed obsolete architectures. Currently, in the case of a 64 bit, little endian, PowerPC CPU, the CPU identifier is intel. Now it is ppc64le. In the case of an unknown CPU, the default was intel, now it is x86_64.

In order to test my changes I updated the config site files for rzvernal and rzwhippet and created one for rzansel.

Type of change

How Has This Been Tested?

I built VisIt on rzvernal, rzwhippet and rzansel. These created the following distributions:

visit3_4_1.linux-ppc64le.tar.gz
visit3_4_1.linux-x86_64-gfx90a.tar.gz
visit3_4_1.linux-x86_64.tar.gz

I then installed them in a single directory giving the following contents under visit/3.4.1:

bin
linux-ppc64le
linux-x86_64
linux-x86_64-gfx90a

I then modified the host profiles for those 3 systems to point to my private install and then ran VisIt on all those systems to test that it started up properly and could run in parallel.

Reminders:

Checklist: