English version of this page

High Performance Computing

IMV eier flere GPU-utstyrte maskiner for beregningsintensive oppgaver, spesielt de som kan dra nytte av GPU-parallell databehandling, for eksempel frameworks for deep-learning og videobehandling.

HPC, maskiner, bord

HPC maskiner

Teknisk spesifikasjon av maskiner 

Machine Name CPU Memory GPU Disk Max Power OS
ML1

Intel Core i9-14900KF - 24 Cores

192GB DDR5 5200MHz GeForce RTX 4090 - 24GB M.2 NVMe SSD 2TB 1000W Ubuntu 22.04.4 LTS
ML2 Intel Core i9-14900KF - 24 Cores 192GB DDR5 5200MHz GeForce RTX 4090 - 24GB M.2 NVMe SSD 2TB 1000W Ubuntu 22.04.4 LTS
ML3 Intel Core i9-14900KF - 24 Cores 192GB DDR5 5200MHz GeForce RTX 4090 - 24GB M.2 NVMe SSD 2TB 1000W Ubuntu 22.04.4 LTS
ML4 AMD Ryzen 9 5900X - 12 Cores 94GB DDR4 3200MHz GeForce RTX 3090  - 24GB  M.2 NVMe SSD 2TB & 7200 RPM HDD 2TB 850W Ubuntu 22.04.4 LTS
ML5 Intel Core i7-11700KF - 8 Cores 64GB DDR4 3200MHz GeForce RTX 3070 Ti - 8GB  M.2 NVMe SSD 1TB 850W

Ubuntu 22.04.4 LTS

 

 

Adgang

For å få tilgang til maskinene, send en forespørsel via e-post til romansvarlig. Tilgang gis for en begrenset tidsperiode (fornybar).

Maskiner kan nås og brukes eksternt via SSH (terminal kommandolinje), og filer kan overføres ved hjelp av SFTP.

Brukere kan lage dedikerte Python-miljøer ved å bruke venv, og pakker kan installeres ved hjelp av pip. Pakker kan kun installeres når du arbeider på maskinen lokalt.

GPU-ytelse kan overvåkes ved hjelp av nvtop.

Kun grønne data kan brukes på disse arbeidsstasjonene.

 

GPU-minneadministrasjon

Når flere brukere kjører Tensorflow 2 Python-skript på samme maskin, eller når en enkelt bruker kjører flere skript, må GPU-minne administreres eksplisitt. Som standard forhåndsallokerer Tensorflow-skript og opptar hele GPU-minnet, selv om bare en liten brøkdel er nødvendig. Minne frigjøres når skriptet avsluttes, og hindrer andre skript fra å kjøre (de vil mislykkes på grunn av mangel på ressurser). I slike tilfeller er det to alternativer:

  • Deaktiver forhåndstildeling av GPU-minne ved å bruke følgende kode i begynnelsen av skriptet. Et skript kan fortsatt mislykkes hvis det kumulative minnekravet overstiger de totale tilgjengelige ressursene.
gpu = tf.config.experimental.list_physical_devices('GPU')[0]

tf.config.experimental.set_memory_growth(gpu, True)
  • Angi en grense for forhåndstildeling av GPU-minne ved å bruke følgende kode i begynnelsen av skriptet. Grensen er uttrykt i MB. Med denne tilnærmingen må du kjenne GPU-minnekravene til skriptet, som kan profileres ved å bruke det forrige alternativet og overvåke ytelsen med nvtop. Også i dette tilfellet kan et skript fortsatt mislykkes hvis den kumulative minneallokeringen overstiger de totale tilgjengelige ressursene, noe som neppe vil skje hvis brukere koordinerer og blir enige om hvor mye minne de vil bruke.
gpu = tf.config.experimental.list_physical_devices('GPU')[0]

tf.config.experimental.set_virtual_device_configuration(gpu, [tf.config.experimental.VirtualDeviceConfiguration(memory_limit=5000)])

 

Publisert 24. apr. 2024 10:23 - Sist endret 14. juni 2024 16:49