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

Update FAQ.md #2195

Merged
merged 3 commits into from
Oct 11, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
- [Does Devito optimize complex expressions](#does-devito-optimize-complex-expressions)
- [How are abstractions used in the seismic examples](#how-are-abstractions-used-in-the-seismic-examples)
- [What environment variables control how Devito works](#what-environment-variables-control-how-devito-works)
- [What are the accepted combinations of PLATFORM, ARCH, and LANGUAGE](#what-are-the-accepted-combinations-of-platform-arch-and-language)
- [How do you run the unit tests from the command line](#how-do-you-run-the-unit-tests-from-the-command-line)
- [What is the difference between f() and f[] notation](#what-is-the-difference-between-f-and-f-notation)
- [What is the indexed notation](#what-is-the-indexed-notation)
Expand Down Expand Up @@ -302,6 +303,37 @@ Set `DEVITO_IGNORE_UNKNOWN_PARAMS=1` to avoid Devito raising an exception if one
[top](#Frequently-Asked-Questions)


## What are the accepted combinations of PLATFORM, ARCH, and LANGUAGE

#### LANGUAGE={C,openmp}

These two languages can be used with virtually any PLATFORM and ARCH.

With a device PLATFORM (e.g., `nvidiaX` or `amdgpuX`), the compiler will generate OpenMP code for device offloading.

When using OpenMP offloading, it is however recommended to stick to the corresponding vendor compiler, so `ARCH=amdclang` for AMD, `ARCH={icc,icx,intel}` for Intel, and `ARCH=nvc` for NVidia.
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe note that icx is the default when using intel?
and ICC gonna be deprecated?


#### LANGUAGE=openacc

Recommended: `PLATFORM=nvidiaX` and `ARCH=nvc`.
Copy link
Contributor

Choose a reason for hiding this comment

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

PLATFORM=nvidiaX is required here not recommended


The legacy PGI compiler is also supported via `ARCH=pgcc`.

#### LANGUAGE=cuda

Requires: `PLATFORM=nvidiaX` and `ARCH=cuda`.

Also requires DevitoPRO.
Copy link
Contributor

Choose a reason for hiding this comment

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

Available only with a DevitoPRO license ?

... or drop "also"


#### LANGUAGE=hip

Requires: `PLATFORM=amdgpuX` and `ARCH=hip`.

Also requires DevitoPRO.
Copy link
Contributor

Choose a reason for hiding this comment

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

same



[top](#Frequently-Asked-Questions)
Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't know what line 303 pointed to


## How do you run the unit tests from the command line
In addition to the [tutorials]( https://www.devitoproject.org/devito/tutorials.html), the unit tests provide an excellent way to see how the Devito API works with small self-contained examples. You can exercise individual unit tests with the following python code:
```
Expand Down