PyForTool
Python-fortran-tool
Loading...
Searching...
No Matches
Public Member Functions | List of all members
pyfortool.openacc.Openacc Class Reference
Inheritance diagram for pyfortool.openacc.Openacc:
Inheritance graph
[legend]

Public Member Functions

 removeACC (self)
 
 removebyPassDOCONCURRENT (self)
 
 craybyPassDOCONCURRENT (self)
 
 addACCData (self)
 
 addACCRoutineSeq (self, stopScopes)
 

Detailed Description

Methods relative to openacc

Definition at line 11 of file openacc.py.

Member Function Documentation

◆ addACCData()

pyfortool.openacc.Openacc.addACCData (   self)
1) Add after declaration:
!$acc data present ( list of intent arrays)
2) Add at the end of the routine
!$acc end data

Definition at line 133 of file openacc.py.

Here is the call graph for this function:

◆ addACCRoutineSeq()

pyfortool.openacc.Openacc.addACCRoutineSeq (   self,
  stopScopes 
)
Adds the '!$acc routine (<name>) seq' directive
:param stopScopes: scope paths where we stop to add the directive

Definition at line 182 of file openacc.py.

Here is the call graph for this function:

◆ craybyPassDOCONCURRENT()

pyfortool.openacc.Openacc.craybyPassDOCONCURRENT (   self)
By pass a bug of the CRAY compiler in which the vectorisation is not done with
BR_ fonctions use or locally.
On all expanded compute kernels with !$acc loop independent collapse(X) placed:
    - if BR_ fonction is used : !$acc loop independent collapse(X) is removed and
      the nested DO loops are factorised into DO CONCURRENT
    - if a mnh_undef(OPENACC) macro is in place, !$acc loop collapse independant(X)
      is removed
    - if a mnh_undef(LOOP) macro is in place the nested DO loops are factorised into
      DO CONCURRENT

Definition at line 40 of file openacc.py.

Here is the call graph for this function:

◆ removeACC()

pyfortool.openacc.Openacc.removeACC (   self)
Remove openACC directives

Definition at line 16 of file openacc.py.

Here is the call graph for this function:

◆ removebyPassDOCONCURRENT()

pyfortool.openacc.Openacc.removebyPassDOCONCURRENT (   self)
Remove macro !$mnh_(un)def(OPENACC) and !$mnh_(un)def(LOOP) directives
for other compiler than Cray

Definition at line 24 of file openacc.py.

Here is the call graph for this function:

The documentation for this class was generated from the following file: