Welcome to pveclib Discussions! #185
munroesj52
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
👋 Welcome!
We’re using Discussions as a place to connect with other members of our community. We hope that you:
To get started, comment below with an introduction of yourself and tell us about what you do with this community.
I started working on the ideas behind PVECLIB starting in 2016/17 in am attempt to understand the issues I was seeing with customers and developers efforts to develope code for and exploit PowerISA. This coincided with my personal transition to retirement. Basically the ecosystem is really complicated as the PowerISA evolves. Especially the Vector Facilities that add major new features (facilities and instructions) with each processor generation.
The challenge is to get the tools and knowledge of these features into the hands (and heads) of application and library developers. Certainly new ISA features drive updates to the toolchains (Assembler, linker, loader, runtime libraries, and several compilers). This takes some time (multiple years) and must be coordinated across multitudinous software projects and OS distribution releases.
Also not all instructions that are useful (in some specific context) can be automatically generated by the compiler (within the constraints of the language) . These are intended (specifically requested) to optimize specific use cases. in applications and libraries. The Toolchain does its best to deliverer these early in the form od Vector Intrinsics (currently documented in the Power Vector Intrinsic Programming Reference). Again this takes time muliple releases) and tends to lack good usage exampled appropriate for the average application or library developer..
Finally there is that larger context of the environment that application and library developers contend with. Like requirements to simultaneous support multiple; hardware releases, distributions and distro versions, compilers and compiler versions.
The fun never ends!
Now that we understand that is a problem (or problems), what can we do address at least some of these problems. The compilers and distribute are huge efforts that run on their own inertia and timelines. But there a few things we can to fill in some of the larger potholes. See: https://github.com/open-power-sdk/pveclib/wiki
Beta Was this translation helpful? Give feedback.
All reactions