augertron / accull Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
************************************************************************ _ _ _ _ | | | | | | | __ _ ___ ___| | | | | | | / _` |/ __/ __| | | | | | | | (_| | (_| (__| |_| | |____| |____ \__,_|\___\___|\___/\_____/\_____/ 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]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.