Skip to content

extensive update to TBB functionality to extend/fix#171

Open
paciorek wants to merge 25 commits into
mainfrom
tbb
Open

extensive update to TBB functionality to extend/fix#171
paciorek wants to merge 25 commits into
mainfrom
tbb

Conversation

@paciorek
Copy link
Copy Markdown
Contributor

This includes a large body of work to flesh out TBB functionality.

It does not include the conditional inclusion of TBB headers only when TBB is used (PR #140).

It does not handle the issue of nested calls to setting the number of TBB threads (issue #152 ).

I think my plan is to address the unresolved issue in PR #140 , then merge this in, then work on issue #152 .

paciorek and others added 25 commits March 11, 2026 10:18
- handling user-defined reduction functions
- error-trapping non-user defined invalid reduction functions
- setting default init values
- fixing up handling of inf and negative init values
- allowing a user to specify the reduction fun as char or actual function.
…ts are contained in private, and packaged names can be managed (#125)

* initial redesign of nClass to hold a private Cpublic_obj and use it by active bindings

* Add basic nClass_uncompiled tests

* major work towards redesigning nClass generation and hierarchy

* fix C++ handling (Exporter and generic interface set) of new nClass structure

* close to finished with updated class naming issues within packages

* updated tests after new packingNames and nCompile naming schemes

* update predefineds. fix nimbleModels. fix package class generation with R fields.

* fix StridedTensorMap operator() for single index

* fix cpp_tests crash

* test trials

* give each case in test-argumentPassing unique package naming

* Fix test-tensorCreation for old style
Also handle missing shareVars or copyVars args.
Also handle use of external object in parallel_for.
parallel_loop_body cases a unique ID.
This addresses problems with different parfors in different methods of a class.
- allow multiple parallel_reduce operations
- handle local method as the reduction operator.
- use without assignment or in return()
- use in return()
- multiple calls to parallel_reduce at same level of AST.
Start on setting number of threads.
Finalize parallel_reduce tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants