In OpenMP 3.0 in Fortran reduction is supported with the special construct, while in C/C++ it is delegated to a programmer. I was wondering if there is a special reason for that, because OpenMP 3.0 came out in 2008, so I thought it was enough time to implement it for C/C++ also. Is there any particular technical reason associated with C/C++, why it is still not supported for C/C++?
相关问题
- multidplyr : assign functions to cluster
- Shared variables in OpenMP
- Parallel for loop over range of array indices in C
- Parallel downloads with Multiprocessing and PySftp
- Summing with OpenMP using C
相关文章
- How to use doMC under Windows or alternative paral
- Parallel while loop in R
- Does gfortran take advantage of DO CONCURRENT?
- Using Parallel Linq Extensions to union two sequen
- MPI and D: Linker Options
- Is there an existing solution for these particular
- SqlConnection closes unexpectedly inside using sta
- On a 64 bit machine, can I safely operate on indiv
As was mentioned in the comments the reason for OpenMP not supporting reduction by default for arrays is that it does not know the size of an array. Fortran supports reduction on arrays by default because it always knows the size of its arrays, no matter if static or dynamically allocated. C/C++ only know the size of static arrays.