OpenACC: a new Standard for Parallel Computing


OpenACC is a new standard for parallel programming developed by NVIDIA, PGI (the Portland Group) and Cray and unveiled during the SC11 (conference for high performance computing).

OpenACC is not a new language. It allows programmers to define which areas of code (C++, Fortran) to accelerate using directives like this one:

float f(int n, float* v1, float* v2)
  int i;
  float sum = 0;
  <b>#pragma acc region for</b>
  for (i=0; i&lt;n; i++)
    // Do some heavy computations here!
  return sum;

Currently, only NVIDIA CUDA accelerators will take advantage of OpenACC.

Useful links:


11 thoughts on “OpenACC: a new Standard for Parallel Computing”

  1. Ahmad Saleem

    Kick this and we can see a new era of computing:
    “Currently, only NVIDIA CUDA accelerators will take advantage of OpenACC.”
    nvidia is becoming more and more like Apple.

    BTW I own nvidia card. So no AMD fanboyism.

  2. Ashkan

    This is most probably a move to counter Microsoft’s C++ AMP. Why can’t we settle down on a single standard that all venders contribute to and support, instead of wasting tens of thousands of hours of engineering time on developing similar standards and toolset parallel to the ones that already exist? So fucking inefficient, not to mention cruel to the end users.

  3. Wolfie

    Looks like OpenMP. Why won’t vendors get behind a single standard, all they are doing is slowing adoption?

  4. Leith Bade

    I don’t see why NVIDIA couldn’t just support OpenMP…

    I think NVIDIA just like to make proprietary languages and APIs to that software developers get locked into their hardware.

    It would be interesting to make an OpenCL version.

  5. Matt

    What does the ACC part stand for? Accelerated cash cow? Please, I can’t find it and it is bugging me.

  6. DrBalthar

    Another nVidia standard no one cares about! How many failures do we need to see from nVidia before they finally give up to shovel something down your throat. (Cg, CgFx, PhysX, CUDA all properitary so-called standards)

Comments are closed.