Commit 96097da0 authored by Milan Jaros's avatar Milan Jaros

fix client, fix README.md

parent f55c6913
......@@ -26,13 +26,13 @@ To make CyclesPhi effectively utilize HPC resources it has been modified to supp
* And their combinations
---
# Building and running CyclesPhi v2.81
# Building and running CyclesPhi v2.8
---
### 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.81 with Intel Compiler 2017/2018, GCC 6.X/7.X/8.X
### Building Blender Client 2.8 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)
* CMake 3.X, GCC 6.X/7.X/8.X (Linux)
......@@ -58,20 +58,25 @@ chmod +x install_deps.sh
exit
sudo singularity build debian_blender.img \[debian_blender\]/
scp debian_blender.img salomon.it4i.cz:~/.
```
### Building CyclesPhi on Cluster
```
ssh salomon.it4i.cz
mkdir ~/project-cyclesphi
cp $HOME/debian_blender.img ~/project-cyclesphi/.
mv ~/debian_blender.img ~/project-cyclesphi/.
cd ~/project-cyclesphi/.
wget https://code.it4i.cz/raas/cyclesphi/raw/master/client/scripts/download_blender.sh
chmod +x download_blender.sh
chmod +x download_blender.sh
qsub -A OPEN-0-0 -I -q qprod -l select=1:accelerator=True
cd ~/project-cyclesphi/.
./download_blender.sh
```
# Setting up CyclesPhi Client in Blender
![alt text](https://code.it4i.cz/raas/cyclesphi/raw/master/CyclesPhi2_Settings.png)
# Running CyclesPhi
......
......@@ -82,7 +82,7 @@
#define SIZE_UCHAR4 (sizeof(unsigned char)*4)
//#define CLIENT_USE_LINE_LOAD_BALANCING
//#define CLIENT_USE_LOAD_BALANCING_SAMPLES
#define CLIENT_USE_LOAD_BALANCING_SAMPLES
//#define MPI_CACHE_FILE2
//#define MPI_CACHE_FILE3
//#define MPI_REMOTE_TEX
......
This diff is collapsed.
......@@ -95,7 +95,8 @@ void mpi_const_copy(client_kernel_struct &data) {
void mpi_tex_copy(client_kernel_struct &data) {
g_mem_usage+=data.client_tex_copy_data.mem_size/(1024.0*1024.0*1024.0);
//printf("CLIENT %d: mpi_tex_copy: %s, %zu, %f GB\n", data.world_rank, data.client_tex_copy_data.name, data.client_tex_copy_data.mem_size, g_mem_usage);
mpiData->ptr_map[data.client_tex_copy_data.mem] = omp_mem_alloc(DEVICE_ID, NULL, data.client_tex_copy_data.mem_size);
mpiData->ptr_map[data.client_tex_copy_data.mem] = omp_mem_alloc(
DEVICE_ID, data.client_tex_copy_data.name, NULL, data.client_tex_copy_data.mem_size);
mpi_bcast((char*)mpiData->ptr_map[data.client_tex_copy_data.mem], data.client_tex_copy_data.mem_size);
......@@ -124,7 +125,8 @@ void mpi_free_kg(client_kernel_struct &data) {
void mpi_mem_alloc(client_kernel_struct &data) {
g_mem_usage+=data.client_mem_data.memSize/(1024.0*1024.0*1024.0);
//printf("CLIENT %d: mpi_mem_alloc: %zu, %f GB\n", data.world_rank, data.client_mem_data.memSize, g_mem_usage);
mpiData->ptr_map[data.client_mem_data.mem] = omp_mem_alloc(DEVICE_ID, NULL, data.client_mem_data.memSize);
mpiData->ptr_map[data.client_mem_data.mem] = omp_mem_alloc(
DEVICE_ID, data.client_mem_data.name, NULL, data.client_mem_data.memSize);
}
void mpi_mem_alloc_sub_ptr(client_kernel_struct &data) {
......@@ -415,6 +417,7 @@ void mpi_path_trace_buffer_offline(client_kernel_struct &data) {
#endif
}
# if 0
void mpi_path_trace_buffer_offline2(client_kernel_struct &data) {
size_t offsetSample = 0;
size_t sizeSample = sizeof (int);
......@@ -536,6 +539,8 @@ void mpi_path_trace_buffer_offline2(client_kernel_struct &data) {
MPI_Reduce((char*) buffer, (char*)&buffer_temp[0], tile_w * tile_h * pass_stride_sizeof / sizeof (float), MPI_FLOAT, MPI_SUM, 0, MPI_COMM_WORLD);
//memcpy((char*)buffer, (char*)&buffer_temp[0], tile_w * tile_h * pass_stride_sizeof);
}
# endif
#else
std::vector<char> mpi_pixel;
......
......@@ -45,7 +45,7 @@ if(WITH_NVPIPE)
endif()
add_definitions(-DBLENDER_CLIENT)
add_definitions(-DBLENDER_CLIENT_STATISTICS)
#add_definitions(-DBLENDER_CLIENT_STATISTICS)
include_directories(${INC})
......
......@@ -186,7 +186,7 @@ void client_free_kg(client_kernel_struct *_client_data) {
void client_mem_alloc(const char *name, DEVICE_PTR mem, size_t memSize, DEVICE_PTR host_ptr, client_kernel_struct *_client_data) {
#if defined(WITH_CLIENT_MPI) || defined(WITH_CLIENT_MPI_SOCKET)
mpi_mem_alloc(name, mem, memSize, host_ptr, _client_data);
mpi_mem_alloc(mem, memSize, host_ptr, _client_data);
#endif
#ifdef WITH_CLIENT_FILE
......@@ -457,7 +457,7 @@ void client_tex_info(char *mem,
size_t data_depth)
{
#if defined(WITH_CLIENT_MPI) || defined(WITH_CLIENT_MPI_SOCKET)
mpi_tex_info(info, mem, size);
mpi_tex_info(NULL, mem, size);
#endif
#ifdef WITH_CLIENT_FILE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment