Parallel numerical verification of the σ_odd problem
October 6, 2018
|
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"
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_type > | mpi::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_type > | mpi::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_type > | mpi::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_type > | mpi::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... | |
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.