Commit f96ecce3 authored by Milan Jaros's avatar Milan Jaros

init repo

parent 0ffac5c0

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

This diff is collapsed.
Blender uses the GNU General Public License, which describes the rights
to distribute or change the code.
Please read this file for the full license.
doc/license/GPL-license.txt
Apart from the GNU GPL, Blender is not available under other licenses.
2010, Blender Foundation
foundation@blender.org
This diff is collapsed.
# cyclesphi
# CyclesPhi v2.8
We have modified the kernel of the Blender Cycles rendering engine and then extended its capabilities to support the HPC environment. We call this version the CyclesPhi and it supports following technologies:
* OpenMP
* MPI
* Intel® Xeon Phi™ with Symmetric mode
* Sockets
* And their combinations
## Building and running CyclesPhi v2.80
### Building Blender 2.8 with GCC 6.X/7.X/8.X
* https://wiki.blender.org/index.php/Dev:Doc/Building_Blender
### Building Blender Client 2.80 with Intel Compiler 2017/2018, GCC 6.X/7.X/8.X
* Intel® Parallel Studio XE Cluster Edition (free for students)
* Intel® Manycore Platform Software Stack (Intel® MPSS)
* Microsoft Visual Studio 2017 (Windows), CMake 3.X, GCC 6.X/7.X/8.X (Linux)
## Creating Singularity in Ubuntu
```
sudo apt-get update
sudo snap install docker
sudo apt-get install singularity-container
sudo singularity build --sandbox [debian_blender28] docker://debian:latest
sudo singularity shell --writable [debian_blender28]
apt-get update
apt-get install git build-essential sudo gawk python-dev cmake gcc g++ llvm
mkdir -p /apps_singularity
mkdir -p /apps_singularity/blender-git
cd /apps_singularity/blender-git
git clone https://git.blender.org/blender.git
./blender/build_files/build_environment/install_deps.sh
```
## Building CyclesPhi v2.8
`git clone git@code.it4i.cz:raas/cyclesphi.git`
new build flags:
* blender: WITH_CYCLES_CLIENT=ON/OFF, WITH_CLIENT_FILE=ON/OFF, WITH_CLIENT_MPI=ON/OFF, WITH_CLIENT_MPI_SOCKET=ON/OFF
* client: WITH_KNC_NATIVE=ON/OFF, WITH_CLIENT_FILE=ON/OFF, WITH_CLIENT_FILE_SOCKET=ON/OFF, WITH_CLIENT_MPI=ON/OFF, WITH_CLIENT_MPI_FILE=ON/OFF, WITH_CLIENT_MPI_SOCKET=ON/OFF
new folders:
| client | |
| ----------- | --- |
| api/client_api.h | main header with predefined communication tags and structures |
| cycles | the shared libraries to communication with Blender (root) |
| main | blender_client application |
## Settings
![alt text](https://code.it4i.cz/raas/cyclesphi/raw/master/CyclesPhi2_Settings.png)
## Run CyclesPhi v2.8
* ` mpirun -n 1 singularity exec debian_blender.img ${ROOT_DIR}/install/blender/blender : -n 1 ${ROOT_DIR}/install/blender_client/bin/blender_client `
* ` mpirun -genv LD_LIBRARY_PATH $MIC_LD_LIBRARY_PATH -machine $NODEFILECN -n 1 singularity exec debian_blender.img ${ROOT_DIR}/install/blender/blender : -n $NUMOFCN ${ROOT_DIR}/install/blender_client/bin/blender_client`
# ***** BEGIN GPL LICENSE BLOCK *****
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ***** END GPL LICENSE BLOCK *****
####################################################################################################
#
# This is a build system used by platform maintainers to build library dependencies on
# Windows, macOS and Linux.
#
# For users building Blender, we recommend using the precompiled libraries from lib/ on
# Windows and macOS, and install_deps.sh on Linux.
#
# WINDOWS USAGE:
# Don't call this cmake file yourself, use build_deps.cmd
# build_deps 2013 x64 / build_deps 2013 x86
# build_deps 2015 x64 / build_deps 2015 x86
#
# MAC OS X USAGE:
# Install with homebrew: brew install cmake autoconf automake libtool yasm nasm
# Run "make deps" from main Blender directory
#
# LINUX USAGE:
# Install compiler cmake autoconf automake libtool yasm nasm tcl
# Run "make deps" from main Blender directory
#
####################################################################################################
project("BlenderDependencies")
cmake_minimum_required(VERSION 3.5)
include(ExternalProject)
include(cmake/options.cmake)
include(cmake/versions.cmake)
if(ENABLE_MINGW64)
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
include(cmake/setup_mingw64.cmake)
else()
include(cmake/setup_mingw32.cmake)
endif()
else()
set(mingw_LIBDIR ${LIBDIR})
endif()
include(cmake/zlib.cmake)
include(cmake/blendthumb.cmake)
include(cmake/openal.cmake)
include(cmake/png.cmake)
include(cmake/jpeg.cmake)
include(cmake/boost.cmake)
include(cmake/blosc.cmake)
include(cmake/pthreads.cmake)
include(cmake/ilmbase.cmake)
include(cmake/openexr.cmake)
include(cmake/freetype.cmake)
include(cmake/freeglut.cmake)
include(cmake/glew.cmake)
include(cmake/alembic.cmake)
include(cmake/glfw.cmake)
include(cmake/clew.cmake)
include(cmake/cuew.cmake)
include(cmake/opensubdiv.cmake)
include(cmake/sdl.cmake)
include(cmake/opencollada.cmake)
include(cmake/opencolorio.cmake)
include(cmake/llvm.cmake)
include(cmake/clang.cmake)
if(APPLE)
include(cmake/openmp.cmake)
endif()
include(cmake/openimageio.cmake)
include(cmake/tiff.cmake)
include(cmake/flexbison.cmake)
include(cmake/osl.cmake)
include(cmake/tbb.cmake)
include(cmake/openvdb.cmake)
include(cmake/python.cmake)
include(cmake/python_site_packages.cmake)
include(cmake/numpy.cmake)
include(cmake/pugixml.cmake)
include(cmake/openimagedenoise.cmake)
if(WITH_WEBP)
include(cmake/webp.cmake)
endif()
if(WITH_EMBREE)
include(cmake/embree.cmake)
endif()
if(WIN32)
# HMD branch deps
include(cmake/hidapi.cmake)
# OCIO deps
include(cmake/tinyxml.cmake)
include(cmake/yamlcpp.cmake)
# LCMS is an OCIO dep, but only if you build the apps, leaving it here for convenience
#include(cmake/lcms.cmake)
endif()
if(NOT WIN32 OR ENABLE_MINGW64)
include(cmake/openjpeg.cmake)
if(NOT WIN32 OR BUILD_MODE STREQUAL Release)
if(WIN32)
include(cmake/zlib_mingw.cmake)
endif()
include(cmake/lame.cmake)
include(cmake/ogg.cmake)
include(cmake/vorbis.cmake)
include(cmake/theora.cmake)
include(cmake/vpx.cmake)
include(cmake/x264.cmake)
include(cmake/xvidcore.cmake)
include(cmake/faad.cmake)
include(cmake/ffmpeg.cmake)
include(cmake/fftw.cmake)
include(cmake/sndfile.cmake)
if(WIN32)
include(cmake/iconv.cmake)
endif()
if(UNIX)
include(cmake/flac.cmake)
include(cmake/xml2.cmake)
if(NOT APPLE)
include(cmake/spnav.cmake)
include(cmake/jemalloc.cmake)
endif()
endif()
endif()
endif()
if(UNIX)
include(cmake/bzip2.cmake)
include(cmake/ffi.cmake)
include(cmake/lzma.cmake)
include(cmake/ssl.cmake)