Skip to content

Using cuda memcheck

pgimwolfe edited this page Jul 9, 2015 · 2 revisions

You may run into spurious errors with cuda-memcheck. For instance, the PGI OpenACC implementation uses 'cuCtxAttach' to check whether your program has already created a CUDA context, for instance if you are using CUDA C or Fortran. In that case, the OpenACC runtime will attach and use that existing context. Of there is no existing context, cuCtxAttach returns an error code, which the PGI runtime normally ignores. cuda-memcheck does not ignore it, however, and you may see an error code. You can override this behavior by setting the environment variable

export PGI_ACC_ATTACH=0

or linking with

-ta=tesla:noattach