Giter Club home page Giter Club logo

viennacl-dev's Introduction

Build Status Developer Repository for ViennaCL

Looking for ViennaCL releases? Visit http://viennacl.sourceforge.net/

This is the developer repository of ViennaCL including the latest features and changes. Feel free to clone the repository, send us your pull requests, or update the Wiki here at github. All contributions are welcome. You might also want to subscribe to our developer mailing list. There are no 'stupid questions', so don't hesitate to get in contact with us.

To build the developer version of ViennaCL, simply clone the repository and issue the following commands (the following steps are for Unix-based systems):

$> cd viennacl-dev
$> mkdir build && cd build
$> cmake ..
$> make

(Feel free to use parallel builds through make -j4, but keep in mind that each build might take up to one GB of RAM)

Follow similar steps on Windows:

  • Launch the CMake-GUI and point the source-directory to viennacl-dev and the build-directory to viennacl-dev/build.
  • Confirm that CMake should create the build-folder for you.
  • Click on Configure and select your compilation environment.
  • Provide any missing paths to Boost and/or OpenCL, or deselect ENABLE_UBLAS and/or ENABLE_OPENCL.
  • Click on Configure again and then on Generate.
  • You will now find the generated project files in the build-folder, which you process with your compiler environment.

(Feedback from developers on Windows on the build process of the developer version are welcome)

System requirements for the developer version:

  • Boost libraries >= 1.45 (feel free to disable BUILD_TESTING and ENABLE_UBLAS in CMake in order to build without Boost)
  • CMake 2.8 or higher (for building the tests and examples)
  • A not-too-ancient C++ compiler

Optional:

  • OpenMP-enabled C++ compiler
  • One or more OpenCL SDKs (1.1 or higher)
  • CUDA toolkit (4.x or higher)
  • Eigen (3.0 or higher)
  • MTL 4

Sending Pull Requests

We strive for high code quality and maintainability. Before sending pull requests, please ensure that your contribution passes the following minimum requirements, which are commonly considered good practice in software engineering:

  • The new code passes all tests when running 'make test'.
  • The new code compiles cleanly at high warning levels (-Wall -pedantic, just enable ENABLE_PEDANTIC_FLAGS within CMake) on at least GCC and/or Clang, ideally also Visual Studio compilers. The more the better, but at least one of the compilers should have been tested.
  • For new functions or classes, please add Doxygen comments to the code. This makes it easier for others to quickly build on top of your code.
  • Don't use tabs. Configure your editor such that it uses two spaces instead.

Thanks! :-)

viennacl-dev's People

Contributors

albertz avatar albertzaharovits avatar bollig avatar cdeterman avatar ddemidov avatar franz-s avatar intelfx avatar josefweinbub avatar karlrupp avatar lvella avatar matusi143 avatar psanan avatar ptillet avatar rombur avatar shanagr avatar smarthi avatar syst3mw0rm avatar tamuratak avatar tsmithe avatar x-4321 avatar

Stargazers

 avatar

Watchers

 avatar  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.