Commit c90f6426 authored by COULAUD Olivier's avatar COULAUD Olivier

Output improvements + new data distributions

parent 9c6b97c4
This diff is collapsed.
This diff is collapsed.
...@@ -197,19 +197,19 @@ inline void PrintUsedOptions(const std::vector<FParameterNames>& options){ ...@@ -197,19 +197,19 @@ inline void PrintUsedOptions(const std::vector<FParameterNames>& options){
inline void PrintFlags(){ inline void PrintFlags(){
std::cout << "[ScalFMM] This executable has been compiled with:\n"; std::cout << "[ScalFMM] This executable has been compiled with:\n";
std::cout << "× Flags = " << SCALFMMCompileFlags << "\n"; std::cout << " Flags: " << SCALFMMCompileFlags << "\n";
std::cout << "× Libs = " << SCALFMMCompileLibs << "\n"; std::cout << " Libs; " << SCALFMMCompileLibs << "\n";
std::cout.flush(); std::cout << std::endl; std::cout.flush();
} }
inline void PrintDateHost(){ inline void PrintDateHost(){
std::cout << "[ScalFMM] This execution is on:\n"; std::cout << "[ScalFMM] This execution is on:\n";
std::time_t now = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now()); std::time_t now = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
std::cout << "× Date = " << std::ctime(&now) << "\n"; std::cout << " Date: " << std::ctime(&now) ;
char hostname[1024]; char hostname[1024];
gethostname(hostname, 1024); gethostname(hostname, 1024);
std::cout << "× Host = " << hostname << "\n"; std::cout << " Host: " << hostname << "\n";
std::cout.flush(); std::cout << std::endl; std::cout.flush();
} }
inline void PrintGivenParams(int argc, const char* const * const argv){ inline void PrintGivenParams(int argc, const char* const * const argv){
...@@ -217,7 +217,7 @@ inline void PrintGivenParams(int argc, const char* const * const argv){ ...@@ -217,7 +217,7 @@ inline void PrintGivenParams(int argc, const char* const * const argv){
for(int idx = 0 ; idx < argc ; ++idx){ for(int idx = 0 ; idx < argc ; ++idx){
std::cout << " | " << argv[idx]; std::cout << " | " << argv[idx];
} }
std::cout << "\n"; std::cout << " | \n\n";
std::cout.flush(); std::cout.flush();
} }
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
// ==== CMAKE ===== // ==== CMAKE =====
// @FUSE_BLAS // @FUSE_BLAS
// ==== Git =====
// @SCALFMM_PRIVATE
// ================ // ================
#include <iostream> #include <iostream>
...@@ -46,6 +48,8 @@ ...@@ -46,6 +48,8 @@
#endif #endif
#include "Utils/FTemplate.hpp" #include "Utils/FTemplate.hpp"
#include "Utils/FParameterNames.hpp"
/** /**
* This program runs the FMM Algorithm with the Chebyshev kernel and compares the results with a direct computation. * This program runs the FMM Algorithm with the Chebyshev kernel and compares the results with a direct computation.
...@@ -83,15 +87,13 @@ struct TempMainStruct{ ...@@ -83,15 +87,13 @@ struct TempMainStruct{
template <const unsigned int ORDER> template <const unsigned int ORDER>
static void Run(int argc, char* argv[]) static void Run(int argc, char* argv[])
{ {
const std::string defaultFile(/*SCALFMMDataPath+*/"../Data/test20k.fma" ); //
const std::string defaultFile(/*SCALFMMDataPath+*/"../Data/UTest/unitCubeRef20kDouble.bfma" );
const std::string filename = FParameters::getStr(argc,argv,"-f", defaultFile.c_str()); const std::string filename = FParameters::getStr(argc,argv,"-f", defaultFile.c_str());
const unsigned int TreeHeight = FParameters::getValue(argc, argv, "-depth", 5); const unsigned int TreeHeight = FParameters::getValue(argc, argv, "-depth", 5);
const unsigned int SubTreeHeight = FParameters::getValue(argc, argv, "-subdepth", 2); const unsigned int SubTreeHeight = FParameters::getValue(argc, argv, "-subdepth", 2);
const unsigned int NbThreads = FParameters::getValue(argc, argv, "-t", 1); const unsigned int NbThreads = FParameters::getValue(argc, argv, "-t", 1);
if(FParameters::existParameter(argc, argv, "-h")||FParameters::existParameter(argc, argv, "-help")){
usage() ;
exit(EXIT_SUCCESS);
}
#ifdef _OPENMP #ifdef _OPENMP
omp_set_num_threads(NbThreads); omp_set_num_threads(NbThreads);
std::cout << "\n>> Using " << omp_get_max_threads() << " threads.\n" << std::endl; std::cout << "\n>> Using " << omp_get_max_threads() << " threads.\n" << std::endl;
...@@ -260,7 +262,12 @@ static void Run(int argc, char* argv[]) ...@@ -260,7 +262,12 @@ static void Run(int argc, char* argv[])
int main(int argc, char** argv){ int main(int argc, char** argv){
// const std::string outputFile("accuracyChebyschev.txt") ; // const std::string outputFile("accuracyChebyschev.txt") ;
// std::ofstream output(outputFile,std::fstream::out | std::fstream::app); // std::ofstream output(outputFile,std::fstream::out | std::fstream::app);
FHelpDescribeAndExit(argc, argv,
"Driver for Chebyshev interpolation kernel (1/r kernel).",
FParameterDefinitions::InputFile, FParameterDefinitions::OctreeHeight,
FParameterDefinitions::OctreeSubHeight, FParameterDefinitions::InputFile,
FParameterDefinitions::NbThreads);
//
const unsigned int order = FParameters::getValue(argc, argv, "-order", 5); const unsigned int order = FParameters::getValue(argc, argv, "-order", 5);
std::cout << "Order given by user is : " << order << "\n"; std::cout << "Order given by user is : " << order << "\n";
......
...@@ -44,7 +44,7 @@ for l in `seq 1 $MaxCore `; ...@@ -44,7 +44,7 @@ for l in `seq 1 $MaxCore `;
do do
OUTPUT=${FILEPERF}-${HOST}-${l}.out OUTPUT=${FILEPERF}-${HOST}-${l}.out
echo "Running per = " ${l} echo "Running per = " ${l}
$EXEC -f $FILE -depth 7 -subdepth 4 -t $l > $OUTPUT $EXEC --datehost --flags -show-params -f $FILE -depth 7 -subdepth 4 -t $l > $OUTPUT
# #
TIME=`grep "@Algorithm" $OUTPUT | awk '{print $4}'` TIME=`grep "@Algorithm" $OUTPUT | awk '{print $4}'`
Energy=`grep "Energy" $OUTPUT | awk '{print $2}'` Energy=`grep "Energy" $OUTPUT | awk '{print $2}'`
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment