Results 1 to 5 of 5

Thread: GCC Support Published For OpenACC On The GPU

  1. #1
    Join Date
    Jan 2007
    Posts
    15,133

    Default GCC Support Published For OpenACC On The GPU

    Phoronix: GCC Support Published For OpenACC On The GPU

    Samsung has published their code to a modified version of the GCC Compiler that supports using the OpenACC 1.0 parallel computing specification. OpenACC allows for simplified parallel programming on heterogeneous CPU and GPU systems...

    http://www.phoronix.com/vr.php?view=MTQ3Mjg

  2. #2
    Join Date
    Dec 2011
    Posts
    2,107

    Default Proprietary compilers

    It is amazing that proprietary compilers even exist and that people actually rely on them and trust them.

    Proprietary compilers break the chain of trust.
    Just imagine how a malicious proprietary compiler can subvert the trust and security of anything and everything compiled.

  3. #3
    Join Date
    Oct 2012
    Location
    Washington State
    Posts
    486

    Default

    Evgeny Gavrin of Samsung announced the creation of an OpenACC GCC branch last week. The OpenACC support isn't finished yet but does produce working binaries with support for GPU offloading. The compiler supports the C, C++, and Fortran versions of OpenACC except only OpenACC 1.0 is supported and not the newer 2.0 specification. The OpenACC compiler support ends up generating translated OpenCL 1.1 code for the GPU offloading.
    What a waste of resources. Just leverage OpenCL directly. Not to mention, leverage OpenCL 1.2 directly. The only extension to this is Fortran. You want native interfaces of OpenCL for Fortran, then write them. Stop wasting time on these abstract layers above.

  4. #4
    Join Date
    May 2011
    Posts
    3

    Default

    This is really targeting the HPC world where the developers are quite often scientists and researchers implementing new algorithms and not so much experienced software engineers.

    Quote Originally Posted by Marc Driftmeyer View Post
    Not to mention, leverage OpenCL 1.2 directly.
    The main benefit to generating 1.1 code is that for NVIDIA hardware, 1.2 support didnt come about until Fermi. While Fermi is a few years old, yes, there are still a large number of deployed HPC systems running older generation Tesla cards.

    Quote Originally Posted by Marc Driftmeyer View Post
    Just leverage OpenCL directly. ... Stop wasting time on these abstract layers above.
    If you're a good developer, proficient in GPU development, then sure. But for many of the researchers looking to leverage CPUs for their algorithms, these abstractions are hugely useful. This is in a similar vein to using OpenMP for multithreading on CPUs instead of dealing directly with pthreads. You'll definitely be able to get the most performance out of using OpenCL directly but that comes at a very steep development cost. Not just in code development but in people resources as well. The added code complexity of managing an OpenCL pipeline very quickly becomes non-trivial. Also the pool of developers that can effectively develop GPU code via OpenCL is much smaller than those that can leverage these abstractions.

    In the end, these abstractions are are a good thing as it greatly increases the accessibility of highly parallel accelerators.
    Last edited by chuckatkins; 10-02-2013 at 03:08 PM.

  5. #5
    Join Date
    Nov 2013
    Posts
    2

    Default

    FYI, there is another work by INRIA called StarPU, http://runtime.bordeaux.inria.fr/StarPU/ but no FORTRAN in that case.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •