Comments (8)
ITK itself has no assembly code.
This is correct, but we do use some cpu intrinsic is a couple places such as here:
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkMathDetail.h
And as @dzenanz the code is written as an optimization for common architectures, and has C/C++ fall back code.
from itk.
I don't think it would take a team of people. ITK is meant to be multi-platform, and the bundled third-party libraries too. Which means that a single person should be able to port it to a reasonably popular platform such as RISC-V. Others are welcome to pitch in with their own opinion.
from itk.
Thank you for contributing an issue! 🙏
Welcome to the ITK community! 🤗👋☀️
We are glad you are here and appreciate your contribution. Please keep in mind our community participation guidelines. 📜
Also, please check existing open issues and consider discussion on the ITK Discourse. 📖
This is an automatic message. Allow for time for the ITK community to be able to read the issue and comment on it.
from itk.
Closing due to lack of follow-up to maintainers' response. Can be re-opened in the future if necessary.
from itk.
I don't think it would take a team of people. ITK is meant to be multi-platform, and the bundled third-party libraries too. Which means that a single person should be able to port it to a reasonably popular platform such as RISC-V. Others are welcome to pitch in with their own opinion.
#4207 (comment)
Thank you very much for your comment. Our tool has collected hundreds of lines of assembly code and counted thousands of Intrinsic functions (with duplicates) for ITK. There are also some structures with #if and architecture-related macros, so the tool evaluates it as moderately complexity to transplant. Is this correct? What other comments do you have?
from itk.
ITK itself has no assembly code. That comes from bundled third-party libraries, such as zlib-ng
. In most of those cases, assembly is only a platform-specific optimization for specific popular platforms, with C or C++ fallback for less known platforms. If I remember correctly, most problems related to architecture porting were compiler differences and missing header inclusions.
from itk.
Thank you for your reply. Can I confirm again? By filtering the third-party libraries you mentioned, we did obtain only a small amount of code for architecture-bound structures such as Intrinsic functions, including the contents in the directory https://github.com/InsightSoftwareConsortium/ ITK/blob/master/Modules/Core/Common/include/itkMathDetail.h. In the end, our tool believed that the porting complexity of ITK was very low. You mentioned that this part of the code is independent of each architecture, so you also think that the workload required for porting is very small, right?
from itk.
Correct.
from itk.
Related Issues (20)
- Detailed CMake options are not marked as advanced. HOT 1
- Defaulting copy constructor, copy assignment, move constructor, and move assignment functions HOT 8
- Inconsistent conversion of VectorImage to numpy HOT 2
- itkTestDriver link error with afl-clang-fast++ compiler HOT 1
- thread race with itkImage::SetPixel() found with thread sanitizer (TSan) HOT 6
- Create weekly builds with python wrapping for ITK and its modules, and submit them to pypi HOT 1
- TubeSpatialObject bounding box includes rounded ends even after they are turned off HOT 5
- Dicom series loaded with incorrect origin and spacing (linked from SimpleITK) HOT 8
- When dicom files converted to nii.gz files, it created a bug of repeated images HOT 2
- Unable to debug hxx files and h files HOT 10
- Wrap SpatialObjectToImageStatisticsCalculator for Python
- itkWarningMacro output streams to Jupyter server console (not the notebook) HOT 4
- About itk 5.4.0 HOT 1
- NumPy 2.0 support HOT 2
- itkParallelSparseFieldLevelSetImageFilterTest read/write race with GetPixel() / SetPixel() HOT 3
- itkNarrowBandImageFilterBaseTest read/write race with GetPixel() / SetPixel() HOT 1
- 3 SLIC tests: read/write race with GetPixel() / SetPixel() HOT 1
- libtbb missing from some ITK 5.4.0 wheels HOT 2
- ITK 5.4.0 GetArrayFromImage returns None HOT 2
- Cannot use RTK in 5.4rc>1 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from itk.