Installation Instructions

Xentica is planned to run with several GPU backends in the future, like CUDA, OpenCL and GLSL. However, right now, only CUDA is supported.

Warning

If your GPU is not CUDA-enabled, this guide is not for you. The framework will just not run, no matter how hard you try. You may check the list of CUDA-enabled cards if you have any doubts.

Note

This page is currently containing instructions only for Debian-like systems. If you are on another system, you still can use links to pre-requisites in order to install them. If so, please contact us by opening an issue on GitHub. We could help you if you’ll meet some troubles during installation, and also your experience could be used to improve this document.

Core Prerequisites

In order to run CA models without any visualization, you have to correctly install the following software.

  • NVIDIA CUDA Toolkit

    Generally, you can install it just from your distribution’s repository:

    sudo apt-get install nvidia-cuda-toolkit
    

    Nevertheless, default packages are often out of date, so in case you have one of those latest cool GPUs, you may want to upgrade to the latest CUDA version from official NVIDIA source. We’ll hint you with a good article explaining how to do it. But you are really on your own with this stuff.

  • Python 3.5+

    Your distribution should already have all you need:

    sudo apt-get install python3 python3-dev python3-pip wheel
    
  • NumPy

    Once Python3 is correctly installed, you can install NumPy by:

    pip3 install numpy
    
  • PyCUDA

    If CUDA is correctly installed, you again can simply install PyCUDA with pip:

    pip3 install pycuda
    

Other pre-requisites should be transparently installed with the main Xentica package.

GUI Prerequisites

If you are planning to run visual examples with Moire GUI, you have to install Kivy framework.

Its pre-requisites could be installed by:

sudo apt-get install \
  build-essential \
  git \
  ffmpeg \
  libsdl2-dev \
  libsdl2-image-dev \
  libsdl2-mixer-dev \
  libsdl2-ttf-dev \
  libportmidi-dev \
  libswscale-dev \
  libavformat-dev \
  libavcodec-dev \
  zlib1g-dev

Then, to install stable Kivy:

pip3 install Cython==0.25 Kivy==1.10.0

On the latest Debian distributions you can meet conflicts with libsdl-mixer. Then, try to install the latest developer version, like:

pip3 install Cython==0.27.3 git\+https://github.com/kivy/kivy.git

If you have any other troubles with that, please refer to the official Kivy installation instructions.

Main package

Xentica package could be installed with:

pip3 install xentica

Note, it does not depend on pre-requisites described above, but you still need to install them properly, or Xentica will not run.

Run Xentica examples

In order to run the Game of Life model built with Xentica:

pip3 install moire
wget https://raw.githubusercontent.com/a5kin/xentica/master/examples/game_of_life.py
python3 game_of_life.py

Or, if you are using optirun:

optirun python3 game_of_life.py