Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[<vtk>] <Add tbb feature to support vtkSMPTools tbb backend> #43284

Open
LCM1999 opened this issue Jan 15, 2025 · 3 comments · May be fixed by #43328
Open

[<vtk>] <Add tbb feature to support vtkSMPTools tbb backend> #43284

LCM1999 opened this issue Jan 15, 2025 · 3 comments · May be fixed by #43328
Assignees
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist

Comments

@LCM1999
Copy link

LCM1999 commented Jan 15, 2025

Is your feature request related to a problem? Please describe.

For now, vtk package which installed by vcpkg always use Sequential as backend, however, when compiling and installing vtk locally, you can choose tbb or openmp as the backend of vtkSMPTools to obtain better performance. I think vcpkg should support this feature.

Proposed solution

Add one or two features for VTK, so that user can choose which SMP backend to use.

Describe alternatives you've considered

The only alternative I can find is compile VTK locally, but this will increase the difficulty of environmental consistency in teamwork, so we don't want give up vcpkg.

Additional context

No response

@LCM1999 LCM1999 added the category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist label Jan 15, 2025
@jimwang118
Copy link
Contributor

When I compile vtkSMPTools locally with -DVTK_SMP_IMPLEMENTATION_TYPE=TBB and -DVTK_SMP_ENABLE_TBB=ON options, a compilation error will occur. Is there no problem with your local compilation?

vtkSMPToolsAPI.cxx.obj : error LNK2005: "public: __cdecl vtk::detail::smp::vtkSMPToolsImpl<2>::vtkSMPToolsImpl<2>(void)" (??0?$vtkSMPToolsImpl@$01@smp@detail@vtk@@QEAA@XZ) already defined in vtkSMPToolsImpl.cxx.obj
   Creating library lib\vtkCommonCore-9.3d.lib and object lib\vtkCommonCore-9.3d.exp
bin\vtkCommonCore-9.3d.dll : fatal error LNK1169: one or more multiply defined symbols found

@LCM1999
Copy link
Author

LCM1999 commented Jan 17, 2025

Have you set the TBB_DIR path for CMake? I have just tried complie vtk9.3 locally with cmake-gui:

Image

@jimwang118
Copy link
Contributor

I found a solution, I'll submit a PR to fix it.

@jimwang118 jimwang118 linked a pull request Jan 17, 2025 that will close this issue
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants