Skip to content
Snippets Groups Projects
introduction.md 1.85 KiB
Newer Older
  • Learn to ignore specific revisions
  • # Complementary Systems
    
    Complementary systems offer development environment for users
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    that need to port and optimize their code and applications
    
    for various hardware architectures and software technologies
    that are not available on standard clusters.
    
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ## Complementary Systems 1
    
    
    First stage of complementary systems implementation comprises of these partitions:
    
    - compute partition 0 – based on ARM technology - legacy
    - compute partition 1 – based on ARM technology - A64FX
    - compute partition 2 – based on Intel technologies - Ice Lake, NVDIMMs + Bitware FPGAs
    - compute partition 3 – based on AMD technologies - Milan, MI100 GPUs + Xilinx FPGAs
    - compute partition 4 – reflecting Edge type of servers
    - partition 5 – FPGA synthesis server
    
    ![](../img/cs1_1.png)
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    ## Complementary Systems 2
    
    Second stage of complementary systems implementation comprises of these partitions:
    
    - compute partition 6 - based on ARM technology + CUDA programmable GPGPU accelerators on ampere architecture + DPU network processing units
    - compute partition 7 - based on IBM Power10 architecture
    - compute partition 8 - modern CPU with a very high L3 cache capacity (over 750MB)
    - compute partition 9 - virtual GPU accelerated workstations
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    - compute partition 10 - Sapphire Rapids-HBM server
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    - compute partition 11 - NVIDIA Grace CPU Superchip
    
    Jan Siwiec's avatar
    Jan Siwiec committed
    
    ![](../img/cs2_2.png)
    
    
    ## Modules and Architecture Availability
    
    Complementary systems list available modules automatically based on the detected architecture.
    
    However, you can load one of the three modules -- `aarch64`, `avx2`, and `avx512` --
    to reload the list of modules available for the respective architecture:
    
    ```console
    [user@login.cs ~]$ ml architecture/aarch64
    
      aarch64 modules + all modules
    
    [user@login.cs ~]$ ml architecture/avx2
    
      avx2 modules + all modules
    
    [user@login.cs ~]$ ml architecture/avx512
    
      avx512 modules + all modules
    ```