Ticket #10330 (closed: fixed)
Get ThreadPool working under OS X + clang
Reported by: | Steven Hahn | Owned by: | Steven Hahn |
---|---|---|---|
Priority: | major | Milestone: | Release 3.4 |
Component: | Framework | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Pete Peterson |
Description
clang lacks openmp and currently runs everything serially. The ThreadPool class only depends minimally on openmp (determining the number of processors and managing logging from individual threads) and therefore may be easy to get working with clang.
Change History
comment:2 Changed 6 years ago by Steven Hahn
Refs #10330. replaced PARALLEL_CRITICAl with mutexed getters/setters.
Changeset: 32e94a2f7258fc7384d117e9a7909cdc0a270219
comment:3 Changed 6 years ago by Steven Hahn
Refs #10330. make tof limits private. fix typo
Changeset: 0919e6188fcae7911f5faef4496a44380dc7ad86
comment:4 Changed 6 years ago by Steven Hahn
Refs #10330. Cleaned up formatting and switched Mutex to FastMutex
Changeset: d819805ba1990649171478787ab807339083a71f
comment:5 Changed 6 years ago by Steven Hahn
Refs #10330. Fixed comment
Changeset: 18f4fcc87d0f6aabe68184106d02acad6ecbed88
comment:6 Changed 6 years ago by Steven Hahn
Refs #10330. Only use openmp optimized sort when openmp is present
Changeset: c389d085920e258cac96e0bcab03b2b0e9cf56f7
comment:7 Changed 6 years ago by Steven Hahn
Refs #10330. Threadpool respects MaxCores value from ConfigService
Changeset: ff63c4522c6e14c919d29660eed0ab41a35e50ef
comment:8 Changed 6 years ago by Steven Hahn
Refs #10330. Too many getters/setters, using mutex around block
Changeset: df8e9269d13e85585f6dd62f387edbf186541739
comment:9 Changed 6 years ago by Steven Hahn
Refs #10330. Fix merge conflict in LoadEventNexus.cpp
Changeset: b22b3cbdada1a905be2eb2089f93d880fab3a4d5
comment:10 Changed 6 years ago by Steven Hahn
- Status changed from new to verify
- Resolution set to fixed
This is being verified as pull request #47.
comment:11 Changed 6 years ago by anonymous
Can one of the admins verify this patch?
comment:12 Changed 6 years ago by Ross Whitfield
test this please
comment:13 Changed 6 years ago by Stuart Campbell
test this please
comment:14 Changed 6 years ago by Ross Whitfield
retest this please
comment:15 Changed 6 years ago by Stuart Campbell
retest this please
comment:16 Changed 6 years ago by Stuart Campbell
test this please
comment:17 Changed 6 years ago by Steven Hahn
Refs #10330. used scopedlock in place of raw mutex
Changeset: 19e8992fba469576c5f8254718f7bc9b555c291a
comment:18 Changed 6 years ago by Steven Hahn
test this please
comment:19 Changed 6 years ago by Pete Peterson
- Status changed from verify to verifying
- Tester set to Pete Peterson
comment:20 Changed 6 years ago by Pete Peterson
The things that have both PARALLEL_CRITICAL and ThreadPool are:
- LoadEventNexus.cpp (already done)
- MultiThreaded.h
- BinMD.cpp
- ConvertToDiffractionMDWorkspace.cpp
- ResolutionConvolvedCrossSection.cpp
comment:21 Changed 6 years ago by Steven Hahn
Refs #10330. BinMD uses macro instead of threadpool
Changeset: f793d154df72ec78c48bdfac4eefc8d397b61165
comment:22 Changed 6 years ago by Steven Hahn
test this please
comment:23 Changed 6 years ago by Martyn Gigg
Swap PARALLEL_CRITICAL for a Poco::FastMutex.
It will have the same effect but not require the look to run under OpenMP Refs #10330
Changeset: eb513f28a13397a56862905c749fb5912ebf3aa4
comment:24 Changed 6 years ago by Martyn Gigg
Remove OMP from custom macros
They have nothing to do with OpenMP so avoid any ambiguity. Refs #10330
Changeset: 3e07fb0e68c60590a94dda673ae62b864a7e1a8d
comment:25 Changed 6 years ago by Martyn Gigg
test this please
comment:26 Changed 6 years ago by Steven Hahn
- Status changed from verifying to closed
Merge branch 'master' into feature/10330_threadpool_working_with_clang
Full changeset: c4408e0a4e433069de59303a2c0587483acd2887
comment:27 Changed 6 years ago by Steven Hahn
Merge branch 'master' into feature/10330_threadpool_working_with_clang
Full changeset: aa11bcbd7cbb5ed3b406d1954d504908fff3ee56
comment:28 Changed 6 years ago by Steven Hahn
Merge branch 'master' into feature/10330_threadpool_working_with_clang
Full changeset: 2fb161cab75cf1c3d216fb53dde3d534952435f1
comment:29 Changed 6 years ago by Pete Peterson
Merge remote-tracking branch 'origin/feature/10330_threadpool_working_with_clang'
Full changeset: 4f04309cc299d11d73fdf789b39946b60c0a8550
comment:30 Changed 6 years ago by Nick Draper
- Milestone changed from Backlog to Release 3.4
moved to r 3.4 as tickets are closed
comment:31 Changed 5 years ago by Nick Draper
Somehow these slipped through without a resolution. Set to Fixed.
comment:32 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 11172
Refs #10330. ThreadPool should no longer depend on openmp
Changeset: 66365f3ceb4bf6029ffd18134228edd298b93d7d