Skip to content

Spatter on ARM

Jeffrey Young edited this page Sep 23, 2024 · 2 revisions

Spatter 1.0 on ARM

This is the benchmarks for runs on Octavius Rogues Gallery machine at Georgia Tech. All runs are single node.

Clang with Ofast, loop vectorization and OpenMP

./spatter -pUNIFORM:8:1 -l$((2**24))

Running Spatter version 0.4
Compiler: Clang ver. 11.0.0
Compiler Location: /usr/bin/clang
Backend: OPENMP
Aggregate Results? YES

Run Configurations
[ {'name':'UNIFORM', 'kernel':'Gather', 'pattern':[0,1,2,3,4,5,6,7], 'delta':8, 'length':16777216, 'agg':10, 'wrap':1, 'threads':48} ]

config  time(s)      bw(MB/s)    
0       0.006244     171957      

Min         25%          Med          75%          Max         
171957       171957       171957       171957       171957      
H.Mean       H.StdErr    
171957       0
./spatter -pUNIFORM:8:1:8 -l$((2**24))

Running Spatter version 0.4
Compiler: Clang ver. 11.0.0
Compiler Location: /usr/bin/clang
Backend: OPENMP
Aggregate Results? YES

Run Configurations
[ {'name':'UNIFORM', 'kernel':'Gather', 'pattern':[0,1,2,3,4,5,6,7], 'delta':8, 'length':16777216, 'agg':10, 'wrap':1, 'threads':48} ]

config  time(s)      bw(MB/s)    
0       0.006102     175972      

Min         25%          Med          75%          Max         
175972       175972       175972       175972       175972      
H.Mean       H.StdErr    
175972       0
Configuration Flags
FLAGS="-Ofast -Rpass=loop-vectorize -march=armv8.2-a+sve -mcpu=a64fx"

Clang with Ofast and OpenMP

./spatter -pUNIFORM:8:1 -l$((2**24))

Running Spatter version 0.4
Compiler: Clang ver. 11.0.0
Compiler Location: /usr/bin/clang
Backend: OPENMP
Aggregate Results? YES

Run Configurations
[ {'name':'UNIFORM', 'kernel':'Gather', 'pattern':[0,1,2,3,4,5,6,7], 'delta':8, 'length':16777216, 'agg':10, 'wrap':1, 'threads':48} ]

config  time(s)      bw(MB/s)    
0       0.00629      170694      

Min         25%          Med          75%          Max         
170694       170694       170694       170694       170694      
H.Mean       H.StdErr    
170694       0
./spatter -pUNIFORM:8:1:8 -l$((2**24))

Running Spatter version 0.4
Compiler: Clang ver. 11.0.0
Compiler Location: /usr/bin/clang
Backend: OPENMP
Aggregate Results? YES

Run Configurations
[ {'name':'UNIFORM', 'kernel':'Gather', 'pattern':[0,1,2,3,4,5,6,7], 'delta':8, 'length':16777216, 'agg':10, 'wrap':1, 'threads':48} ]

config  time(s)      bw(MB/s)    
0       0.01203      89228.1     

Min         25%          Med          75%          Max         
89228.1      89228.1      89228.1      89228.1      89228.1     
H.Mean       H.StdErr    
89228.1      0
Configuration File
CC=clang
CXX=clang++

FLAGS="-Ofast -march=armv8.2-a+sve -mcpu=a64fx -armpl"

cmake -D CMAKE_BUILD_TYPE=Release
-D CMAKE_C_FLAGS_RELEASE="${CMAKE_C_FLAGS} ${FLAGS}"
-D CMAKE_C_COMPILER=${CC}
-D CMAKE_CXX_COMPILER=${CXX}
-D USE_OPENCL=0
-D USE_OPENMP=1
-D USE_CUDA=0 \ -D USE_SERIAL=0
-D USE_PAPI=0
-D PAPI_PREFIX=${PAPI_DIR}
..

Clang with OpenMP

./spatter -pUNIFORM:8:1 -l$((2**24))

Running Spatter version 0.4
Compiler: Clang ver. 11.0.0
Compiler Location: /usr/bin/clang
Backend: OPENMP
Aggregate Results? YES

Run Configurations
[ {'name':'UNIFORM', 'kernel':'Gather', 'pattern':[0,1,2,3,4,5,6,7], 'delta':8, 'length':16777216, 'agg':10, 'wrap':1, 'threads':48} ]

config  time(s)      bw(MB/s)    
0       0.03669      29265.7     

Min         25%          Med          75%          Max         
29265.7      29265.7      29265.7      29265.7      29265.7     
H.Mean       H.StdErr    
29265.7      0
./spatter -pUNIFORM:8:1:8 -l$((2**24))

Running Spatter version 0.4
Compiler: Clang ver. 11.0.0
Compiler Location: /usr/bin/clang
Backend: OPENMP
Aggregate Results? YES

Run Configurations
[ {'name':'UNIFORM', 'kernel':'Gather', 'pattern':[0,1,2,3,4,5,6,7], 'delta':8, 'length':16777216, 'agg':10, 'wrap':1, 'threads':48} ]

config  time(s)      bw(MB/s)    
0       0.03719      28874.1     

Min         25%          Med          75%          Max         
28874.1      28874.1      28874.1      28874.1      28874.1     
H.Mean       H.StdErr    
28874.1      0
Configuration File
    BACKEND=arm
    COMPILER=clang
CC=clang
CXX=clang++

cmake -D CMAKE_BUILD_TYPE=Release \
        -D CMAKE_C_FLAGS_RELEASE="${CMAKE_C_FLAGS} ${FLAGS}" \
        -D CMAKE_C_COMPILER=${CC} \
        -D CMAKE_CXX_COMPILER=${CXX} \
        -D USE_OPENCL=0 \
        -D USE_OPENMP=1 \
        -D USE_CUDA=0 \
        -D USE_SERIAL=1 \
        -D USE_PAPI=0 \
        -D PAPI_PREFIX=${PAPI_DIR} \
        ..

Clang

./spatter -pUNIFORM:8:1 -l$((2**24))

Running Spatter version 0.4
Compiler: Clang ver. 11.0.0
Compiler Location: /usr/bin/clang
Backend: Aggregate Results? YES

Run Configurations
[ {'name':'UNIFORM', 'kernel':'Gather', 'pattern':[0,1,2,3,4,5,6,7], 'delta':8, 'length':16777216, 'agg':10, 'wrap':1, } ]

config  time(s)      bw(MB/s)    
0       0.2627       4087.85     

Min         25%          Med          75%          Max         
4087.85      4087.85      4087.85      4087.85      4087.85     
H.Mean       H.StdErr    
4087.85      0
./spatter -pUNIFORM:8:1:8 -l$((2**24))

Running Spatter version 0.4
Compiler: Clang ver. 11.0.0
Compiler Location: /usr/bin/clang
Backend: Aggregate Results? YES

Run Configurations
[ {'name':'UNIFORM', 'kernel':'Gather', 'pattern':[0,1,2,3,4,5,6,7], 'delta':8, 'length':16777216, 'agg':10, 'wrap':1, } ]

config  time(s)      bw(MB/s)    
0       0.2627       4087.37     

Min         25%          Med          75%          Max         
4087.37      4087.37      4087.37      4087.37      4087.37     
H.Mean       H.StdErr    
4087.37      0

GCC with OpenMP

./spatter -pUNIFORM:8:1 -l$((2**24))

Running Spatter version 0.4
Compiler: GNU ver. 8.3.1
Compiler Location: /usr/bin/gcc
Backend: OPENMP
Aggregate Results? YES

Run Configurations
[ {'name':'UNIFORM', 'kernel':'Gather', 'pattern':[0,1,2,3,4,5,6,7], 'delta':8, 'length':16777216, 'agg':10, 'wrap':1, 'threads':48} ]

config  time(s)      bw(MB/s)    
0       0.01405      76443.2     

Min         25%          Med          75%          Max         
76443.2      76443.2      76443.2      76443.2      76443.2     
H.Mean       H.StdErr    
76443.2      0
./spatter -pUNIFORM:8:1:8 -l$((2**24))

Running Spatter version 0.4
Compiler: GNU ver. 8.3.1
Compiler Location: /usr/bin/gcc
Backend: OPENMP
Aggregate Results? YES

Run Configurations
[ {'name':'UNIFORM', 'kernel':'Gather', 'pattern':[0,1,2,3,4,5,6,7], 'delta':8, 'length':16777216, 'agg':10, 'wrap':1, 'threads':48} ]

config  time(s)      bw(MB/s)    
0       0.006733     159480      

Min         25%          Med          75%          Max         
159480       159480       159480       159480       159480      
H.Mean       H.StdErr    
159480       0

GCC

./spatter -pUNIFORM:8:1 -d8 -l$((2**24))
Running Spatter version 0.4                      
Compiler: GNU ver. 8.3.1                      
Compiler Location: /usr/bin/gcc                                          
Backend: Aggregate Results? YES                                                                           Run Configurations                                                                                                                                            
[ {'name':'UNIFORM', 'kernel':'Gather', 'pattern':[0,1,2,3,4,5,6,7], 'delta':8, 'length':16777216, 'agg':10, 'wrap':1, } ]                                 
config  time(s)      bw(MB/s)                      
0       0.313        3430.7                                                                                                                                                              
Min         25%          Med          75%          Max                               
3430.7       3430.7       3430.7       3430.7       3430.7
H.Mean       H.StdErr
3430.7       0
./spatter -pUNIFORM:8:1:8 -l$((2**24))
Running Spatter version 0.4                                                                               Compiler: GNU ver. 8.3.1    
Compiler Location: /usr/bin/gcc                                        
Backend: Aggregate Results? YES                                                          
Run Configurations                       
[ {'name':'UNIFORM', 'kernel':'Gather', 'pattern':[0,1,2,3,4,5,6,7], 'delta':8, 'length':16777216, 'agg':10, 'wrap':1, } ]                                
config  time(s)      bw(MB/s)                           
0       0.313        3430.7                                                                                                                     
Min         25%          Med          75%          Max                      
3430.7       3430.7       3430.7       3430.7       3430.7
H.Mean       H.StdErr
3430.7       0