Code Monkey home page Code Monkey logo

Comments (8)

blowekamp avatar blowekamp commented on June 26, 2024 2

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.

dzenanz avatar dzenanz commented on June 26, 2024 1

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.

github-actions avatar github-actions commented on June 26, 2024

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.

jhlegarreta avatar jhlegarreta commented on June 26, 2024

Closing due to lack of follow-up to maintainers' response. Can be re-opened in the future if necessary.

from itk.

wangyuliu avatar wangyuliu commented on June 26, 2024

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.

dzenanz avatar dzenanz commented on June 26, 2024

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.

wangyuliu avatar wangyuliu commented on June 26, 2024

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.

dzenanz avatar dzenanz commented on June 26, 2024

Correct.

from itk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.