2022-11-23 11:55:40 -05:00
|
|
|
//
|
|
|
|
// Created by brett on 22/11/22.
|
|
|
|
//
|
|
|
|
|
|
|
|
#ifndef STEP_3_MPI_H
|
|
|
|
#define STEP_3_MPI_H
|
|
|
|
|
2022-12-02 23:32:18 -05:00
|
|
|
#include <config.h>
|
2022-11-23 11:55:40 -05:00
|
|
|
|
|
|
|
#ifdef USE_MPI
|
|
|
|
#include <mpi.h>
|
2022-12-02 23:32:18 -05:00
|
|
|
#include <queue>
|
|
|
|
#include <engine/raytracing.h>
|
2022-11-23 11:55:40 -05:00
|
|
|
|
|
|
|
namespace Raytracing {
|
|
|
|
|
|
|
|
extern int numberOfProcesses;
|
|
|
|
extern int currentProcessID;
|
|
|
|
|
|
|
|
class MPI {
|
|
|
|
public:
|
2022-12-02 23:32:18 -05:00
|
|
|
static void init(int argc, char** argv);
|
|
|
|
static std::queue<RaycasterImageBounds> getCurrentImageRegionAssociation(Raycaster& raycaster);
|
2022-11-23 11:55:40 -05:00
|
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif //STEP_3_MPI_H
|