Skip to content

Linux and Mac OSX Build

Juan David Adarve edited this page May 10, 2019 · 4 revisions

Requirements

The following dependencies have been tested on Ubuntu 16.04.

  • Vulkan SDK 1.1.73.0 or higher available in Lunar G.
  • Clang version 3.8.0 or higher.
  • CMake 3.5.1 or higher.
  • A GPU driver compatible with Vulkan. In my case I have Nvidia 384.130 installed.

Setup

The following setup can be included in the ~/.bashrc file to configure the Vulkan SDK in a terminal.

Linux

export VULKAN_SDK_ROOT=path_to_VulkanSDK_folder_with_all_versions
export VULKAN_SDK_VERSION=1.1.73.0
export VULKAN_SDK_ARCH=x86_64
export VULKAN_SDK=${VULKAN_SDK_ROOT}/${VULKAN_SDK_VERSION}/${VULKAN_SDK_ARCH}

export VK_LAYER_PATH="$VULKAN_SDK/etc/explicit_layer.d"
export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation

export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH
export PATH=$VULKAN_SDK/bin:$PATH

Mac OSX

export VULKAN_SDK_ROOT=path_to_VulkanSDK_folder_with_all_versions
export VULKAN_SDK_VERSION=vulkansdk-macos-1.1.73.0
export VULKAN_SDK_ARCH=macOS
export VULKAN_SDK=${VULKAN_SDK_ROOT}/${VULKAN_SDK_VERSION}/${VULKAN_SDK_ARCH}

export VK_ICD_FILENAMES=$VULKAN_SDK/etc/vulkan/icd.d/MoltenVK_icd.json
export DYLD_LIBRARY_PATH=$VULKAN_SDK/lib:$DYLD_LIBRARY_PATH

export PATH=$VULKAN_SDK/bin:$PATH

You can verify if the Vulkan SDK is configured properly by running vulkaninfo tool and glslc --version

C++ Build

git clone https://github.com/jadarve/lluvia.git
mkdir lluvia
cd lluvia
cmake -DCMAKE_SYSTEM_NAME=Linux \
      -DCMAKE_CXX_COMPILER=clang++ \
      ..
make -j
make test

Python Wrappers

The Python wrappers are provided to ease the prototyping of new algorithms.

Dependencies

  • Python 2 or 3.
  • Setuptools.
  • Cython 0.28.3 or higher.
  • Numpy.
  • Pytest and imageio for testing.

Build

Assuming you are at lluvia's root directory

cd python
CC=clang python setup.py build
pytest

This will compile the Python package and place it at lluvia/build/python/lib.linux-x86_64-XXX folder according to your architecture and Python version. You can include this folder in the PYTHONPATH environment variable in your ~/.bashrc file as

export PYTHONPATH=XXX/XXX/lluvia/build/python/lib.linux-x86_64-XXX:$PYTHONPATH

Once configured and the terminal is resourced with source ~/.bashrc, you should be able to import the lluvia package without problem.

python

>>> import lluvia as ll
Clone this wiki locally