Revision 1971 trunk/src/nh99/admodel.h

admodel.h (revision 1971)
58 58
  void cleanup_laplace_stuff(laplace_approximation_calculator *);
59 59

  
60 60
#include <fvar.hpp>
61
#if defined(USE_ADPVM)
62
#  include <adpvm2.h>
63
#endif
64 61

  
65 62
//#include <d4arr.hpp>
66 63
#include <cifstrem.h>
......
2210 2207
 * Description not yet available.
2211 2208
 * \param
2212 2209
 */
2213
class adpvm_slave_args
2214
{
2215
  char ** argv;
2216
  int num_args;
2217
  ivector length_args;
2218
public:
2219
  int counter;
2220
  char * operator () (int);
2221
  operator char ** ();
2222
  void operator -- (void);
2223
  adpvm_slave_args(int num_args,int len_args);
2224
  adpvm_slave_args(int num_args,const ivector& len_args);
2225
  ~adpvm_slave_args();
2226
  int get_num_args(void);
2227
};
2228

  
2229
void strcpy(const adpvm_slave_args& a,const char * s);
2230
class adpvm_manager;
2231

  
2232
/**
2233
 * Description not yet available.
2234
 * \param
2235
 */
2236 2210
  class objective_function_value : public named_dvariable
2237 2211
  {
2238 2212
  public:
......
2805 2779
     matrix_kludge(const param_init_bounded_vector_vector &);
2806 2780
  };
2807 2781

  
2808
class ad_comm;
2809

  
2810
/**
2811
 * Description not yet available.
2812
 * \param
2813
 */
2814
class adpvm_manager
2815
{
2816
  adstring_array slave_names;
2817
  adpvm_slave_args * slave_argv;
2818
public:
2819
  struct pvmhostinfo *hostp;
2820
  int nhost;
2821
  int mode;  // 1 = master 2 = slave
2822
  int copy;
2823
  int slave_number;
2824
  int narch;
2825
  imatrix id;
2826
  int num_slave_processes;
2827
  ivector num_per_host;
2828
  int start_slave_processes(const ad_comm& mp);
2829
  imatrix slave_assignments;
2830
  adtimer tm;
2831
  int timing_flag;
2832
  void master_slave_variable_interface(const ad_comm& mp);
2833
  void master_slave_variable_interface(void);
2834
  void get_variable_values_from_master(void);
2835
  void send_variable_values_to_slaves(void);
2836
  adpvm_manager(int);
2837
  ~adpvm_manager();
2838
      int start_slave_processes_for_random_effects(const ad_comm& mp);
2839
};
2840

  
2841
void send_dmatrix_to_slaves(const dmatrix&  x,ivector& jmin,ivector& jmax);
2842
dvariable receive_f_from_slaves(void);
2843
void send_x_to_slaves(const dvar_vector& x);
2844
void send_dvector_to_slaves(const dvector& x);
2845
void send_dvector_to_master(const dvector& x);
2846
void send_dmatrix_to_master(const dmatrix& x);
2847
dvar_vector get_x_from_master(void);
2848
dvector get_dvector_from_master(void);
2849
dmatrix get_dmatrix_from_master(void);
2850
void send_f_to_master(const dvariable& x);
2851
void send_int_to_master(int i);
2852
dvar_matrix get_f_from_slaves();
2853
d3_array get_dmatrix_from_slaves();
2854
d3_array get_dmatrix_from_slaves(const imatrix& flags);
2855
dmatrix get_dvector_from_slaves();
2856
void admaster_slave_variable_interface(const ad_comm& mp);
2857
void admaster_slave_variable_interface(void);
2858
int get_int_from_master(void);
2859
imatrix get_int_from_slaves(void);
2860
void send_int_to_slaves(int  x);
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff