▼ common | |
▼ helper | |
helper.cpp | |
helper.hpp | Some generic helper functions for programs |
▼ sigmaodd | |
divisors.cpp | |
divisors.hpp | Functions in link with divisor notion: sum of divisors, factorization, GCD, coprime, .. |
divisors__inline.hpp | |
dot.cpp | |
dot.hpp | To produce graph DOT file |
harmonic.cpp | |
harmonic.hpp | Function to calculate harmonic number H_n = 1 + 1/2 + 1/3 + 1/4 + ... + 1/n and some variants and upper bounds |
harmonic__inline.hpp | |
helper.cpp | |
helper.hpp | Define type and some generic functions |
helper__inline.hpp | |
pentagonal.cpp | |
pentagonal.hpp | Functions to calculate pentagonal numbers and one useless algorithm that used the Euler formula to calculate the sum of divisors |
pentagonal__inline.hpp | |
primes.cpp | |
primes.hpp | Functions to access to tables of precaculated prime numbers and offsets to iterate on possible prime numbers |
primes__inline.hpp | |
sigmaodd.cpp | |
sigmaodd.hpp | Main functions to deal the sigma_odd problem |
benchmarks.cpp | Some benchmarks for the sigma_odd problem |
benchmarks_big.cpp | Some benchmarks for the sigma_odd problem, only on some "big" numbers |
bounds.cpp | Some upper bounds for the sigma_odd problem |
check_varsigma_odd.cpp | Check odd numbers for the varsigma_odd problem and print bad and perfect square numbers |
table.cpp | Print tables of sigma_odd results by several algorithms |
table_harmonic.cpp | Print same information in the same format than ../../miscellaneous/harmonic/harmonic.py, to compare and check correction |
varsigmaoddprob.cpp | The varsigma_odd problem |
▼ mpi | |
▼ mpi | |
mpi.cpp | |
mpi.hpp | Implementation of the message-passing (MPI) algorithms presented in the report |
mpi__inline.hpp | |
check_gentle_mpi.cpp | Check odd gentle numbers for the varsigma_odd problem and print bad numbers |
▼ opencl | |
▼ opencl | |
helper.cpp | |
helper.hpp | Helper functions for the OpenCL |
opencl.cpp | |
opencl.hpp | Implementation of the OpenCL parallel algorithms presented in the report |
▼ opencl_src | |
sigmaodd.cl | OpenCL implementation to check the sigma_odd problem, mostly like the other implementations but without the advantage of the shortcut in the factorization. If your GPU supports not too old OpenCL version, use the specific function ctz into divide_until_odd() instead the manual computation. Some tips used: "optimizing specifically for Processor Graphics OpenCL* device, ensure all conditionals are evaluated outside of code branches" https://software.intel.com/sites/landingpage/opencl/optimization-guide/Notes_on_Branching_Loops.htm |
check_gentle_opencl.cpp | Check odd gentle numbers for the varsigma_odd problem and print bad numbers |
opencl_infos.cpp | Print infos about OpenCL platforms and devices |
start_opencl.cpp | Run an OpenCL program on some little numbers without printing, only to "start" OpenCL capabilities |
▼ sequential | |
▼ sequential | |
sequential.cpp | |
sequential.hpp | Implementation of the sequential algorithms presented in the report. (Some functions are not use in this part. There are present here to be used by several parallel implementation.) |
sequential__inline.hpp | |
check_gentle_sequential.cpp | Check odd gentle numbers for the varsigma_odd problem and print bad numbers |
check_load.cpp | Check numbers loaded from a file for the varsigma_odd problem and print bad numbers or all, with or without path |
check_multiplicativity.cpp | Varsigma_odd is multiplicative, this program check if there exists some (a, b) not coprimes such that there is equality |
check_square.cpp | Check odd square numbers for the varsigma_odd problem and print some numbers to show progression |
interactive.cpp | Read number from stdin and print factorization, number of divisors, sum of divisors and complete path of the varsigma_odd problem |
print_path.cpp | Check odd gentle numbers for the varsigma_odd problem and print bad numbers |
▼ threads | |
▼ threads | |
threads.cpp | |
threads.hpp | Implementation of the threads parallel algorithms presented in the report |
check_gentle_threads.cpp | Check odd gentle numbers for the varsigma_odd problem and print bad numbers |
doxymain.hpp | Empty header file to define main page of Doxygen documentation |