Opened 12 months ago

Last modified 4 weeks ago

#2197 assigned Task

HPC-09_Mireck_OpenACC

Reported by: mathiot Owned by: andmirek
Priority: high Milestone: Unscheduled
Component: TRA Version: trunk
Severity: minor Keywords: HPC,
Cc: Review: failed
MP ready?: no
Progress: This is an exploratory work at this moment. No plans to have it in the trunk. There is a version of the code (processed by PSYclone) running on GPU. The performance is under investigation and improvement in implementation of directives in the code continues.

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 (19)

ChangesetAuthorTimeChangeLog
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 (24)

comment:1 Changed 11 months ago by nemo

  • Priority changed from low to high

comment:2 Changed 10 months ago by nicolasmartin

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

comment:3 Changed 8 months ago by wayne_gaudin

In 10827:

Initial comment, ticket #2197

comment:4 Changed 8 months ago by wayne_gaudin

In 10828:

Updated comment ticket #2197

comment:5 Changed 8 months ago by wayne_gaudin

In 10831:

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

comment:6 Changed 8 months ago by wayne_gaudin

In 10834:

Ticket #2197 - added namelist input to the Master directory

comment:7 Changed 8 months ago by wayne_gaudin

In 10837:

Ticket #2197 - added version extraction to the Makefile

comment:8 Changed 8 months ago by wayne_gaudin

In 10838:

Ticket #2197 - extracted versions added

comment:9 Changed 8 months ago by andmirek

In 10842:

ticket #2197 branch for tests with OPENACC

comment:10 Changed 8 months ago by andmirek

In 10843:

ticket #2197 merge with dev_r9950_GO8_package at 10320

comment:11 Changed 8 months ago by andmirek

In 10844:

ticket #2197 merge dev_r9950_GO6_mixing r10039

comment:12 Changed 8 months ago by andmirek

In 10845:

ticket #2197 merge dev_r9950_GO6_mixing r10039

comment:13 Changed 8 months ago by andmirek

In 10846:

ticket #2197 merge dev_r9950_old_tidal_mixing r10040: for use for ORCA25

comment:14 Changed 8 months ago by andmirek

In 10847:

ticket #2197 merge dev_r10037_shlat2d: for use for ORCA1

comment:15 Changed 8 months ago by andmirek

In 10848:

ticket #2197 add build keys

comment:16 Changed 8 months ago by andmirek

In 10849:

ticket #2197 for OCE ICE build without key_iomput

comment:17 Changed 8 months ago by andmirek

In 10851:

ticket #2197 dissable diagnostics without key_iomput

comment:18 Changed 8 months ago by andmirek

In 10853:

ticket #2197 bugfix and change in NaN detection

comment:19 Changed 6 months ago by andmirek

In 11069:

ticket #2197 glob sum for parallel architecture

comment:20 Changed 4 months ago by andmirek

In 11467:

Ticket #2197 allocate arrays at the beggining of the run

comment:21 Changed 4 months 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 3 months ago by andmirek

  • Description modified (diff)
  • Milestone changed from 2019 WP to Unscheduled

comment:23 Changed 3 months ago by andmirek

  • Progress modified (diff)

comment:24 Changed 4 weeks ago by andmirek

In 11888:

Ticket #2197, small changes to improve code structure

Note: See TracTickets for help on using tickets.