Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds openmp offload for XSBench, RSBench, miniFE #4

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

koparasy
Copy link
Member

This patch adds compiling configurations for XSBench, RSBench, and miniFE using the OpenMP offload programming model.

Copy link
Member

@ggeorgakoudis ggeorgakoudis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please reply to comments and address issues

config.yaml Outdated
}
copy: [ 'openmp-threading/XSBench' ]
bin: 'XSBench'
run: 'env OMP_NUM_THREADS=1 OMP_PROC_BIND=true ./XSBench'
input: '-t 1 -k 1 -s small'
measure:
input: '-t 1 -m event -s small'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this input compatible with the other configurations (omp, seq)?

config.yaml Outdated
}
copy: [ 'openmp-threading/rsbench' ]
bin: 'rsbench'
run: 'env OMP_NUM_THREADS=1 OMP_PROC_BIND=true ./rsbench'
input: '-t 1 -s small'
measure:
input: '-s small -m event -t 1'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this input compatible with the other configurations (seq, omp)?

config.yaml Outdated
@@ -183,6 +190,14 @@ miniFE:
-DMINIFE_CSR_MATRIX -DMINIFE_RESTRICT=__restrict__
-DMPICH_IGNORE_CXX_SEEK -DMINIFE_INFO=1 -DMINIFE_KERNELS=0"'
],
omp-offload: [ 'cd openmp45/src;
make -j CC=clang CXX=clang++
CFLAGS="-v -O3 -fopenmp -fopenmp-targets=nvptx64-nvidia-cuda
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove -v

print_CLI_error();
}
- else
+ else if( strcmp(arg, "-t") == 0 )
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this to enable multi-threaded target creation? Is an option on the number of threads correct? Shouldn't be 1 for correct program execution?

+ }
// n_gridpoints (-g)
- if( strcmp(arg, "-g") == 0 )
+ else if( strcmp(arg, "-g") == 0 )
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change to if, otherwise -t precludes -g

char * arg = argv[i];

+ // This will be ignored
+ if( strcmp(arg, "-t") == 0 )
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is an option on the number of threads correct? Shouldn't be 1 for correct program execution?

config.yaml Outdated
@@ -106,20 +106,24 @@ miniAMR:
clean: [ 'git clean -fx' ]

XSBench:
fetch: 'git clone https://github.com/ANL-CESAR/XSBench.git'
fetch: 'git clone https://github.com/ANL-CESAR/XSBench.git;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add the command to clone/checkout the specific commit that this patch works with. Also for RSBench fetch. We should do it for every repo that needs a patch.

@ggeorgakoudis
Copy link
Member

ggeorgakoudis commented Apr 13, 2021

Possibly add:

miniQMC
QMCpack
gridmini (JD)
SPEC accel(?)
SPEC HPG (?)
Kripke (change header for OpenMP offloading policy)
Laghos (MFEM, what needs to be changed?)
HPG-MG (?) https://bitbucket.org/hpgmg/hpgmg/src (JD)

- Move offload applications to another configuration file.
- Add Clang and IBM compilation toolchain for applications.
- Extends Harness to parse information out of the nvlink info
- The parsed data are stored under the results/results-'application name'.yaml file
- Add miniQMC application
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants