openmp

    2热度

    1回答

    运行我在C想我的第一个OpenMP程序++,我的代码是: #pragma omp parallel for num_threads(2) for (int i=0;i<16;++i) { printf("Thread %d works with idx %d\n", omp_get_thread_num(), i); } 我使用g ++ -O3 -fopenmp -std =编

    1热度

    1回答

    我想通过使用OpenMP来并行化一个for循环,这个和在Armadillo矩阵上求和。我有以下代码: #include <armadillo> #include <omp.h> int main() { arma::mat A = arma::randu<arma::mat>(1000,700); arma::mat X = arma::zeros(700,700

    0热度

    1回答

    我在使用OpenMP减少(总和)数组(double **)时遇到问题。该代码是: #include <stdlib.h> #include <iostream> #include <omp.h> using namespace std ; double my_function(const double * x) { return 1 ; } int main() { c

    1热度

    1回答

    我想利用OpenMP来使我的任务并行。 我需要将相同的数量减去一个数组的所有元素并将结果写入另一个向量。这两个数组都动态分配为malloc,第一个数组由文件中的值填充。每个元素的类型为uint64_t。 #pragma omp parallel for for (uint64_t i = 0; i < size; ++i) { new_vec[i] = vec[i] - shift;

    1热度

    2回答

    我想问OpenACC或OpenMP是否支持ARM Mali GPU。我使用支持GPU并行化的OpenMP 4.0,但我不确定它是否在GPU上运行。你有什么想法,我该如何测试它? 预先感谢您。

    0热度

    1回答

    我是OpenMP的新手。我想使用并行do循环来解决一系列参数值的僵硬ODE系统。我在下面给出的Fortran中使用以下代码。但是,我不知道是否允许在并行循环内部调用僵硬的求解器(作为子例程)?另外,我想在返回主程序之前将时间序列数据写入子程序中带有诸如“r_value_s__value.txt”等文件名的文件中。任何人都可以帮忙以下是代码和错误。我用gfortran与标志-fopenmp进行编译。

    0热度

    1回答

    我想使用openmp工作共享结构。共享的代码是我更大的openmp代码出现问题的更简单的例子。我将值赋给一个整数矩阵,打印矩阵元素值,将它们初始化为0,并在't'循环中重复它。我计算了赋值(通过并行执行)失败的次数,通过整数'p'。如果代码是正确的,p应该是0,但是它为不同的运行提供了不同的答案,所以工作构造失败了。我必须运行它大约12次,然后才得到第一个错误的p值作为输出(1,2,3等)。 代码

    0热度

    1回答

    我有我正努力并行执行代码。 #include<iostream> #include<omp.h> #include<math.h> #include<cstdlib> #include<iterator> #include<string.h> #include<vector> #include<map> #include<time.h> #include<gsl/gsl_rng.

    1热度

    1回答

    我想用不同的设置在不同的std::threads中运行Fortran90函数,该函数使用许多模块来存储设置和一些常规数据。我看到的问题是,Fortran模块就像单身对象。当我用两个线程调用函数时,它们在同一个模块上工作。有没有办法让模块threadprivate像openmp一样? 例如使用OpenMP与线程专用数据的模块如下: MODULE EXAMPLE USE OMP_LIB

    1热度

    1回答

    在下面的代码中,OpenMP运行时将重新创建线程,还是重新使用先前创建的线程 - 即使用线程池? 有些同事认为它会重新创建线程,因为“#parallel”子句嵌套在for中;我怀疑这一点,并对GDB进行了一些测试,结果表明这不是事实。线程实际上被重用。 #include <cstdio> #include <omp.h> #include <unistd.h> void fun1() {