Tachyon (current)  Current Main Branch
Data Structures | Macros | Functions
parallel.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "tachyon.h"
#include "macros.h"
#include "parallel.h"
#include "tgafile.h"
#include "util.h"
#include "threads.h"
#include <unistd.h>

Go to the source code of this file.

Data Structures

struct  parhandle
 

Macros

#define TACHYON_INTERNAL   1
 

Functions

static void rt_par_comm_default (parhandle *ph)
 
rt_parhandle rt_par_init_nompi (void)
 
rt_parhandle rt_par_init (int *argc, char ***argv)
 
rt_parhandle rt_par_init_mpi_comm (void *mpicomm)
 
rt_parhandle rt_par_init_mpi_comm_world (void)
 
rt_parhandle rt_par_init_mpi_comm_split (void *mpicomm, int color, int key)
 
int rt_par_set_mpi_comm (rt_parhandle voidhandle, void *mpicomm)
 
int rt_par_set_mpi_comm_world (rt_parhandle voidhandle)
 
int rt_par_set_mpi_comm_split (rt_parhandle voidhandle, void *mpicomm, int color, int key)
 
int rt_par_set_mpi_comm_world_split (rt_parhandle voidhandle, int color, int key)
 
int rt_par_set_mpi_comm_world_split_all (rt_parhandle voidhandle)
 
int rt_par_finish (rt_parhandle voidhandle)
 
int rt_par_rank (rt_parhandle voidhandle)
 
int rt_par_size (rt_parhandle voidhandle)
 
void rt_par_barrier_sync (rt_parhandle voidhandle)
 
int rt_par_getcpuinfo (rt_parhandle voidhandle, nodeinfo **nodes)
 
void * rt_par_allocate_reqbuf (rt_parhandle voidhandle, int count)
 
void rt_par_free_reqbuf (rt_parhandle voidparhandle, rt_parbuf voidhandle)
 
void * rt_par_init_scanlinereceives (rt_parhandle voidhandle, scenedef *scene)
 
void rt_par_start_scanlinereceives (rt_parhandle voidparhandle, rt_parbuf voidhandle)
 
void rt_par_waitscanlines (rt_parhandle voidparhandle, rt_parbuf voidhandle)
 
void rt_par_delete_scanlinereceives (rt_parhandle voidparhandle, rt_parbuf voidhandle)
 
int rt_par_sendrecvscanline_get_totalrows (rt_parhandle voidparhandle, rt_parbuf voidhandle)
 
void rt_par_sendrecvscanline (rt_parhandle voidparhandle, rt_parbuf voidhandle)
 

Macro Definition Documentation

◆ TACHYON_INTERNAL

#define TACHYON_INTERNAL   1

Definition at line 17 of file parallel.c.

Function Documentation

◆ rt_par_allocate_reqbuf()

void* rt_par_allocate_reqbuf ( rt_parhandle  voidhandle,
int  count 
)

Definition at line 394 of file parallel.c.

References parhandle::mpienabled.

Referenced by rt_par_init_scanlinereceives().

◆ rt_par_barrier_sync()

void rt_par_barrier_sync ( rt_parhandle  voidhandle)

Definition at line 319 of file parallel.c.

References parhandle::mpienabled.

Referenced by rendercheck().

◆ rt_par_comm_default()

static void rt_par_comm_default ( parhandle ph)
static

◆ rt_par_delete_scanlinereceives()

void rt_par_delete_scanlinereceives ( rt_parhandle  voidparhandle,
rt_parbuf  voidhandle 
)

Definition at line 538 of file parallel.c.

References parhandle::mpienabled, and rt_par_free_reqbuf().

Referenced by rt_deletescene().

◆ rt_par_finish()

int rt_par_finish ( rt_parhandle  voidhandle)

Definition at line 276 of file parallel.c.

References parhandle::mpi_client, parhandle::mpienabled, and parhandle::owns_comm.

Referenced by rt_finalize().

◆ rt_par_free_reqbuf()

void rt_par_free_reqbuf ( rt_parhandle  voidparhandle,
rt_parbuf  voidhandle 
)

Definition at line 414 of file parallel.c.

References parhandle::mpienabled.

Referenced by rt_par_delete_scanlinereceives().

◆ rt_par_getcpuinfo()

int rt_par_getcpuinfo ( rt_parhandle  voidhandle,
nodeinfo **  nodes 
)

◆ rt_par_init()

rt_parhandle rt_par_init ( int *  argc,
char ***  argv 
)

Definition at line 115 of file parallel.c.

References parhandle::mpi_client, parhandle::owns_comm, and rt_par_comm_default().

Referenced by rt_initialize().

◆ rt_par_init_mpi_comm()

rt_parhandle rt_par_init_mpi_comm ( void *  mpicomm)

◆ rt_par_init_mpi_comm_split()

rt_parhandle rt_par_init_mpi_comm_split ( void *  mpicomm,
int  color,
int  key 
)

◆ rt_par_init_mpi_comm_world()

rt_parhandle rt_par_init_mpi_comm_world ( void  )

Definition at line 151 of file parallel.c.

References rt_par_init_mpi_comm().

Referenced by rt_initialize_mpi_comm_world().

◆ rt_par_init_nompi()

rt_parhandle rt_par_init_nompi ( void  )

Definition at line 107 of file parallel.c.

References parhandle::mpienabled, and rt_par_comm_default().

Referenced by rt_initialize_nompi().

◆ rt_par_init_scanlinereceives()

void* rt_par_init_scanlinereceives ( rt_parhandle  voidhandle,
scenedef *  scene 
)

◆ rt_par_rank()

int rt_par_rank ( rt_parhandle  voidhandle)

◆ rt_par_sendrecvscanline()

void rt_par_sendrecvscanline ( rt_parhandle  voidparhandle,
rt_parbuf  voidhandle 
)

Definition at line 571 of file parallel.c.

References parhandle::commrank, parhandle::commsize, and parhandle::mpienabled.

◆ rt_par_sendrecvscanline_get_totalrows()

int rt_par_sendrecvscanline_get_totalrows ( rt_parhandle  voidparhandle,
rt_parbuf  voidhandle 
)

Definition at line 559 of file parallel.c.

References parhandle::mpienabled.

◆ rt_par_set_mpi_comm()

int rt_par_set_mpi_comm ( rt_parhandle  voidhandle,
void *  mpicomm 
)

◆ rt_par_set_mpi_comm_split()

int rt_par_set_mpi_comm_split ( rt_parhandle  voidhandle,
void *  mpicomm,
int  color,
int  key 
)

◆ rt_par_set_mpi_comm_world()

int rt_par_set_mpi_comm_world ( rt_parhandle  voidhandle)

Definition at line 206 of file parallel.c.

References parhandle::mpienabled, and rt_par_set_mpi_comm().

Referenced by rt_set_mpi_comm_world().

◆ rt_par_set_mpi_comm_world_split()

int rt_par_set_mpi_comm_world_split ( rt_parhandle  voidhandle,
int  color,
int  key 
)

Definition at line 247 of file parallel.c.

References parhandle::mpienabled, and rt_par_set_mpi_comm_split().

Referenced by rt_set_mpi_comm_world_split().

◆ rt_par_set_mpi_comm_world_split_all()

int rt_par_set_mpi_comm_world_split_all ( rt_parhandle  voidhandle)

Definition at line 261 of file parallel.c.

References parhandle::mpienabled, and rt_par_set_mpi_comm_split().

Referenced by rt_set_mpi_comm_world_split_all().

◆ rt_par_size()

int rt_par_size ( rt_parhandle  voidhandle)

Definition at line 314 of file parallel.c.

References parhandle::commsize.

Referenced by rt_numnodes().

◆ rt_par_start_scanlinereceives()

void rt_par_start_scanlinereceives ( rt_parhandle  voidparhandle,
rt_parbuf  voidhandle 
)

Definition at line 510 of file parallel.c.

References parhandle::commrank, and parhandle::mpienabled.

Referenced by renderscene().

◆ rt_par_waitscanlines()

void rt_par_waitscanlines ( rt_parhandle  voidparhandle,
rt_parbuf  voidhandle 
)

Definition at line 525 of file parallel.c.

References parhandle::mpienabled.

Referenced by renderscene().