New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
#2197 (HPC-09_Mireck_OpenACC) – NEMO

Opened 5 years ago

Last modified 4 years ago

#2197 closed Task

HPC-09_Mireck_OpenACC — at Version 22

Reported by: mathiot Owned by: andmirek
Priority: high Milestone: 2019 WP
Component: TRA Version: trunk
Severity: minor Keywords: HPC,
Cc:

Description (last modified by andmirek)

BE CAREFUL !!! Due to dynamic behaviour of this ticket creation page, it is highly recommend to set first all other fields before writing the ticket description below.
If you have lost your draft after an unwanted reload, you can click on the link 'Restore Form' in the contextual menu upper right to recover it.
Remove these lines after reading.

Summary

Action HPC-09_Mireck_OpenACC
PI(S) Mirek
Digest Investigation on OpenACC
Dependencies
Branch NEMO/branches/$YEAR/dev_r{REV}_{ACTION_NAME}
Previewer(s)
Reviewer(s)
Wiki wiki:2019WP/HPC-09_Mireck_OpenACC

Abstract

Investigation on Open ACC

Description

Investigate NEMO on GPU. This ticket is to document development of NEMO code to be ready to run on GPU. The aproach taken is based on automatic insertion of compiler directives into the pre-proccessed by compiler code with PSYclone. PSYclone works on a target computer so the commits into the branch are the changes in the code to efficiently run code on GPU after directives are inserted.

Implementation

How exactly the directives will be implemented is not decided yet. This is an exploratory work to see what performance improvement can be gained on GPU. This work involves software developer(s) from NVIDIA and STFC.

Reference manual and web pages updates

No changes in manual will be needed.

Once the PI has completed this section, he should send a mail to the previewer(s) asking them to preview the work within two weeks.

Commit History (20)

ChangesetAuthorTimeChangeLog
13090andmirek2020-06-10T16:44:43+02:00

Ticket #2482: calculate sums in the same way as in #2197, commit 11069

11888andmirek2019-11-12T10:09:51+01:00

Ticket #2197, small changes to improve code structure

11467andmirek2019-08-22T11:49:08+02:00

Ticket #2197 allocate arrays at the beggining of the run

11069andmirek2019-06-03T12:23:43+02:00

ticket #2197 glob sum for parallel architecture

10853andmirek2019-04-09T11:04:31+02:00

ticket #2197 bugfix and change in NaN detection

10851andmirek2019-04-08T15:39:54+02:00

ticket #2197 dissable diagnostics without key_iomput

10849andmirek2019-04-08T13:35:31+02:00

ticket #2197 for OCE ICE build without key_iomput

10848andmirek2019-04-08T11:44:42+02:00

ticket #2197 add build keys

10847andmirek2019-04-05T16:51:46+02:00

ticket #2197 merge dev_r10037_shlat2d: for use for ORCA1

10846andmirek2019-04-05T16:48:35+02:00

ticket #2197 merge dev_r9950_old_tidal_mixing r10040: for use for ORCA25

10845andmirek2019-04-05T16:43:17+02:00

ticket #2197 merge dev_r9950_GO6_mixing r10039

10844andmirek2019-04-05T16:07:13+02:00

ticket #2197 merge dev_r9950_GO6_mixing r10039

10843andmirek2019-04-05T16:01:32+02:00

ticket #2197 merge with dev_r9950_GO8_package at 10320

10842andmirek2019-04-05T15:53:48+02:00

ticket #2197 branch for tests with OPENACC

10838wayne_gaudin2019-04-04T08:36:27+02:00

Ticket #2197 - extracted versions added

10837wayne_gaudin2019-04-04T08:34:28+02:00

Ticket #2197 - added version extraction to the Makefile

10834wayne_gaudin2019-04-03T16:10:09+02:00

Ticket #2197 - added namelist input to the Master directory

10831wayne_gaudin2019-04-03T15:44:58+02:00

Ticket #2197 - added the Master directory with code and makefile

10828wayne_gaudin2019-04-03T08:44:12+02:00

Updated comment ticket #2197

10827wayne_gaudin2019-04-03T08:33:53+02:00

Initial comment, ticket #2197

Change History (22)

comment:1 Changed 5 years ago by nemo

  • Priority changed from low to high

comment:2 Changed 5 years ago by nicolasmartin

  • Owner set to andmirek
  • Status changed from new to assigned

comment:3 Changed 5 years ago by wayne_gaudin

In 10827:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:4 Changed 5 years ago by wayne_gaudin

In 10828:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:5 Changed 5 years ago by wayne_gaudin

In 10831:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:6 Changed 5 years ago by wayne_gaudin

In 10834:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:7 Changed 5 years ago by wayne_gaudin

In 10837:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:8 Changed 5 years ago by wayne_gaudin

In 10838:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:9 Changed 5 years ago by andmirek

In 10842:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:10 Changed 5 years ago by andmirek

In 10843:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:11 Changed 5 years ago by andmirek

In 10844:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:12 Changed 5 years ago by andmirek

In 10845:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:13 Changed 5 years ago by andmirek

In 10846:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:14 Changed 5 years ago by andmirek

In 10847:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:15 Changed 5 years ago by andmirek

In 10848:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:16 Changed 5 years ago by andmirek

In 10849:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:17 Changed 5 years ago by andmirek

In 10851:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:18 Changed 5 years ago by andmirek

In 10853:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:19 Changed 5 years ago by andmirek

In 11069:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:20 Changed 5 years ago by andmirek

In 11467:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:21 Changed 5 years ago by andmirek

Last commit has changes to the way arrays are used in the code. Instead using allocatable and automatic arrays in the code, during initialization large number of arrays are created and later used in the code. This change is to investigate the impact of these change on performance of NEMO on GPU. With the changes model produces the same solution after 992 timesteps for GO8 configuration (ORCA1). The model seems to run slightly slower with new approach (1007.370s vs. 978.629s) and uses approximately the same amount of RAM 11.6G with changes, 11.8G reference.

comment:22 Changed 5 years ago by andmirek

  • Description modified (diff)
  • Milestone changed from 2019 WP to Unscheduled
Note: See TracTickets for help on using tickets.