PyForTool
Python-fortran-tool
|
Public Member Functions | |
removeACC (self) | |
removebyPassDOCONCURRENT (self) | |
craybyPassDOCONCURRENT (self) | |
addACCData (self) | |
addACCRoutineSeq (self, stopScopes) | |
Methods relative to openacc
Definition at line 11 of file openacc.py.
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.
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.
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.
pyfortool.openacc.Openacc.removeACC | ( | self | ) |
Remove openACC directives
Definition at line 16 of file openacc.py.
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.