InterfaceTest_simple.cpp File Reference

This c++ driver illustrates the c++ interface to ButterflyPACK's Fortran subroutines for compression a kernel ridge regression (KRR) matrix, with the entry-evaluation-based APIs. This file works on the double data type. This file is a simplified version of InterfaceTest.cpp which provides more examples. More...

#include <iostream>
#include <math.h>
#include <fstream>
#include <time.h>
#include <stdlib.h>
#include <sstream>
#include <string>
#include <iomanip>
#include <memory>
#include <pthread.h>
#include <cmath>
#include <cassert>
#include <random>
#include <vector>
#include <atomic>
#include <mpi.h>
#include <cstring>
#include <getopt.h>
#include <unistd.h>
#include "dC_BPACK_wrapper.h"
Include dependency graph for InterfaceTest_simple.cpp:

Classes

class  C_QuantApp
 

Functions

void Cblacs_exit (int)
 
double dist2 (double *x, double *y, int d)
 
double dot_product (double *v, double *u, int d)
 
double Gauss_kernel (double *x, double *y, int d, double h)
 
double K07_kernel (double *x, double *y, int d)
 
double K08_kernel (double *x, double *y, int d, double h)
 
double K09_kernel (double *x, double *y, int d, double h)
 
double K10_kernel (double *x, double *y, int d, double h)
 
void C_FuncZmn (int *m, int *n, double *val, C2Fptr quant)
 
void C_FuncDistmn (int *m, int *n, double *val, C2Fptr quant)
 
void C_FuncNearFar (int *m, int *n, int *val, C2Fptr quant)
 
void C_FuncZmnBlock (int *Ninter, int *Nallrows, int *Nallcols, int64_t *Nalldat_loc, int *allrows, int *allcols, double *alldat_loc, int *rowidx, int *colidx, int *pgidx, int *Npmap, int *pmaps, C2Fptr quant)
 
template<typename T >
vector< T > write_from_file (string filename)
 
void set_option_from_command_line (int argc, const char *const *cargv, F2Cptr option0)
 
int main (int argc, char *argv[])
 

Detailed Description

This c++ driver illustrates the c++ interface to ButterflyPACK's Fortran subroutines for compression a kernel ridge regression (KRR) matrix, with the entry-evaluation-based APIs. This file works on the double data type. This file is a simplified version of InterfaceTest.cpp which provides more examples.

Function Documentation

◆ C_FuncDistmn()

void C_FuncDistmn ( int *  m,
int *  n,
double *  val,
C2Fptr  quant 
)
inline

◆ C_FuncNearFar()

void C_FuncNearFar ( int *  m,
int *  n,
int *  val,
C2Fptr  quant 
)
inline

◆ C_FuncZmn()

void C_FuncZmn ( int *  m,
int *  n,
double *  val,
C2Fptr  quant 
)
inline
Here is the call graph for this function:

◆ C_FuncZmnBlock()

void C_FuncZmnBlock ( int *  Ninter,
int *  Nallrows,
int *  Nallcols,
int64_t *  Nalldat_loc,
int *  allrows,
int *  allcols,
double *  alldat_loc,
int *  rowidx,
int *  colidx,
int *  pgidx,
int *  Npmap,
int *  pmaps,
C2Fptr  quant 
)
inline

◆ Cblacs_exit()

void Cblacs_exit ( int  )

◆ dist2()

double dist2 ( double *  x,
double *  y,
int  d 
)
inline

◆ dot_product()

double dot_product ( double *  v,
double *  u,
int  d 
)
inline

◆ Gauss_kernel()

double Gauss_kernel ( double *  x,
double *  y,
int  d,
double  h 
)
inline
Here is the call graph for this function:

◆ K07_kernel()

double K07_kernel ( double *  x,
double *  y,
int  d 
)
inline
Here is the call graph for this function:

◆ K08_kernel()

double K08_kernel ( double *  x,
double *  y,
int  d,
double  h 
)
inline
Here is the call graph for this function:

◆ K09_kernel()

double K09_kernel ( double *  x,
double *  y,
int  d,
double  h 
)
inline
Here is the call graph for this function:

◆ K10_kernel()

double K10_kernel ( double *  x,
double *  y,
int  d,
double  h 
)
inline
Here is the call graph for this function:

◆ main()

int main ( int  argc,
char *  argv[] 
)
Here is the call graph for this function:

◆ set_option_from_command_line()

void set_option_from_command_line ( int  argc,
const char *const *  cargv,
F2Cptr  option0 
)
Here is the call graph for this function:

◆ write_from_file()

template<typename T >
vector<T> write_from_file ( string  filename)