Transfer files from RAD repository
This commit is contained in:
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=ON \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=ON \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
-DDEBUG=ON \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=ON \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=ON \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=ON \
|
||||
-DUSE_IPC=ON \
|
||||
-DUSE_THREADS=ON \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=ON \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=ON \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=ON \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=ON \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=OFF \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=OFF \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=ON \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=OFF \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=ON \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=OFF \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=ON \
|
||||
-DUSE_WF_COAL=ON \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=OFF \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_COHERENT_HEAP=OFF \
|
||||
-DUSE_CACHED_HEAP=OFF \
|
||||
-DUSE_THREADS=OFF \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
-DDEBUG=ON \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=OFF \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=OFF \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=OFF \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=OFF \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
-DUSE_MANAGED_HEAP=ON \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
-DDEBUG=ON \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=OFF \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=OFF \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
-DUSE_MANAGED_HEAP=ON \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=ON \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=OFF \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=OFF \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+31
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=OFF \
|
||||
-DUSE_IPC=ON \
|
||||
-DUSE_COHERENT_HEAP=OFF \
|
||||
-DUSE_CACHED_HEAP=OFF \
|
||||
-DUSE_THREADS=OFF \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
-DUSE_SINGLE_NODE=ON \
|
||||
-DUSE_HOST_SIDE_HDP_FLUSH=ON\
|
||||
-DROCM_PATH="/opt/rocm-5.4.2/"\
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=ON \
|
||||
-DUSE_DC=OFF \
|
||||
-DUSE_IPC=ON \
|
||||
-DUSE_COHERENT_HEAP=OFF \
|
||||
-DUSE_CACHED_HEAP=OFF \
|
||||
-DUSE_THREADS=OFF \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
-DUSE_SINGLE_NODE=ON \
|
||||
-DUSE_HOST_SIDE_HDP_FLUSH=ON\
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=OFF \
|
||||
-DUSE_DC=OFF \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=ON \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
-DUSE_COHERENT_HEAP=ON \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
cmake --install .
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
if [ -z $1 ]
|
||||
then
|
||||
install_path=~/rocshmem
|
||||
else
|
||||
install_path=$1
|
||||
fi
|
||||
|
||||
src_path=$(dirname "$(realpath $0)")/../../
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_INSTALL_PREFIX=$install_path \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DDEBUG=OFF \
|
||||
-DPROFILE=OFF \
|
||||
-DUSE_GPU_IB=OFF \
|
||||
-DUSE_DC=OFF \
|
||||
-DUSE_IPC=OFF \
|
||||
-DUSE_THREADS=ON \
|
||||
-DUSE_WF_COAL=OFF \
|
||||
-DUSE_COHERENT_HEAP=OFF \
|
||||
$src_path
|
||||
cmake --build . --parallel 8
|
||||
# cmake --install .
|
||||
@@ -0,0 +1,5 @@
|
||||
gdb scripts allow launching rocshmem tests repeatedly with gdb
|
||||
and dump backtrace on error
|
||||
- gdbscript - consists of commands which are executed on gdb launch
|
||||
- gdbrun - run script, launches test in loop with gdb enabled
|
||||
e.g ./gdbrun 14 10 launches pingPong 10 times
|
||||
Executable
+342
@@ -0,0 +1,342 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
import argparse
|
||||
import itertools
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
###############################################################################
|
||||
############################ TEST SUITE VARIABLES #############################
|
||||
###############################################################################
|
||||
algorithms = {
|
||||
0: 'get',
|
||||
1: 'get_nbi',
|
||||
2: 'put',
|
||||
3: 'put_nbi',
|
||||
4: 'get_swarm',
|
||||
5: 'reduction',
|
||||
6: 'amo_fadd',
|
||||
7: 'amo_finc',
|
||||
8: 'amo_fetch',
|
||||
9: 'amo_fcswap',
|
||||
10: 'amo_add',
|
||||
11: 'amo_inc',
|
||||
12: 'amo_cswap',
|
||||
13: 'init',
|
||||
14: 'ping_pong',
|
||||
15: 'barrier',
|
||||
16: 'random',
|
||||
17: 'barrier_all',
|
||||
18: 'sync_all',
|
||||
19: 'sync_test',
|
||||
20: 'broadcast',
|
||||
21: 'collect',
|
||||
22: 'fcollect',
|
||||
23: 'all_to_all',
|
||||
24: 'all_to_alls'
|
||||
}
|
||||
|
||||
primitives = [0, 1, 2, 3]
|
||||
threaded = [4]
|
||||
atomics = [6, 7, 8, 9, 10, 11, 12]
|
||||
inits = [13]
|
||||
point_to_points = [14]
|
||||
collectives = [5, 15, 17, 18, 19, 20, 21, 22, 23, 24]
|
||||
|
||||
single_thread_algorithms = primitives + \
|
||||
atomics + \
|
||||
inits + \
|
||||
point_to_points + \
|
||||
[5] # reduction
|
||||
|
||||
multi_thread_algorithms = primitives + \
|
||||
threaded + \
|
||||
atomics + \
|
||||
inits + \
|
||||
point_to_points + \
|
||||
[5] # reduction
|
||||
|
||||
reverse_offload_algorithms = primitives + \
|
||||
threaded + \
|
||||
inits + \
|
||||
point_to_points + \
|
||||
[5]
|
||||
|
||||
###############################################################################
|
||||
############################## PARSER FUNCTIONS ###############################
|
||||
###############################################################################
|
||||
def parse_command_line():
|
||||
parser = argparse.ArgumentParser(
|
||||
description='Execute rocshmem integration tests.')
|
||||
|
||||
parser.add_argument('--mpirun_procs',
|
||||
dest='mpirun_procs',
|
||||
type=int,
|
||||
nargs='+',
|
||||
default=[2, 4, 8])
|
||||
|
||||
parser.add_argument('--mpirun_machines',
|
||||
dest='mpirun_machines',
|
||||
type=str,
|
||||
nargs='+',
|
||||
default=['ast-rocm1',
|
||||
'ast-rocm2',
|
||||
'ast-rocm3',
|
||||
'ast-rocm4'])
|
||||
|
||||
parser.add_argument('--library_build_config_type',
|
||||
dest='library_build_config_type',
|
||||
type=str,
|
||||
default='rc_single')
|
||||
|
||||
parser.add_argument('--client_binary_path',
|
||||
dest='client_binary_path',
|
||||
type=str,
|
||||
default=os.getcwd()+'/build/rocshmem_example_driver')
|
||||
|
||||
parser.add_argument('--output_directory_path',
|
||||
dest='output_directory_path',
|
||||
type=str,
|
||||
default=os.getcwd()+'/build')
|
||||
|
||||
parser.add_argument('--number_threads',
|
||||
dest='number_threads',
|
||||
type=int,
|
||||
nargs='+',
|
||||
default=1)
|
||||
|
||||
parser.add_argument('--number_workgroups',
|
||||
dest='number_workgroups',
|
||||
type=int,
|
||||
nargs='+',
|
||||
default=1)
|
||||
|
||||
parser.add_argument('--workgroup_size',
|
||||
dest='workgroup_size',
|
||||
type=int,
|
||||
nargs='+',
|
||||
default=[64, 1024])
|
||||
|
||||
parser.add_argument('--workgroup_context_type',
|
||||
dest='workgroup_context_type',
|
||||
type=int,
|
||||
nargs='+',
|
||||
default=[0, 8])
|
||||
|
||||
parser.add_argument('--max_message_size',
|
||||
dest='max_message_size',
|
||||
type=int,
|
||||
default=1048576)
|
||||
|
||||
parser.add_argument('--algorithms',
|
||||
dest='algorithms',
|
||||
type=int,
|
||||
nargs='*',
|
||||
default=None)
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
def convert_arguments_to_dictionary(args):
|
||||
return vars(args)
|
||||
|
||||
def determine_algos_from_library_config_type(config):
|
||||
if config['algorithms']:
|
||||
return config
|
||||
|
||||
gpu_ib = re.match('^[rd]c_', config['library_build_config_type'])
|
||||
thread_single = re.match('.*single.*', config['library_build_config_type'])
|
||||
|
||||
if not gpu_ib:
|
||||
config['algorithms'] = reverse_offload_algorithms
|
||||
elif thread_single:
|
||||
config['algorithms'] = single_thread_algorithms
|
||||
else:
|
||||
config['algorithms'] = multi_thread_algorithms
|
||||
|
||||
return config
|
||||
|
||||
def process_arguments(args):
|
||||
config = convert_arguments_to_dictionary(args)
|
||||
config = determine_algos_from_library_config_type(config)
|
||||
return config
|
||||
|
||||
###############################################################################
|
||||
######################## OPTION CONVERSION DICTIONARY #########################
|
||||
###############################################################################
|
||||
option_keyword_dictionary = {
|
||||
'mpirun_procs' : '-np',
|
||||
'mpirun_machines' : '--host',
|
||||
'number_threads' : '-t',
|
||||
'number_workgroups' : '-w',
|
||||
'max_message_size' : '-s',
|
||||
'algorithms' : '-a',
|
||||
'workgroup_size' : '-z',
|
||||
'workgroup_context_type' : '-x',
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
########################## TEST GENERATION FUNCTIONS ##########################
|
||||
###############################################################################
|
||||
def separate_dictionaries(dictionary):
|
||||
library_build_config = {}
|
||||
mpirun = {}
|
||||
path = {}
|
||||
driver = {}
|
||||
|
||||
library_build_config_keys = [
|
||||
'library_build_config_type'
|
||||
]
|
||||
mpirun_keys = [
|
||||
'mpirun_machines',
|
||||
'mpirun_procs'
|
||||
]
|
||||
path_keys = [
|
||||
'output_directory_path',
|
||||
'client_binary_path'
|
||||
]
|
||||
|
||||
for key, value in dictionary.items():
|
||||
if key in library_build_config_keys:
|
||||
library_build_config[key] = value
|
||||
elif key in mpirun_keys:
|
||||
mpirun[key] = value
|
||||
elif key in path_keys:
|
||||
path[key] = value
|
||||
else:
|
||||
driver[key] = value
|
||||
|
||||
return library_build_config, mpirun, path, driver
|
||||
|
||||
def convert_dict_values_to_list_of_lists(dictionary):
|
||||
values = dictionary.values()
|
||||
list_of_lists = []
|
||||
for element in values:
|
||||
if isinstance(element, list):
|
||||
list_of_lists.append(element)
|
||||
else:
|
||||
single_element_list = [element]
|
||||
list_of_lists.append(single_element_list)
|
||||
return list_of_lists
|
||||
|
||||
def cartesian_product(list_of_lists):
|
||||
return list(itertools.product(*list_of_lists))
|
||||
|
||||
def create_config_combinations(dictionary):
|
||||
keys = []
|
||||
for k,v in dictionary.items():
|
||||
keys.append(k)
|
||||
|
||||
values_list_of_lists = convert_dict_values_to_list_of_lists(dictionary)
|
||||
combinations = cartesian_product(values_list_of_lists)
|
||||
return keys, combinations
|
||||
|
||||
def create_all_mpirun_machine_combinations(mpirun_dict):
|
||||
mpirun_machine_combinations = []
|
||||
number_of_machines = len(mpirun_dict['mpirun_machines'])
|
||||
|
||||
for i in range(1, number_of_machines + 1):
|
||||
combinations_object = \
|
||||
itertools.combinations(mpirun_dict['mpirun_machines'], i)
|
||||
combinations_list = list(combinations_object)
|
||||
mpirun_machine_combinations += combinations_list
|
||||
|
||||
machine_combo_strings = stringify_machines(mpirun_machine_combinations)
|
||||
mpirun_dict['mpirun_machines'] = machine_combo_strings
|
||||
|
||||
return mpirun_dict
|
||||
|
||||
def stringify_machines(machine_list_of_tuples):
|
||||
list_of_strings = []
|
||||
for tup in machine_list_of_tuples:
|
||||
list_of_strings.append(','.join(map(str, tup)))
|
||||
return list_of_strings
|
||||
|
||||
def stringify_config(keys, combo_list):
|
||||
string_list = []
|
||||
for combo_tuple in combo_list:
|
||||
one_string = ''
|
||||
for position in range(len(keys)):
|
||||
substr = '{key} {combo}'.format(key=keys[position],
|
||||
combo=combo_tuple[position])
|
||||
one_string += substr + ' '
|
||||
string_list.append(one_string)
|
||||
return string_list
|
||||
|
||||
def generate_test_commands(config_templates):
|
||||
(build_config, mpirun, path, driver) = \
|
||||
separate_dictionaries(config_templates)
|
||||
|
||||
driver_keys, driver_combos = create_config_combinations(driver)
|
||||
driver_commands = stringify_config(driver_keys, driver_combos)
|
||||
|
||||
mpirun = create_all_mpirun_machine_combinations(mpirun)
|
||||
mpirun_keys, mpirun_combos = create_config_combinations(mpirun)
|
||||
mpirun_commands = stringify_config(mpirun_keys, mpirun_combos)
|
||||
|
||||
commands = []
|
||||
for mpirun_command in mpirun_commands:
|
||||
for driver_command in driver_commands:
|
||||
mpirun_bin = 'mpirun '
|
||||
driver_bin = path['client_binary_path'] + ' '
|
||||
command = mpirun_bin + \
|
||||
mpirun_command + \
|
||||
driver_bin + \
|
||||
driver_command
|
||||
|
||||
commands.append(command)
|
||||
|
||||
return commands
|
||||
|
||||
def replace_option_keywords(commands):
|
||||
altered_commands = []
|
||||
for command in commands:
|
||||
for k,v in option_keyword_dictionary.items():
|
||||
command = command.replace(k, v)
|
||||
altered_commands.append(command)
|
||||
return altered_commands
|
||||
|
||||
def generate_tests():
|
||||
command_line_arguments = parse_command_line()
|
||||
config_template = process_arguments(command_line_arguments)
|
||||
commands = generate_test_commands(config_template)
|
||||
commands = replace_option_keywords(commands)
|
||||
return commands
|
||||
|
||||
###############################################################################
|
||||
############################ FILE HELPER FUNCTIONS ############################
|
||||
###############################################################################
|
||||
def open_output_file(filepath):
|
||||
try:
|
||||
f = open(filepath, 'r')
|
||||
except IOError:
|
||||
sys.exit('failed to open: ' + filepath)
|
||||
return f
|
||||
|
||||
def create_file_name():
|
||||
return
|
||||
|
||||
def write_output():
|
||||
return
|
||||
|
||||
###############################################################################
|
||||
########################## TEST EXECUTION FUNCTIONS ###########################
|
||||
###############################################################################
|
||||
def single_test(test):
|
||||
try:
|
||||
subprocess.run(test, shell=True, check=True)
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(e)
|
||||
return
|
||||
|
||||
def all_tests():
|
||||
for test in generate_tests():
|
||||
print(test)
|
||||
#single_test(test)
|
||||
return
|
||||
|
||||
###############################################################################
|
||||
############################## SCRIPT MAIN BODY ###############################
|
||||
###############################################################################
|
||||
all_tests()
|
||||
Executable
+443
@@ -0,0 +1,443 @@
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
if [ $# -eq 0 ] ; then
|
||||
echo "This script must be run with at least 2 arguments."
|
||||
echo 'Usage: ${0} argument1 argument2 [argument3] [argument4] [argument5]'
|
||||
echo " argument1 : path to the tester driver"
|
||||
echo " argument2 : test type to run, e.g put"
|
||||
echo " argument3 : directory to put the output logs"
|
||||
echo " argument4 : enable gdb debug"
|
||||
echo " argument5 : shmem context type"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
shm_ctx=4 # run tests with SHMEM_CONTEXT_WG_PRIVATE
|
||||
if [ $# -eq 5 ] ; then
|
||||
shm_ctx=$5
|
||||
fi
|
||||
|
||||
ENABLE_DBG=false
|
||||
if [ $# -ge 4 ] ; then
|
||||
ENABLE_DBG=$4
|
||||
fi
|
||||
|
||||
if [ "$ENABLE_DBG" = true ]
|
||||
then
|
||||
gdb_cmd="xterm -e gdb -x gdbscript --args"
|
||||
else
|
||||
gdb_cmd=""
|
||||
fi
|
||||
|
||||
echo "Test Name ${2} (with shmem context: ${shm_ctx})"
|
||||
|
||||
check() {
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Failed $1" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
case $2 in
|
||||
*"single_thread")
|
||||
echo "get"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 0 -x ${shm_ctx} > $3/get.log
|
||||
check get
|
||||
echo "get_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 0 -x ${shm_ctx} > $3/get_th.log
|
||||
check get_th
|
||||
echo "get_nbi"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 1 -x ${shm_ctx} > $3/get_nbi.log
|
||||
check get_nbi
|
||||
echo "get_nbi_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 1 -x ${shm_ctx} > $3/get_nbi_th.log
|
||||
check get_nbi_th
|
||||
echo "put"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 2 -x ${shm_ctx} > $3/put.log
|
||||
check put
|
||||
echo "put_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 2 -x ${shm_ctx} > $3/put_th.log
|
||||
check put_th
|
||||
echo "put_nbi"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 3 -x ${shm_ctx} > $3/put_nbi.log
|
||||
check put_nbi
|
||||
echo "put_nbi_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 3 -x ${shm_ctx} > $3/put_nbi_th.log
|
||||
check put_nbi_th
|
||||
# echo "team_ctx_infra"
|
||||
# mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 42 -x ${shm_ctx} > $3/team_ctx_infra.log
|
||||
# check team_ctx_infra
|
||||
echo "team_ctx_put_nbi"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 41 -x ${shm_ctx} > $3/team_ctx_put_nbi.log
|
||||
check team_ctx_put_nbi
|
||||
echo "team_ctx_put_nbi_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 41 -x ${shm_ctx} > $3/team_ctx_put_nbi_th.log
|
||||
check team_ctx_put_nbi_th
|
||||
echo "team_ctx_get_nbi"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 39 -x ${shm_ctx} > $3/team_ctx_get_nbi.log
|
||||
check team_ctx_get_nbi
|
||||
echo "team_ctx_get_nbi_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 39 -x ${shm_ctx} > $3/team_ctx_get_nbi_th.log
|
||||
check team_ctx_get_nbi_th
|
||||
echo "reduction"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 5 -x ${shm_ctx} > $3/reduction.log
|
||||
check reduction
|
||||
echo "amo_fadd"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 6 -x ${shm_ctx} > $3/amo_fadd.log
|
||||
check amo_fadd
|
||||
echo "amo_fadd_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 6 -x ${shm_ctx} > $3/amo_fadd_th.log
|
||||
check amo_fadd_th
|
||||
echo "amo_finc"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 7 -x ${shm_ctx} > $3/amo_finc.log
|
||||
check amo_finc
|
||||
echo "amo_finc_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 7 -x ${shm_ctx} > $3/amo_finc_th.log
|
||||
check amo_finc_th
|
||||
echo "amo_fetch"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 8 -x ${shm_ctx} > $3/amo_fetch.log
|
||||
check amo_fetch
|
||||
echo "amo_fetch_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 8 -x ${shm_ctx} > $3/amo_fetch_th.log
|
||||
check amo_fetch_th
|
||||
echo "amo_fcswap"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 9 -x ${shm_ctx} > $3/amo_fcswap.log
|
||||
check amo_fcswap
|
||||
echo "amo_fcswap_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 9 -x ${shm_ctx} > $3/amo_fcswap_th.log
|
||||
check amo_fcswap_th
|
||||
echo "amo_add"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 10 -x ${shm_ctx} > $3/amo_add.log
|
||||
check amo_add
|
||||
echo "amo_add_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 10 -x ${shm_ctx} > $3/amo_add_th.log
|
||||
check amo_add_th
|
||||
echo "amo_set"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 44 -x ${shm_ctx} > $3/amo_set.log
|
||||
check amo_set
|
||||
echo "amo_set_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 44 -x ${shm_ctx} > $3/amo_set_th.log
|
||||
check amo_set_th
|
||||
echo "amo_inc"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 11 -x ${shm_ctx} > $3/amo_inc.log
|
||||
check amo_inc
|
||||
echo "amo_inc_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 11 -x ${shm_ctx} > $3/amo_inc_th.log
|
||||
check amo_inc_th
|
||||
echo "init"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 13 -x ${shm_ctx} > $3/init.log
|
||||
check init
|
||||
echo "ping_pong"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 14 -x ${shm_ctx} > $3/ping_pong.log
|
||||
check ping_pong
|
||||
echo "ping_pong_th"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1024 -w 25 -s 32768 -a 14 -x ${shm_ctx} > $3/ping_pong_th.log
|
||||
check ping_pong_th
|
||||
echo "barrier_all"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 17 -x ${shm_ctx} > $3/barrier_all.log
|
||||
check barrier_all
|
||||
echo "sync_all"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 18 -x ${shm_ctx} > $3/sync_all.log
|
||||
check sync_all
|
||||
echo "sync"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 19 -x ${shm_ctx} > $3/sync.log
|
||||
check sync
|
||||
echo "alltoall"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 23 -x ${shm_ctx} > $3/alltoall.log
|
||||
check alltoall
|
||||
echo "fcollect"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 22 -x ${shm_ctx} > $3/fcollect.log
|
||||
check fcollect
|
||||
;;
|
||||
*"multi_thread")
|
||||
echo "get"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 0 -x ${shm_ctx} > $3/get.log
|
||||
check get
|
||||
echo "get_nbi"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 1 -x ${shm_ctx} > $3/get_nbi.log
|
||||
check get_nbi
|
||||
echo "put"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 2 -x ${shm_ctx} > $3/put.log
|
||||
check put
|
||||
echo "put_nbi"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 3 -x ${shm_ctx} > $3/put_nbi.log
|
||||
check put_nbi
|
||||
# echo "team_ctx_infra"
|
||||
# mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 42 -x ${shm_ctx} > $3/team_ctx_infra.log
|
||||
# check team_ctx_infra
|
||||
echo "team_ctx_put_nbi"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 41 -x ${shm_ctx} > $3/team_ctx_put_nbi.log
|
||||
check team_ctx_put_nbi
|
||||
echo "team_ctx_get_nbi"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 39 -x ${shm_ctx} > $3/team_ctx_get_nbi.log
|
||||
check team_ctx_get_nbi
|
||||
echo "get_swarm"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 4 -x ${shm_ctx} > $3/get_swarm.log
|
||||
check get_swarm
|
||||
echo "reduction"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 5 -x ${shm_ctx} > $3/reduction.log
|
||||
check reduction
|
||||
echo "amo_fadd"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 6 -x ${shm_ctx} > $3/amo_fadd.log
|
||||
check amo_fadd
|
||||
echo "amo_finc"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 7 -x ${shm_ctx} > $3/amo_finc.log
|
||||
check amo_finc
|
||||
echo "amo_fetch"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 8 -x ${shm_ctx} > $3/amo_fetch.log
|
||||
check amo_fetch
|
||||
echo "amo_fcswap"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 9 -x ${shm_ctx} > $3/amo_fcswap.log
|
||||
check amo_fcswap
|
||||
echo "amo_add"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 10 -x ${shm_ctx} > $3/amo_add.log
|
||||
check amo_add
|
||||
echo "amo_set"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 44 -x ${shm_ctx} > $3/amo_set.log
|
||||
check amo_set
|
||||
echo "amo_inc"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 11 -x ${shm_ctx} > $3/amo_inc.log
|
||||
check amo_inc
|
||||
echo "init"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 13 -x ${shm_ctx} > $3/init.log
|
||||
check init
|
||||
echo "ping_pong"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 14 -x ${shm_ctx} > $3/ping_pong.log
|
||||
check ping_pong
|
||||
echo "barrier_all"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 17 -x ${shm_ctx} > $3/barrier_all.log
|
||||
check barrier_all
|
||||
echo "sync_all"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 18 -x ${shm_ctx} > $3/sync_all.log
|
||||
check sync_all
|
||||
echo "sync"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 19 -x ${shm_ctx} > $3/sync.log
|
||||
check sync
|
||||
echo "alltoall"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 23 -x ${shm_ctx} > $3/alltoall.log
|
||||
check alltoall
|
||||
echo "fcollect"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 22 -x ${shm_ctx} > $3/fcollect.log
|
||||
check fcollect
|
||||
;;
|
||||
*"ro")
|
||||
echo "get"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 0 -x ${shm_ctx} > $3/get.log
|
||||
check get
|
||||
echo "get_nbi"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 1 -x ${shm_ctx} > $3/get_nbi.log
|
||||
check get_nbi
|
||||
echo "put"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 2 -x ${shm_ctx} > $3/put.log
|
||||
check put
|
||||
echo "put_nbi"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 3 -x ${shm_ctx} > $3/put_nbi.log
|
||||
check put_nbi
|
||||
# echo "team_ctx_infra"
|
||||
# mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 42 -x ${shm_ctx} > $3/team_ctx_infra.log
|
||||
# check team_ctx_infra
|
||||
echo "team_ctx_put_nbi"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 41 -x ${shm_ctx} > $3/team_ctx_put_nbi.log
|
||||
check team_ctx_put_nbi
|
||||
echo "team_ctx_get_nbi"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 39 -x ${shm_ctx} > $3/team_ctx_get_nbi.log
|
||||
check team_ctx_get_nbi
|
||||
# mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 4 -x ${shm_ctx} > $3/get_swarm.log
|
||||
# check get_swarm
|
||||
#mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 5 -x ${shm_ctx} > $3/reduction.log
|
||||
echo "amo_fadd"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 6 -x ${shm_ctx} > $3/amo_fadd.log
|
||||
check amo_fadd
|
||||
echo "amo_finc"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 7 -x ${shm_ctx} > $3/amo_finc.log
|
||||
check amo_finc
|
||||
echo "amo_fetch"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 8 -x ${shm_ctx} > $3/amo_fetch.log
|
||||
check amo_fetch
|
||||
echo "amo_fcswap"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 9 -x ${shm_ctx} > $3/amo_fcswap.log
|
||||
check amo_fcswap
|
||||
echo "amo_add"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 10 -x ${shm_ctx} > $3/amo_add.log
|
||||
check amo_add
|
||||
echo "amo_set"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 44 -x ${shm_ctx} > $3/amo_set.log
|
||||
check amo_set
|
||||
echo "amo_swap"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 45 -x ${shm_ctx} > $3/amo_swap.log
|
||||
check amo_swap
|
||||
echo "amo_fetch_and"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 46 -x ${shm_ctx} > $3/amo_fetch_and.log
|
||||
check amo_fetch_and
|
||||
echo "amo_and"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 49 -x ${shm_ctx} > $3/amo_and.log
|
||||
check amo_and
|
||||
echo "amo_fetch_or"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 47 -x ${shm_ctx} > $3/amo_fetch_or.log
|
||||
check amo_fetch_or
|
||||
echo "amo_or"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 50 -x ${shm_ctx} > $3/amo_or.log
|
||||
check amo_or
|
||||
echo "amo_fetch_xor"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 47 -x ${shm_ctx} > $3/amo_fetch_xor.log
|
||||
check amo_fetch_xor
|
||||
echo "amo_xor"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 50 -x ${shm_ctx} > $3/amo_xor.log
|
||||
check amo_xor
|
||||
echo "amo_inc"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 11 -x ${shm_ctx} > $3/amo_inc.log
|
||||
check amo_inc
|
||||
echo "init"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 13 -x ${shm_ctx} > $3/init.log
|
||||
check init
|
||||
echo "ping_pong"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 14 -x ${shm_ctx} > $3/ping_pong.log
|
||||
check ping_pong
|
||||
echo "barrier_all"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 17 -x ${shm_ctx} > $3/barrier_all.log
|
||||
check barrier_all
|
||||
echo "sync_all"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 18 -x ${shm_ctx} > $3/sync_all.log
|
||||
check sync_all
|
||||
echo "sync"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 19 -x ${shm_ctx} > $3/sync.log
|
||||
check sync
|
||||
echo "alltoall"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 23 -x ${shm_ctx} > $3/alltoall.log
|
||||
check alltoall
|
||||
echo "fcollect"
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 22 -x ${shm_ctx} > $3/fcollect.log
|
||||
check fcollect
|
||||
;;
|
||||
*"team_ctx_get")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 38 -x ${shm_ctx}
|
||||
;;
|
||||
*"team_ctx_get_nbi")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 39 -x ${shm_ctx}
|
||||
;;
|
||||
*"team_ctx_put")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 40 -x ${shm_ctx}
|
||||
;;
|
||||
*"team_ctx_put_nbi")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 41 -x ${shm_ctx}
|
||||
;;
|
||||
*"get")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 0 -x ${shm_ctx}
|
||||
;;
|
||||
*"get_nbi")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 1 -x ${shm_ctx}
|
||||
;;
|
||||
*"put")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 2 -x ${shm_ctx}
|
||||
;;
|
||||
*"put_nbi")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 3 -x ${shm_ctx}
|
||||
;;
|
||||
*"get_swarm")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 4 -x ${shm_ctx}
|
||||
;;
|
||||
*"team_reduction")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 37 -x ${shm_ctx}
|
||||
;;
|
||||
*"reduction")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 5 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_fadd")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 6 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_finc")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 7 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_fetch")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 8 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_fcswap")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 9 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_add")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 10 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_set")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 44 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_swap")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 45 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_fetch_and")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 46 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_and")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 49 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_fetch_or")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 47 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_or")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 50 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_fetch_xor")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 48 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_xor")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 51 -x ${shm_ctx}
|
||||
;;
|
||||
*"amo_inc")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 11 -x ${shm_ctx}
|
||||
;;
|
||||
*"init")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 13 -x ${shm_ctx}
|
||||
;;
|
||||
*"ping_pong")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 32768 -a 14 -x ${shm_ctx}
|
||||
;;
|
||||
*"team_broadcast")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 36 -x ${shm_ctx}
|
||||
;;
|
||||
*"alltoall")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 23 -x ${shm_ctx}
|
||||
;;
|
||||
*"fcollect")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 22 -x ${shm_ctx}
|
||||
;;
|
||||
*"broadcast")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 512 -a 20 -x ${shm_ctx}
|
||||
;;
|
||||
*"barrier_all")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 17 -x ${shm_ctx}
|
||||
;;
|
||||
*"sync_all")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 18 -x ${shm_ctx}
|
||||
;;
|
||||
*"sync")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 19 -x ${shm_ctx}
|
||||
;;
|
||||
*"ctx_infra")
|
||||
mpirun -np 2 ${gdb_cmd} $1 -t 1 -w 1 -s 8 -a 42 -x ${shm_ctx}
|
||||
;;
|
||||
*)
|
||||
echo "UNKNOWN TEST TYPE: $2"
|
||||
exit -1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $?
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
# argument1 - operation to run
|
||||
# argument2 - loop count
|
||||
# e.g ./gdbrun 14 10 (launches pingpong for 10 times)
|
||||
|
||||
set -e
|
||||
for i in {1..$2};
|
||||
do
|
||||
mpirun -np 2 xterm -e gdb -x gdbscript --args build/rocshmem_example_driver -t 1 -w 1 -s 32768 -a $1 -x 8
|
||||
test $? -eq 0 || exit 1
|
||||
done
|
||||
@@ -0,0 +1,16 @@
|
||||
set pagination off
|
||||
set print frame-arguments all
|
||||
set logging file log.dat
|
||||
set logging on
|
||||
|
||||
set $_exitcode = -1
|
||||
run
|
||||
|
||||
if $_exitcode != -1
|
||||
quit
|
||||
else
|
||||
#backtrace
|
||||
# backtrace for all threads
|
||||
thread apply all bt full
|
||||
quit
|
||||
end
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
#!/bin/bash
|
||||
###############################################
|
||||
# Script : shmem_allLib_build_and_test.sh
|
||||
# Description : the script is to build and execute test for
|
||||
# given libraries as parameter to the script.
|
||||
# the script used in math_ci jenkins pipeline
|
||||
# version 1.0 (Version 1)
|
||||
# Assumption : the script is placed under clients/functional_tests
|
||||
###############################################
|
||||
echo ""
|
||||
echo ""
|
||||
echo "Starting script .."$0
|
||||
echo ""
|
||||
#check parameters. parameter of libs that need to be built and tested will be passed
|
||||
if [ $# -ne 1 ]
|
||||
then
|
||||
echo "Invalid Options for $0 ";
|
||||
echo "Usage : $0 <liblist> "
|
||||
echo "example : $0 RC_SINGLE,RC_MULTI "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
liblist=$1
|
||||
tliblist=`echo $liblist | sed 's/,/ /g'` # replace , with space, so that can be passed for loop
|
||||
echo "Parameters passed ==> $tliblist"
|
||||
echo
|
||||
|
||||
for libi in $tliblist
|
||||
do
|
||||
echo
|
||||
echo "==> Processing Lib...$libi"
|
||||
case $libi in
|
||||
RC_SINGLE)
|
||||
libnm=rc_single
|
||||
libBuildDir=$libnm"_build"
|
||||
threadType="single_thread"
|
||||
;;
|
||||
RC_MULTI)
|
||||
libnm=rc_multi
|
||||
libBuildDir=$libnm"_build"
|
||||
threadType="multi_thread"
|
||||
;;
|
||||
RC_MULTI_WF_COAL)
|
||||
libnm=rc_multi_wf_coal
|
||||
libBuildDir=$libnm"_build"
|
||||
threadType="multi_thread"
|
||||
;;
|
||||
DC_SINGLE)
|
||||
libnm=dc_single
|
||||
libBuildDir=$libnm"_build"
|
||||
threadType="single_thread"
|
||||
;;
|
||||
DC_MULTI)
|
||||
libnm=dc_multi
|
||||
libBuildDir=$libnm"_build"
|
||||
threadType="multi_thread"
|
||||
;;
|
||||
RO_NET)
|
||||
libnm=ro_net
|
||||
libBuildDir=$libnm"_build"
|
||||
threadType="single_thread"
|
||||
;;
|
||||
*)
|
||||
echo "Unable to find the option for $libi. Plesae check shmem admin"
|
||||
echo "** warning ** Skipping the process for $libi "
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$libnm" != "" ] #process only if libname found
|
||||
then
|
||||
echo "+-------------------------------------------------------------------------------------------------+"
|
||||
echo `date +%Y%m%d%H%M%S`" ==> Start | $threadType - build_configs/$libnm <=="
|
||||
echo "starting with params==> $libnm ; $libBuildDir ; $threadType"
|
||||
echo
|
||||
|
||||
echo "Library build at ==> "$libBuildDir
|
||||
|
||||
mkdir $libBuildDir
|
||||
cd $libBuildDir
|
||||
../scripts/build_configs/$libnm # from build directory generating the build
|
||||
|
||||
# test exeuction based on lib
|
||||
if [ "$libnm" == "ro_net" ]
|
||||
then
|
||||
ROC_SHMEM_RO=1
|
||||
ROC_NET_CPU_QUEUE=1
|
||||
UCX_TLS=rc
|
||||
#echo $ROC_SHMEM_RO"--"$ROC_NET_CPU_QUEUE "--"$UCX_TLS
|
||||
../scripts/functional_tests/driver.sh tests/functional_tests/rocshmem_example_driver $threadType .
|
||||
else
|
||||
../scripts/functional_tests/driver.sh tests/functional_tests/rocshmem_example_driver $threadType .
|
||||
fi
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Lib $libnm functional Test exited with ** error $? **"
|
||||
else
|
||||
echo "Lib $libnm sucessfull "
|
||||
fi
|
||||
|
||||
cd ../ # move to base directory
|
||||
|
||||
echo
|
||||
echo `date +%Y%m%d%H%M%S`" ==> End | $threadType - build_configs/$libnm <=="
|
||||
echo "+-------------------------------------------------------------------------------------------------+"
|
||||
fi
|
||||
|
||||
libnm="" #reset the parameter after completion of build
|
||||
libBuildDir=""
|
||||
threadType=""
|
||||
done
|
||||
echo
|
||||
echo "Script execution ==> $0 <== is done"
|
||||
echo
|
||||
|
||||
Executable
+297
@@ -0,0 +1,297 @@
|
||||
# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
if [ $# -eq 0 ] ; then
|
||||
echo "This script must be run with at least 2 arguments."
|
||||
echo 'Usage: ${0} argument1 argument2 [argument3]'
|
||||
echo " argument1 : path to the directory with the tests"
|
||||
echo " argument2 : test name to run, e.g hello"
|
||||
echo " argument3 : directory to put the output logs"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Test Name ${2}"
|
||||
|
||||
check() {
|
||||
if [ $? -ne 0 ]; then
|
||||
if [ "$1" != "global_exit" ]; then
|
||||
echo "Failed $1" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
case $2 in
|
||||
*"short")
|
||||
mpirun -np 2 -bind-to core $1/micro_unit_shmem
|
||||
check micro_unit_shmem
|
||||
mpirun -np 2 -bind-to core $1/broadcast_active_set
|
||||
check broadcast_active_set
|
||||
mpirun -np 2 -bind-to core $1/to_all
|
||||
check to_all
|
||||
mpirun -np 2 -bind-to core $1/put_nbi
|
||||
check put_nbi
|
||||
mpirun -np 2 -bind-to core $1/get_nbi
|
||||
check get_nbi
|
||||
mpirun -np 2 -bind-to core $1/mt_a2a
|
||||
check mt_a2a
|
||||
mpirun -np 2 -bind-to core $1/shmem_team_translate
|
||||
check shmem_team_translate
|
||||
mpirun -np 4 -bind-to core $1/shmem_team_b2b_collectives
|
||||
check shmem_team_b2b_collectives
|
||||
mpirun -np 2 -env MPIR_CVAR_CH4_NUM_VCIS 32 -bind-to core $1/many-ctx
|
||||
check many-ctx
|
||||
;;
|
||||
*"all")
|
||||
mpirun -np 2 -bind-to core $1/hello
|
||||
check hello
|
||||
mpirun -np 2 -bind-to core $1/barrier
|
||||
check barrier
|
||||
mpirun -np 2 -bind-to core $1/global_exit
|
||||
check global_exit
|
||||
mpirun -np 2 -bind-to core $1/asym_alloc
|
||||
check asym_alloc
|
||||
mpirun -np 2 -bind-to core $1/shmalloc
|
||||
check shmalloc
|
||||
mpirun -np 2 -bind-to core $1/bcast
|
||||
check bcast
|
||||
mpirun -np 2 -bind-to core $1/broadcast_active_set
|
||||
check broadcast_active_set
|
||||
mpirun -np 2 -bind-to core $1/bcast_flood
|
||||
check bcast_flood
|
||||
mpirun -np 2 -bind-to core $1/to_all
|
||||
check to_all
|
||||
mpirun -np 2 -bind-to core $1/reduce_in_place
|
||||
check reduce_in_place
|
||||
mpirun -np 2 -bind-to core $1/reduce_active_set
|
||||
check reduce_active_set
|
||||
mpirun -np 2 -bind-to core $1/max_reduction
|
||||
check max_reduction
|
||||
mpirun -np 2 -bind-to core $1/big_reduction
|
||||
check big_reduction
|
||||
mpirun -np 2 -bind-to core $1/cxx_test_shmem_p
|
||||
check cxx_test_shmem_p
|
||||
mpirun -np 2 -bind-to core $1/cxx_test_shmem_g
|
||||
check cxx_test_shmem_g
|
||||
mpirun -np 2 -bind-to core $1/put1
|
||||
check put1
|
||||
mpirun -np 2 -bind-to core $1/get1
|
||||
check get1
|
||||
mpirun -np 2 -bind-to core $1/put_nbi
|
||||
check put_nbi
|
||||
mpirun -np 2 -bind-to core $1/get_nbi
|
||||
check get_nbi
|
||||
mpirun -np 2 -bind-to core $1/bigput -l 10
|
||||
check bigput
|
||||
mpirun -np 2 -bind-to core $1/bigget -l 10
|
||||
check bigget
|
||||
mpirun -np 2 -bind-to core $1/waituntil
|
||||
check waituntil
|
||||
mpirun -np 2 -bind-to core $1/cxx_test_shmem_wait_until
|
||||
check cxx_test_shmem_wait_until
|
||||
mpirun -np 2 -bind-to core $1/shmem_test
|
||||
check shmem_test
|
||||
mpirun -np 2 -bind-to core $1/cxx_test_shmem_test
|
||||
check cxx_test_shmem_test
|
||||
mpirun -np 2 -bind-to core $1/atomic_inc
|
||||
check atomic_inc
|
||||
mpirun -np 2 -bind-to core $1/cxx_test_shmem_atomic_add
|
||||
check cxx_test_shmem_atomic_add
|
||||
mpirun -np 2 -bind-to core $1/cxx_test_shmem_atomic_fetch
|
||||
check cxx_test_shmem_atomic_fetch
|
||||
mpirun -np 2 -bind-to core $1/cxx_test_shmem_atomic_cswap
|
||||
check cxx_test_shmem_atomic_cswap
|
||||
mpirun -np 2 -bind-to core $1/cxx_test_shmem_atomic_inc
|
||||
check cxx_test_shmem_atomic_inc
|
||||
mpirun -np 2 -bind-to core $1/lfinc
|
||||
check lfinc
|
||||
mpirun -np 2 -bind-to core $1/query_thread
|
||||
check query_thread
|
||||
mpirun -np 2 -bind-to core $1/threading
|
||||
check threading
|
||||
mpirun -np 2 -bind-to core $1/thread_wait
|
||||
check thread_wait
|
||||
mpirun -np 2 -bind-to core $1/mt_contention
|
||||
check mt_contention
|
||||
mpirun -np 2 -bind-to core $1/mt_a2a
|
||||
check mt_a2a
|
||||
mpirun -np 2 -bind-to core $1/micro_unit_shmem
|
||||
check micro_unit_shmem
|
||||
mpirun -np 2 -bind-to core $1/circular_shift
|
||||
check circular_shift
|
||||
mpirun -np 2 -bind-to core $1/pi
|
||||
check pi
|
||||
mpirun -np 2 -bind-to core $1/ping
|
||||
check ping
|
||||
mpirun -np 2 -bind-to core $1/sping
|
||||
check sping
|
||||
mpirun -np 4 -bind-to core $1/shmem_team_b2b_collectives
|
||||
check shmem_team_b2b_collectives
|
||||
mpirun -np 4 -bind-to core $1/shmem_team_reduce
|
||||
check shmem_team_reduce
|
||||
mpirun -np 2 -bind-to core $1/shmem_team_reuse_teams
|
||||
check shmem_team_reuse_teams
|
||||
mpirun -np 2 -bind-to core $1/shmem_team_translate
|
||||
check shmem_team_translate
|
||||
;;
|
||||
*"hello")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"barrier")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"global_exit")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"asym_alloc")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"shmalloc")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"bcast")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"broadcast_active_set")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"bcast_flood")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"to_all")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"reduce_in_place")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"reduce_active_set")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"max_reduction")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"big_reduction")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"cxx_test_shmem_p")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"cxx_test_shmem_g")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"put1")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"get1")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"put_nbi")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"get_nbi")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"bigput")
|
||||
mpirun -np 2 -bind-to core $1/$2 -l 10
|
||||
;;
|
||||
*"bigget")
|
||||
mpirun -np 2 -bind-to core $1/$2 -l 10
|
||||
;;
|
||||
*"waituntil")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"cxx_test_shmem_wait_until")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"shmem_test")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"cxx_test_shmem_test")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"atomic_inc")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"cxx_test_shmem_atomic_add")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"cxx_test_shmem_atomic_fetch")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"cxx_test_shmem_atomic_cswap")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"cxx_test_shmem_atomic_inc")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"lfinc")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"query_thread")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"threading")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"thread_wait")
|
||||
mpirun -np 2 -bind-to core $1/$2 # this could just be -np 1
|
||||
;;
|
||||
*"mt_contention")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"mt_a2a")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"micro_unit_shmem")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"circular_shift")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"pi")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"ping")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"sping")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"shmem_team_b2b_collectives")
|
||||
mpirun -np 4 -bind-to core $1/$2
|
||||
;;
|
||||
*"shmem_team_reduce")
|
||||
mpirun -np 4 -bind-to core $1/$2
|
||||
;;
|
||||
*"shmem_team_reuse_teams")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*"shmem_team_translate")
|
||||
mpirun -np 2 -bind-to core $1/$2
|
||||
;;
|
||||
*)
|
||||
echo "UNKNOWN TEST TYPE: $2"
|
||||
exit -1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $?
|
||||
Reference in New Issue
Block a user