You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have build the VTK wheel on aarch64 architecture but not sure how to test it. Can you please help me here?
is there anything else required from my side.
@odidev This is exciting and thanks for sharing updates and thanks for your patience 🙏
As @mathstuf mentioned, we do not have the infrastructure to test here but we shouldn't let that stop us from having wheels for aarch64. I am sure we could find community members willing to help support this.
Now, would you like to document the steps used to build the VTK wheel ?
Also, since the process to build the wheel has been completely revamped (see here), would be great to try these.
We don't do aarch64 testing of the codebase, so without that, I'm hesitant to make official releases of builds. Is there some way to mark uploads to PyPI as experimental or the like (not per-version, but per artifact)?
@mathstuf - thanks for this. I work with @odidev on the AArch64 enablement. I think your asking about marking the aarch64 wheel as experimental in PyPI - something that I don't believe is supported.
We may be able to help by adding some automatic testing. As a simple end-to-end case, I guess running something like https://vtk.org/Wiki/VTK/Examples/Python/Cylinder with xvfb and comparing the result to a known good rendering would be a start. Would that provide sufficient confidence to move forward with an AArch64 wheel?
I'd like a full test suite run on aarch64 (with Python enaled). This would be a normal (non-wheel) build of VTK since our wheel build configuration doesn't work with the test suite (due to the library relocations). You should be able to submit a run to our CDash with ctest -D Experimental once VTK is configured. You can also run the steps individually, but the CTest docs are better for that. A CTest script may also be more reproducible if it isn't just a simple run.
Hi @mathstuf, I tried running tests but it looks like the tests are not getting picked up. Please find below steps which I followed to run the tests. Also, can you please point it out if I am missing anything here?
The combination of "invalid command" and it not existing in the help sort of leads the user away from concluding that the issue is a missing package rather than an issue in setup.py itself. Replacing invalid command with "wheel module missing" (or mentioning wheel must be installed in the guide) might clear this up?
Welcome to my world of "list of problems with distutils / setuptools" :) . I can add a note to the VTK docs, but for --help-commands, upstream would need to resolve commands available through whatever mechanism wheel makes its stuff available in the first place.
Thanks a lot @finsberg for providing a whl file. I was able to build VTK python wheel following the instructions provided in the thread, however I'm getting much bigger .so files (see screenshot, left is my whl and right is yours).
I'm curious on how you got something way lighter: did you compile with different instructions?
(In terms of installation and execution in Python, both whl files seem to be working fine)
Awesome, thanks a lot @mathstuf and @finsberg , indeed it was the debug info (RelWithDebInfo) that was making the libs quite big => using the Release without debug info was the right instruction:
Thanks @finsberg!
Does anyone have any thoughts as to how we can get this vtk's radar / get a discussion going with the VTK folks?
Linux ARM machines are will start growing in market share, so it would be good for VTK to have a plan here.
We have the hardware (we "pitched in" when CMake needed new aarch64 hardware to "claim" future space); we don't know if it is enough to support VTK. We also do not have resources to put towards setting it up and maintaining it as no paying customers are asking for linux-aarch64 wheels.
Activity
jcfr commentedon Apr 2, 2020
Thanks for the report, this is related to the discussion here:
A first step would be to try to build and test VTK on aarch64. Did you have any success doing so ?
odidev commentedon Apr 3, 2020
@jcfr , I have build the VTK wheel on aarch64 architecture but not sure how to test it. Can you please help me here?
odidev commentedon Apr 22, 2020
@jcfr is there anything else required from my side.
thewtex commentedon Apr 24, 2020
@odidev if you built the wheel, you can just run
python -m pip install /path/to/vtk-xyz.whlto install it.@martinken @tjcorona @mathstuf
mathstuf commentedon Apr 27, 2020
I doubt we're going to be able to provide aarch64 wheels as long as we lack hardware for testing and building them regularly.
jcfr commentedon Apr 27, 2020
@odidev This is exciting and thanks for sharing updates and thanks for your patience 🙏
As @mathstuf mentioned, we do not have the infrastructure to test here but we shouldn't let that stop us from having wheels for aarch64. I am sure we could find community members willing to help support this.
Now, would you like to document the steps used to build the VTK wheel ?
Also, since the process to build the wheel has been completely revamped (see here), would be great to try these.
odidev commentedon Apr 28, 2020
@jcfr, I explored the link
(https://gitlab.kitware.com/vtk/vtk/-/blob/master/Documentation/dev/build.md#python-wheels) suggested by you. Please find below steps to build VTK aarch64 wheel.
Steps to build aarch64 wheel
apt install -y build-essential mesa-common-dev mesa-utils freeglut3-dev ninja-build git cmake
git clone --recursive https://gitlab.kitware.com/vtk/vtk.git
mkdir build
cd build
cmake -GNinja -DVTK_WHEEL_BUILD=ON -DVTK_WRAP_PYTHON=ON ../vtk/
ninja
python setup.py bdist_wheel
Installation/import logs
odidev commentedon Jun 1, 2020
@jcfr, can you please let me know if I can help with anything else.
mathstuf commentedon Jun 1, 2020
We don't do aarch64 testing of the codebase, so without that, I'm hesitant to make official releases of builds. Is there some way to mark uploads to PyPI as experimental or the like (not per-version, but per artifact)?
rhenwood-arm commentedon Jun 8, 2020
@mathstuf - thanks for this. I work with @odidev on the AArch64 enablement. I think your asking about marking the aarch64 wheel as experimental in PyPI - something that I don't believe is supported.
We may be able to help by adding some automatic testing. As a simple end-to-end case, I guess running something like https://vtk.org/Wiki/VTK/Examples/Python/Cylinder with xvfb and comparing the result to a known good rendering would be a start. Would that provide sufficient confidence to move forward with an AArch64 wheel?
mathstuf commentedon Jun 8, 2020
I'd like a full test suite run on aarch64 (with Python enaled). This would be a normal (non-wheel) build of VTK since our wheel build configuration doesn't work with the test suite (due to the library relocations). You should be able to submit a run to our CDash with
ctest -D Experimentalonce VTK is configured. You can also run the steps individually, but the CTest docs are better for that. A CTest script may also be more reproducible if it isn't just a simple run.rhenwood-arm commentedon Jun 8, 2020
Thanks for this @mathstuf, I'll work with @odidev to look into this.
odidev commentedon Jun 9, 2020
Hi @mathstuf, I tried running tests but it looks like the tests are not getting picked up. Please find below steps which I followed to run the tests. Also, can you please point it out if I am missing anything here?
Steps to build vtk
apt install -y build-essential mesa-common-dev mesa-utils freeglut3-dev ninja-build git cmakegit clone --recursive https://gitlab.kitware.com/vtk/vtk.gitmkdir buildcd buildcmake -GNinja -DVTK_WRAP_PYTHON=ON ../vtk/ # Non-wheel, python enabled buildninjaRunning ctest
22 remaining items
mathstuf commentedon Oct 6, 2021
Welcome to my world of "list of problems with distutils / setuptools" :) . I can add a note to the VTK docs, but for
--help-commands, upstream would need to resolve commands available through whatever mechanismwheelmakes its stuff available in the first place.finsberg commentedon Jun 28, 2023
I added a binary wheel for python3.10 here: https://github.com/finsberg/vtk-aarch64/releases/tag/vtk-9.2.6-cp310, which you can install with
theweaklink commentedon Dec 31, 2023
Thanks a lot @finsberg for providing a whl file. I was able to build VTK python wheel following the instructions provided in the thread, however I'm getting much bigger .so files (see screenshot, left is my whl and right is yours).
I'm curious on how you got something way lighter: did you compile with different instructions?
(In terms of installation and execution in Python, both whl files seem to be working fine)
mathstuf commentedon Dec 31, 2023
That looks like a
Debugbuild rather thanRelease.finsberg commentedon Dec 31, 2023
@thewtex I think I just followed the recipe here: https://docs.vtk.org/en/latest/advanced/build_python_wheels.html and I belive I also set
CMAKE_BUILD_TYPEtoRelWithDebInfo. You can also find more info her: https://github.com/Kitware/VTK/blob/master/.gitlab/os-linux.ymlmathstuf commentedon Dec 31, 2023
Ah, the debug info could definitely be a problem here. Do things look better if you run
stripon the libraries?theweaklink commentedon Jan 1, 2024
Awesome, thanks a lot @mathstuf and @finsberg , indeed it was the debug info (
RelWithDebInfo) that was making the libs quite big => using theReleasewithout debug info was the right instruction:Thanks again and happy new year!
finsberg commentedon Jun 7, 2024
New wheel for python3.12 is available here: https://github.com/finsberg/vtk-aarch64/releases/tag/vtk-9.3.0-cp312
olly-writes-code commentedon Jan 15, 2025
Thanks @finsberg!
Does anyone have any thoughts as to how we can get this vtk's radar / get a discussion going with the VTK folks?
Linux ARM machines are will start growing in market share, so it would be good for VTK to have a plan here.
jorgensd commentedon Jan 15, 2025
I guess they are waiting for: github/roadmap#970
olly-writes-code commentedon Jan 15, 2025
I'm not sure that's the blocker here. VTK has moved to Gitlab and it seems like their CI is not tied to GH actions
olly-writes-code commentedon Jan 15, 2025
This seems like a good place to follow the issue. Maybe I'm wrong about the CI and somehow they use GH machines for Gitlab CI.
https://gitlab.kitware.com/vtk/vtk/-/issues/18772
jorgensd commentedon Jan 15, 2025
Sure. I guess it will relate to: https://gitlab.com/groups/gitlab-org/-/epics/8442
mathstuf commentedon Jan 15, 2025
We have the hardware (we "pitched in" when CMake needed new aarch64 hardware to "claim" future space); we don't know if it is enough to support VTK. We also do not have resources to put towards setting it up and maintaining it as no paying customers are asking for linux-aarch64 wheels.
johnnynunez commentedon Feb 4, 2025
why this PR? https://gitlab.kitware.com/vtk/vtk/-/merge_requests/11895
Github: https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/
windows arm q2 2025: github/roadmap#1098
ubuntu 20.04 is deprecated from today
Devices: Digits, jetson thor, cuda arm laptops are coming
Raspberry pi, qualcomm etc...