Пример #1
0
void mmf::OptSO3MMFvMF::init()
{
  std::cout << "mmf::OptSO3MMFvMF::init()" << std::endl;
  std::cout << 3*6*K() << std::endl;
  checkCudaErrors(cudaMalloc((void **)&d_cost, K()*6*sizeof(float)));
  checkCudaErrors(cudaMalloc((void **)&d_mu_, K()*6*3*sizeof(float)));
  checkCudaErrors(cudaMalloc((void **)&d_N_, sizeof(int)));
  loadRGBvaluesForMFaxes();
};
Пример #2
0
void OptSO3::init()
{
  //checkCudaErrors(cudaMalloc((void **)&d_q_, w*h * 3 * sizeof(float)));
  cout<<"allocating CUDA mem for OptSO3 "<<d_q_<<" ("<<w_<<"x"<<h_<<")"<<endl;
  checkCudaErrors(cudaMalloc((void **)&d_z, w_*h_ * sizeof(uint16_t)));
  Matrix<uint16_t,Dynamic,Dynamic> z = 
    Matrix<uint16_t,Dynamic,Dynamic>::Zero(h_,w_);

  checkCudaErrors(cudaMemcpy(d_z, z.data(), w_ * h_ * sizeof(uint16_t),
        cudaMemcpyHostToDevice));

  checkCudaErrors(cudaMalloc((void **)&d_errs_, w_*h_ * sizeof(float)));
  checkCudaErrors(cudaMalloc((void **)&d_cost, 6*sizeof(float)));
  checkCudaErrors(cudaMalloc((void **)&d_J, 3*3*sizeof(float)));
  checkCudaErrors(cudaMalloc((void **)&d_mu_, 6*3*sizeof(float)));
  checkCudaErrors(cudaMalloc((void **)&d_N_, sizeof(int)));
  h_z = (uint16_t *)malloc(w_ *h_ * sizeof(uint16_t));
  h_errs_ = (float *)malloc(w_ *h_ * sizeof(float));

  loadRGBvaluesForMFaxes();
};