127 {
128 debug_print(
"# " << __func__ <<
"_gpu: dim=" << dim);
130
131 std::vector<TypeComplex> vector(dim);
132 magma_getvector(dim, sizeof(TypeComplex), dOperator.ptr(), dOperator.LD() + 1, &*vector.begin(),
134
135#pragma omp parallel for
136 for(size_t i = 0; i < dim; ++i) {
137 EXPvalue_h[i] = (double)real(vector[i]);
138 if(isnan(EXPvalue_h[i])) {
139#pragma omp critical
140 std::cerr << "Error(" << __func__ << "): EXPvalue_h[" << i << "] = NaN." << std::endl;
141 }
142 }
143 return info;
144}
void queue(magma_queue_t x)
Definition mytypes.hpp:297
debug_print("# Determining GPU configuration.")
GPUconfig GPUconf(dim3(nBlock, nBlock, 1), dim3(nThread, nThread, 1), 0, queue)
magma_int_t EigenMatrixElements(std::vector< double > &eigenvalue_h, magma_int_t const dim, matrix_gpu< TypeComplex > &dHamiltonian, matrix_gpu< TypeComplex > &dOperator, GPUconfig const &GPUconf)
Definition statmech_gpu.cu:95