Xmipp  v3.23.11-Nereus
Classes | Functions
mpi_classify_FTTRI.cpp File Reference
#include <algorithm>
#include "mpi_classify_FTTRI.h"
#include "core/metadata_extension.h"
#include "core/transformations.h"
#include "core/xmipp_fftw.h"
#include "core/xmipp_image_generic.h"
#include "data/filters.h"
Include dependency graph for mpi_classify_FTTRI.cpp:

Go to the source code of this file.

Classes

struct  SDescendingClusterSort
 

Functions

void receiveListFromRank (std::vector< size_t > &listToKeepIt, int rank)
 
void sendListToRank (std::vector< size_t > &listToSend, int rank)
 

Function Documentation

◆ receiveListFromRank()

void receiveListFromRank ( std::vector< size_t > &  listToKeepIt,
int  rank 
)

Definition at line 335 of file mpi_classify_FTTRI.cpp.

336 {
337  MPI_Status status;
338  Matrix1D<size_t> aux;
339  size_t length;
340  MPI_Recv(&length, 1, MPI_LONG, rank, 0, MPI_COMM_WORLD, &status);
341  aux.resize(length);
342  MPI_Recv(&(VEC_ELEM(aux,0)), length, MPI_LONG, rank, 0, MPI_COMM_WORLD, &status);
344  listToKeepIt.push_back(VEC_ELEM(aux,i));
345 }
#define VEC_ELEM(v, i)
Definition: matrix1d.h:245
#define i
#define FOR_ALL_ELEMENTS_IN_MATRIX1D(v)
Definition: matrix1d.h:72
void resize(size_t Xdim, bool copy=true)
Definition: matrix1d.h:410
__host__ __device__ float length(float2 v)
Definition: ctf.h:38

◆ sendListToRank()

void sendListToRank ( std::vector< size_t > &  listToSend,
int  rank 
)

Definition at line 347 of file mpi_classify_FTTRI.cpp.

348 {
349  Matrix1D<size_t> aux;
350  aux.resizeNoCopy(listToSend.size());
352  VEC_ELEM(aux,i)=listToSend[i];
353  MPI_Send(&(VEC_XSIZE(aux)), 1, MPI_LONG, rank, 0, MPI_COMM_WORLD);
354  MPI_Send(&(VEC_ELEM(aux,0)), VEC_XSIZE(aux), MPI_LONG, rank, 0, MPI_COMM_WORLD);
355 }
#define VEC_ELEM(v, i)
Definition: matrix1d.h:245
#define VEC_XSIZE(m)
Definition: matrix1d.h:77
#define i
#define FOR_ALL_ELEMENTS_IN_MATRIX1D(v)
Definition: matrix1d.h:72
Definition: ctf.h:38
void resizeNoCopy(int Xdim)
Definition: matrix1d.h:458