⚠️ DISCONTINUATION OF PROJECT - This project will no longer be maintained by Intel. This project has been identified as having known security escapes. Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project. Intel no longer accepts patches to this project.
- Introduction
- Installation
- Environment
- Deploying the Application without Mesos
- About Ray Tracing Demonstrator Application
- Acknowledgements
Ray Tracing Demonstration Application is a Python implementation of web-based Ray Traced 3D image rendering application deployed using Docker containers. This demo application is designed to discover and utilize the Intel Xeon CPUs or Xeon Phi coprocessors exposed by Infrastructure manager i.e. Apache Mesos and execute Intel’s Embree Ray Tracing Kernels in order to render 3D images of Ray Tracing models uploaded by users.
Application users can perform both batch and interactive rendering by submitting the jobs through web UI and download the fully rendered images or visualize the real-time rendered images through SSH X11 display forwarding onto their local workstation screen.
This demo application has been implemented and packaged into two docker containers to manage the dependencies and provide lightweight portability for cloud deployment.
# Clone the repository
git clone https://github.com/IntelLabsEurope/raytracing-demonstration-application.git
# Change directory to the landscaper root.
cd raytracing-demonstration-application
# Build ray tracing engine backend container
cd raytracing_engine
docker build -t rtdemo/raytracing_engine:1
# Build ray tracing webservice container for webGUI
cd ray_tracing_web_app
docker build -t rtdemo/raytracing_webserver:1
Supports Linux OS i.e. Ubuntu 16.04 or CentOS 7.0 follow OS installation guide: Ubuntu: https://help.ubuntu.com/lts/installation-guide/index.html CentOS: https://wiki.centos.org/
Install Docker version 1.10.x or above, follow the installation guide: Ubuntu: https://docs.docker.com/install/linux/docker-ce/ubuntu/ Centos: https://docs.docker.com/install/linux/docker-ce/centos/
For interactive real time rendering client system need X11 display capability with SSH tunneling.
For Mesos/Marathon deployment follow the guide to setup mesos cluster from : https://mesosphere.github.io/marathon/docs/
To execute ray tracing demo using Xeon Phi (MIC co-processor) follow the hardware installation and configuration guide.
Container rtdemo/raytracing_engine:1 includes required libraries to run the application assuming MIC co-processors are fully operation in the host machine.
docker run --name rtengine -p 2222:22 rtdemo/raytracing_engine:1
docker run --name webserver -p 3005:3005 -p 9393:9393 rtdemo/raytracing_webserver:1
curl -i -H "Content-Type: application/json" -X POST -d '{"url":"<host-ip:2222>"}' http://host-ip:9393/
Open the webGUI using URL <container_url>:3005 and follow the instruction.
cd deploy_scripts
./deploy_ray_tracing_application.sh
The Ray Tracing Demonstrator Application was developed by Intel Labs Europe and is published under the Apache License, Version 2.0.
Contributions from the community are welcome via Pull Requests.
This is Open Source software released under the Apache 2.0 License. Please see the LICENSE file for full license details. This software has been contributed by CloudLightning, a Horizon 2020 project co-funded by the European Union. https://www.cloudlightning.eu/