   	out_matrix[index] = in_vec[v_index];
   }
 }
+
+
 
 template <typename Dtype>
 void InnerProductLayer<Dtype>::Forward_gpu(const vector<Blob<Dtype>*>& bottom,

}

template <typename Dtype>
__global__ void BroadcastCopy(const int total, const int vec_len,
	const Dtype* in_vec, Dtype* out_matrix) {
  int index = threadIdx.x + blockIdx.x * blockDim.x;
  if (index < total) {

  	beta = 1.;
  	const int count = (*top)[0]->count();
  	// we pre-copy the bias to the results, and then call gemm.
  	BroadcastRow<<<CAFFEINE_GET_BLOCKS(count), CAFFEINE_CUDA_NUM_THREADS>>>(
  			count, N_, bias, top_data);
  }
  switch(sizeof(Dtype)) {
