Giter VIP home page Giter VIP logo

accull's Introduction

************************************************************************
                 _   _ _      _
                | | | | |    | |
   __ _  ___ ___| | | | |    | |
  / _` |/ __/ __| | | | |    | |
 | (_| | (_| (__| |_| | |____| |____
  \__,_|\___\___|\___/\_____/\_____/
                                     0.4alpha

http://cap.pcg.ull.es/en/accULL
http://accull.wordpress.com 

************************************************************************
                            Introduction
************************************************************************
accULL is the OpenACC implementation made at La Laguna University. accULL 
has a two layer structure consisting on a compiler (YaCF) and a runtime 
library (Frangollo).

YaCF , Yet another Compiler Framework, is a translator framework designed
code. Its components are independent from each other, and can be used in full 
source to source drivers or in small test transformations. Within YaCF we 
have included several classes, modules and packages to solve particular 
problems within Source-to-Source code code translations.

Frangollo acts as an interface between the user  (or an intelligent enough
compiler) and an abstract accelerator model that we call the Frangollo 
Platform Model. The library provides a programmer-friendly interface for 
the most common usage patterns of accelerators, and enables writting
platform-independent code. To which platform the model will be instantiated 
can be decided at runtime after exploring the available devices.
The Frangollo Platform Model is inspired by the OpenCL Programming Model.
Instead of focusing on the devices and their low level details, the Frangollo
Platform Model is a generic approach to the concept of accelerator, and 
adds some rules to handle memory coherence between the host and the 
device(s).
 
************************************************************************
                           Prerequisites (yacf)
************************************************************************
Python >= 2.7.x             : http://www.python.org/
Ply >= 3.3 (Python Lex-Yacc): http://www.dabeaz.com/ply/
Mako templates              : http://www.makotemplates.org/
lxml (optional)             : http://lxml.de/
Sphinx (optional)           : http://sphinx.pocoo.org/
SymPy 0.7.4.1 (optional)    : http://sympy.org/

Example of installation:

    $ pip install ply
    $ pip install mako
    $ pip install lxml
    $ pip install sphinx
    $ pip install sympy


************************************************************************
                           Prerequisites (frangollo)
************************************************************************
Autoconf (GNU) 2.69    : http://www.gnu.org/software/autoconf/
Automake (GNU) 1.13    : http://www.gnu.org/software/automake/
GCC-C++ 4.5.2          : http://gcc.gnu.org/

For NVIDIA platforms:
CUDA 5.0               : http://developer.nvidia.com/cuda/cuda-downloads
Need nvidia-opencl-dev package to include OpenCL support

For OpenCL platforms:
Intel OpenCL SDK       : http://software.intel.com/en-us/vcsource/tools/opencl-sdk


************************************************************************
                           How to install
************************************************************************

Read INSTALL file included with this package.

************************************************************************
                              Contents (yacf)
************************************************************************
   bin          All yacf drivers
   doc          yacf Documentation
   examples     Code examples (OpenACC, MPI, OpenMP) 
   MiddleEnd    Optimisations in the MiddleEnd of yacf
   tests        Test directory
   Frontend     yacf Frontends (OpenACC, OpenMP, C99) 
   Backed       yacf Backends  (Frangollo, CUDA, MPI, C99)


************************************************************************
                              Contents (frangollo)
************************************************************************

	doc        frangollo documentation
	examples   some frangollo examples (interface level and kernels)
	src        frangollo source code

************************************************************************
                   Documentation and links
************************************************************************

   Documentation is located at
       * http://llc.pcg.ull.es/
       * http://accull.wordpress.com  
       * http://yacf.googlecode.com/hg/yacf/doc/_build/html/index.html
       * https://bitbucket.org/ruyman/llcomp/downloads/YaCF-26-06-2013.pdf

       More documentation will be available soon.

   Repositories:
      * accULL repository           : https://bitbucket.org/ruyman/accull
      * Public Frangollo repository : https://bitbucket.org/ruyman/frangollo
      * Public YaCF repository      : https://bitbucket.org/ruyman/llcomp
      
   OpenACC:
      * http://www.openacc-standard.org/

************************************************************************
                             Known Issues
************************************************************************
- WARNING: In release 0.4alpha the support for reductions is not 
usable with OpenCL, since the improvements in Frangollo library are not
yet completed, but the CUDA support is fully functional.
- Using parameters of type double in some platforms may produce incorrect
results. In particular, using this release with the Mac OpenCL Framework
in the AMD GPU produces incorrect results in some tests. Use of the GPU 
in this circumstances is discourages. We are investigating the issue.

************************************************************************
                              Authors
************************************************************************

Ruymán Reyes       : [email protected]
Ivan López         : [email protected]
Juan José Fumero   : [email protected]
Jose Lucas Grillo  : [email protected]
Francisco de Sande : [email protected]

accull's People

Contributors

enen avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.