Loading [MathJax]/extensions/tex2jax.js
Parallel numerical verification of the σ_odd problem  October 6, 2018
All Classes Namespaces Files Functions Variables Typedefs Macros
Classes | Namespaces | Typedefs | Functions
mpi.hpp File Reference

Implementation of the message-passing (MPI) algorithms presented in the report. More...

#include "../../common/sigmaodd/helper.hpp"
#include "../../common/sigmaodd/primes.hpp"
#include "mpi__inline.hpp"
Include dependency graph for mpi.hpp:

Go to the source code of this file.

Classes

struct  mpi::first_last_bad_bad_struct
 Structure for first_n, last_n, bad_first_n and bad_last_n values. More...
 
struct  mpi::n_bad_bad_struct
 Structure for n, first_n and last_n values. More...
 

Namespaces

 mpi
 

Typedefs

using mpi::nat_type = sigmaodd::nat_type
 
using mpi::prime_type = sigmaodd::prime_type
 
typedef unsigned int mpi::rank_type
 Type of MPI rank. More...
 
typedef struct mpi::first_last_bad_bad_struct mpi::first_last_bad_bad_type
 Structure for first_n, last_n, bad_first_n and bad_last_n values. More...
 
typedef struct mpi::n_bad_bad_struct mpi::n_bad_bad_type
 Structure for n, first_n and last_n values. More...
 

Functions

bool mpi::is_finished_from (rank_type from_rank)
 Return true iff the process send an empty finished message. More...
 
constexpr bool mpi::is_master (rank_type rank)
 Return true iff rank correspond to the master instance. More...
 
std::set< nat_typempi::mpi_check_gentle_varsigma_odd__dynamic (nat_type first_n, nat_type last_n, const std::set< nat_type > &previous_bad_table=std::set< nat_type >(), bool print_bad=true, unsigned int range_size=20000, unsigned int master_range_size=200)
 Check in the order all odd gentle numbers between first_n and last_n, and if print_bad then print all bad numbers between first_n and last_n (included). The consequence of the result is that: if (all numbers < first_n respect the conjecture) and (all perfect squares < last_n respect the conjecture) and (all bad numbers < last_n respect the conjecture) then all numbers < last_n respect the conjecture. More...
 
std::set< nat_typempi::mpi_check_gentle_varsigma_odd__one_by_one (nat_type first_n, nat_type last_n, const std::set< nat_type > &previous_bad_table, bool print_bad)
 
unsigned int mpi::mpi_nb_process ()
 Return the number of process. More...
 
std::string mpi::mpi_processor_name ()
 Return the processor name. More...
 
unsigned int mpi::mpi_rank ()
 Return the rank of this process. More...
 
bool mpi::mpi_slave_wait_compute_n ()
 Computation of one n by a slave, for the mpi_check_gentle_varsigma_odd__one_by_one() master function. More...
 
bool mpi::mpi_slave_wait_compute_range ()
 Computation of one range by a slave, for the mpi_check_gentle_varsigma_odd__dynamic() master function. More...
 
void mpi::print_mpi_versions ()
 Print the Open MPI version and the library version. More...
 
void mpi::send_bad_table_to (const std::set< nat_type > &bad_table, rank_type to_rank)
 Send bad values to a process. More...
 
void mpi::send_bool_to_master (bool b)
 Send a boolean value to the master. More...
 
void mpi::send_finished_to_master ()
 Send a finished empty message to the master. More...
 
void mpi::send_first_last_bad_bad_to (nat_type first_n, nat_type last_n, nat_type bad_first_n, nat_type bad_last_n, rank_type to_rank)
 Send first_n, last_n, bad_first and bad_last_n to a process. More...
 
void mpi::send_n_bad_bad_to (nat_type n, nat_type first_n, nat_type last_n, rank_type to_rank)
 Send n, first_n and last_n to a process. More...
 
void mpi::send_n_to (nat_type n, rank_type to_rank)
 Send a value to a process. More...
 
void mpi::send_range_to (nat_type first_n, nat_type last_n, rank_type to_rank)
 Send a range (first_n, last_n) to a process. More...
 
void mpi::send_size_to (unsigned int size, rank_type to_rank)
 Send a size to a process. More...
 
std::set< nat_typempi::wait_bad_table_from (rank_type from_rank)
 Wait and receive bad values from a process. More...
 
bool mpi::wait_bool_from (rank_type from_rank)
 Wait and receive a boolean value from a process. More...
 
void mpi::wait_finished_from (rank_type from_rank)
 Wait and received a finished empty message from a process. More...
 
first_last_bad_bad_type mpi::wait_first_last_bad_bad_from_master ()
 Wait and receive values first_n, last_n and bad_last_n from the master. More...
 
n_bad_bad_type mpi::wait_n_bad_bad_from_master ()
 Wait and receive values n, first_n and last_n from the master. More...
 
nat_type mpi::wait_n_from_master ()
 Wait and receive a value from the master. More...
 
std::pair< nat_type, nat_typempi::wait_range_from_master ()
 Wait and receive a range (first_n, last_n) from the master. More...
 
unsigned int mpi::wait_size_from (rank_type from_rank)
 Wait and receive a size from a process. More...
 

Detailed Description

Implementation of the message-passing (MPI) algorithms presented in the report.

(January 17, 2018) GPLv3 — Copyright (C) 2017, 2018 Olivier Pirson http://www.opimedia.be/

Definition in file mpi.hpp.