PIPS-NLP
global_var.h
Go to the documentation of this file.
1 #ifndef PAR_MACRO_H_
2 #define PAR_MACRO_H_
3 
4 #include <string>
5 #include <sstream>
6 #include <iostream>
7 #include <mpi.h>
9 
10 extern int gmyid;
11 extern int gnprocs;
12 extern int gmyid_node;
13 extern int gnprocs_node;
14 extern MPI_Comm comm_node;
15 extern double *gwindow;
16 extern int *gipiv;
17 extern MPI_Win gwin;
18 extern MPI_Win gwin_ipiv;
19 extern int giterNum; //the global variable hold current iteration number
20 #ifdef NLPTIMING
21 extern PerfMetrics gprof;
22 #endif
23 
24 #ifdef VERBOSE
25 #define ENABLE_VERBOSE 1
26 #else
27 #define ENABLE_VERBOSE 0
28 #endif
29 
30 #define IF_VERBOSE_DO(X) do { \
31  if (ENABLE_VERBOSE) { X } \
32 } while (0)
33 
34 #define MESSAGE(x) do { \
35  if (ENABLE_VERBOSE) { std::cout<<"["<<gmyid<<"/"<<gnprocs<<"] "<< x << std::endl; } \
36 } while (0)
37 
38 
39 template <class T>
40 void print_array(const std::string& msg, T* data, size_t len)
41 {
42  std::ostringstream oss;
43  for(size_t i=0;i<len;i++){
44  oss<<data[i]<<", ";
45  }
46  MESSAGE(""<<msg<<" - "<<"Array [ "<<oss.str()<<" ]");
47 }
48 
49 #define PRINT_ARRAY(M, DATA, LEN) do { \
50  if (ENABLE_VERBOSE) { std::ostringstream oss; \
51  for(size_t i=0;i<LEN;i++){ \
52  oss<<DATA[i]<<", "; \
53  } \
54  std::cout<<"["<<gmyid<<"/"<<gnprocs<<"] "<< M << "Array [ " <<oss.str() <<" ]"<< std::endl; \
55  } \
56 } while (0)
57 
58 extern void convert_to_csr(int m, int n, int* rowidx, int* colptr, double* elts, int nz, double* ret);
59 
60 
61 #endif
MPI_Win gwin_ipiv
Definition: global_var.cpp:18
int n
Definition: pipsipmNlp_C_callbacks.cpp:42
#define MESSAGE(x)
Definition: global_var.h:34
int gmyid_node
Definition: global_var.cpp:12
int gnprocs
Definition: global_var.cpp:10
int * gipiv
Definition: global_var.cpp:16
double * gwindow
Definition: global_var.cpp:15
void print_array(const std::string &msg, T *data, size_t len)
Definition: global_var.h:40
int gmyid
Definition: global_var.cpp:9
MPI_Comm comm_node
Definition: global_var.cpp:14
MPI_Win gwin
Definition: global_var.cpp:17
int gnprocs_node
Definition: global_var.cpp:13
int m
Definition: pipsipmNlp_C_callbacks.cpp:45
void convert_to_csr(int m, int n, int *rowidx, int *colptr, double *elts, int nz, double *ret)
Definition: global_var.cpp:23
int giterNum
Definition: global_var.cpp:11