On 09/09/2016 10:50 AM, Jakub Jelinek wrote: > On Fri, Sep 09, 2016 at 10:22:19AM -0600, Orion Poplawski wrote: >> On 09/09/2016 08:24 AM, Jerry James wrote: >>> There is no soname bump in this release, but one section of the API >>> changed in a backwards-incompatible way. >> >> If they broke ABI, why wasn't the soname bumped? >> >>> If the suitesparse maintainer does not object, I would also like to >>> fix something I noticed in the build logs. GCC complains about >>> unrecognized pragmas. >>> - #pragma ivdep: I propose to change all instances of this to #pragma GCC ivdep. >>> - #pragma novector: there is no GCC equivalent, so nothing can be done here. >>> - #pragma omp ...: I propose to build CHOLMOD with -fopenmp so these >>> will be defined and used. >> >> I'm concerned about this last change - if I understand it correctly everything >> that link to CHOLMOD will now need to use -fopenmp as well. I'm not >> necessarily opposed to this, but it does have larger ramifications. I know in >> various places libraries will provide both serial and openmp versions. I >> wonder if it's time for Fedora to work out a scheme for this, or perhaps >> simply embrace the multi-core age and accept openmp versions as standard. > > Why would you need to compile all other libraries that use something with > -fopenmp just because you built something with -fopenmp? If it is a shared > library, it will be (have to be) linked with -fopenmp and thus link libgomp > and libpthread, but other libraries can still be serial or use > POSIX threads on their own. If it is a static library, sure, you need to > make sure you link with -fopenmp whatever links that static library in, but > that doesn't mean you need to compile anything else with -fopenmp. > If the library compiled with -fopenmp calls into code from other libraries > from parallel regions, sure, you need to make sure that those functions are > thread safe, but that is about it. > > Jakub Ah, yes, thanks for the clarification. However, suitesparse does ship static libraries, so at least for those I think the openmp versions should be named different. One question I have though is if the application using the shared openmp compiled library is not linked with -fopenmp, will the openmp code in the library get activated or not? -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA, Boulder/CoRA Office FAX: 303-415-9702 3380 Mitchell Lane orion@xxxxxxxx Boulder, CO 80301 http://www.nwra.com -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx