Category

Blog

Kompute Releases v0.8.0 to Continue Advancing Cross-Vendor GPU Acceleration

By Blog

500 Github Star Milestone, Edge-Device Support, CNN Implementations, Variable Types, MatMul Benchmarks, and Binary Optimisations

Kompute, an LF AI & Data Foundation Sandbox-Stage Project advancing the cross-vendor GPU acceleration ecosystem, has released version 0.8.0 which includes major milestones including reaching 500 github stars, edge-device extensions, convolutional neural network (CNN) implementations, variable data types and more. Kompute is a general purpose GPU compute framework for AI & Machine Learning applications which works across cross-vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). The Kompute framework provides a flexible interface that can be adopted by mobile, desktop, cloud and edge applications to enable highly optimizable GPU acceleration. The framework includes a high-level Python interface for advanced data processing use-cases, as well as an extensible low-level C++ interface that provides high performance device-specific optimizations.

The newly released 0.8.0 version of Kompute introduces major improvements to the general cross-platform compatibility and GPU acceleration features of Kompute. The high level summary of the highlights are as follows:

  • Milestone of 500 Github repo stars
  • Broader edge-device support with mesa-driver integration
  • Convolutional Neural Network (CNN) Implementations
  • Support for variable types across GPU parameters
  • Semi-optimized Matrix Multiplication Kernel Benchmark implementation
  • Significant reduction on 3rd party dependencies (15mb->~1mb binary)

If you are interested to learn more, you can join us at our next “GPU Acceleration” monthly call on September 28th at 9:00 EST / 13:00 UTC / 20:00 CST where we will be covering Kompute updates as well as general cross-vendor GPU Acceleration topics.

We will also be giving a talk at CppCon2021 this year, so if you are around please drop by our talk and say hello, or feel free to ask any questions during the Q&A.

The Kompute repo reaches 500 Github stars

We are thrilled to see the fantastic growth and adoption of the Kompute Project, as well as the great discourse that it has continuously encouraged to further the cross-vendor GPU acceleration ecosystem. Today we celebrate the Kompute Project reaching 500 stars in Github, which is a major milestone following from Kompute’s one-year birthday last month. Github stars can become a shallow metric if that’s the only thing that is being used to calculate a project’s growth, so we will be keen to identify other metrics that allow us to ensure our community grows steadily, including number of contributors, contributions, community interactions in our discord, etc.

Broader edge-device support with mesa-driver integration

As part of our 0.8.0 release we have significantly extended edge-device support to hundreds of devices by supporting mesa-drivers as first-class components thanks to this great external contribution. We have added an official tutorial that showcases the integration with the mesa Broadcom drivers running in a Raspberry Pi, which can be adopted across other edge devices for GPU acceleration implementations.

This is a fantastic addition as it showcases the flexibility of the capabilities of Kompute. The example required advanced GPU computing concepts to address some short-comings of limited hardware, such as the need to expose means to add GPU extensions explicitly, as well as adding flexible memory barriers operations that can be used to ensure consistency in more limited devices with non-coherent GPU memory.

Convolutional Neural Network (CNN) Implementations

We have introduced a high level example that provides an implementation of a convolutional neural network (CNN) that enables for image resolution upscaling, which means that images can improve their quality through purely the machine learning implementation. This is another fantastic external contribution from the great Kompute community.

This example showcases how to import a pre-trained deep learning model. We create the Kompute code that loads model weights, then we create Kompute logic that performs inference on image, and we run model against image to perform resolution upscale on any image.

Small imageVGG7 InferenceLarger Image

Support for variable types across GPU parameters

By default, the simplified interfaces of Kompute will expose the ability to deal with float scalar types, which may be enough to get through the basic conceptual examples. However, as you develop real-world applications, more specialized types may be required for the different components that Kompute exposes to perform computation in the GPUs.

In version 0.8.0 of Kompute we introduce richer support for variable types across the Python and C++ interface that allow users to set different scalar values, and in some cases user-defined structs for their Kompute resources. More specifically, we have added support for multiple scalar types for the Kompute Tensor resource, multiple scalar type & arbitrary user-defined struct support for Kompute Push Constants, and multiple scalar types for Specialization Constants.

Semi-optimized Matrix Multiplication Kernel Benchmark example

In this release of Kompute we have received another great external contribution of an example that starts off with a naive implementation of a matrix multiplication algorithm, and then shows how to iteratively improve performance with high-level benchmarking techniques . This highlights how increasing matrix size can also increase the performance in GFLOPS in the specific optimizations introduced. The initial experimentation was based on the SGEMM in WebGL2-compute article on the public library ibiblio.org, and explores some initial improvements with basic and slightly more optimized tiling. This is still a work we would be interested to explore further and would be great to receive further contributions.

Significant reduction on 3rd party dependencies

The Kompute project has now been updated to reduce the 3rd party dependencies. This release removes some dependencies in favour of modularised functional utilities that are only used in the testing framework. This results in a staggering optimization of the binary, reducing the size by an order of magnitude, bringing the library binary from 15MB down to 1MB. This also simplifies cross-platform compatibility, as it requires less dependencies to build in different architectures.

The main dependency that has been removed is GLSLang, which was being used to provide a single function to perform online shader compilation primarily for the tests and simple examples. Instead we have now moved to allowing users to bring in their preferred method of performing compilation of shaders to SPIR-V, whilst still providing guidance on how Kompute users would be able to do it through simple methods.

Join the Kompute Project

The core objective of the Kompute project is to contribute to and further the GPU computing ecosystem across both, scientific and industry applications, through cross-vendor graphics card tooling and capabilities. We have seen very positive reception and adoption of Kompute across various development communities, including advanced data processing use-cases in mobile applications, game development engines, edge device and cloud, and we would love to engage with the broader community to hear thoughts on suggestions and improvements.

The Kompute Project invites you to adopt or upgrade to version 0.8.0 and welcomes feedback. For details on the additional features and improvements, please refer to the release notes here

As mentioned previously, if you are interested to learn more, you can join us at our next GPU Acceleration call on September 28th at 9:00 EST / 13:00 UTC / 20:00 CST where we will be covering Kompute updates as well as general cross-vendor GPU Acceleration topics.

Kompute Key Links

LF AI & Data Resources

Access other resources on LF AI & Data’s GitHub or Wiki

LF AI & Data Foundation Announces DataOps Committee

By Blog

The LF AI & Data Foundation, which supports and builds a sustainable ecosystem for open source AI and Data software, today announced the launch of the DataOps Committee. The committee consists of a diverse group of organizations from various industries and individuals interested in collaborating on a set of practices that aims to deliver trusted and business-ready data to accelerate journeys to build AI powered applications. This committee was formally approved by the Technical Advisory Council and the Governing Board.

Dr. Ibrahim Haddad, Executive Director of LF AI & Data, said: “We are very excited to expand our efforts in LF AI & Data into DataOps. Collaborating and advancing innovation in DataOps will have a direct impact on improving the quality and reducing the cycle time of data analytics. Our goal is to leverage the mindshare of the broader AI and Data community to further innovate in this area and create new collaboration opportunities for LF AI & Data hosted projects. The DataOps committee will be an open and collaborative space for anyone interested to join the effort and be part of our growing community”. 

Based on the initial discussion among the founders of the committee, the initial focus of the committee for the first 6-8 months will evolve around:

  1. Identify Projects and tools in DataOps Space and get the community exposed to how these DataOps tools work together and where to use in the pipeline (with pros and cons).
  2. Exposure to industrial approaches for dataset metadata management, governance, and automation of flow.
  3. Understand usage of DataOps tools and practices through industrial use cases (by domain). Identify gaps in the use case implementation and discuss solutions to bridge the gap.
  4. Exposure to tools and technologies that can help control the usage of data and securely access it across the enterprise in a cloud native platform.
  5. Provide an opportunity for committee members to perform research in the DataOps space.
  6. Educate the community about new developments in the DataOps space.

Over time, we expect the focus areas to shift into a deeper technical focus with an emphasis on filling in the gaps in terms of the implementation of needed functionalities and launching technical efforts to provide bridging across various projects. As this is a member driven effort, we extend you the invitation to participate in the committee, contribute to the efforts, and influence it.

Saishruthi Swaminathan, Technical Lead & Data Scientist, IBM, said: “We are very happy to experience the support from the LF AI & Data membership for this effort that lead to the formalization of the DataOps Committee. We’re excited to be leading this effort with the goal to generate and support open standards around toolchain interoperability for DataOps”. 

Learn more about the DataOps Committee here. To participate in the committee be sure to subscribe to the mailing list to stay up to date on activities and also subscribe to the group calendar for upcoming meetings.

For a full list of LF AI & Data Foundation Committees, visit our website. For questions about participating in the LF AI & Data Foundation, please email us at info@lfaidata.foundation.

DataOps Committee Key Links

LF AI & Data Resources

Egeria Webinar: Visualising a Metadata Ecosystem, 13th September 2021

By Blog
Guest Author: David Radley

IMPORTANT UPDATE: The date for this Webinar has changed. It is now schedule for Monday, September 13, 2021 at 15:00 UTC.

Update your calendars! The popular monthly Egeria Webinar program is restarting on September the 13th, 2021. Full program details are here: https://wiki.lfaidata.foundation/display/EG/Egeria+Webinar+program.

The next session is on the 13th of September 2021 at 15:00 UTC and is about visualising a metadata ecosystem. The session will cover:

  • An overview of the open types in Egeria and how they facilitate integration between sources of metadata without having one central metadata repository. 
  • Understanding the types is important knowledge when developing connectors and new APIs like OMAS’s.
  • The call will look at the concepts exposed in a higher level API – to compare them with the low level open types.
  • The session will show the visualisations Egeria has around the types so you can explore how they relate to each other.

Example visualisation

At the end of the session, 

  • You should have a good grasp of the Egeria open types and why they are so important and how to explore them visually. 
  • You want to explore the benefits of connecting your metadata sources into Egeria by mapping your types to the open types. 

Be sure to put the other Webinar dates in your calendar

Egeria Key Links

LF AI & Data Resources

Kompute Joins LF AI & Data as New Sandbox Project

By Blog

LF AI & Data Foundation—the organization building an ecosystem to sustain open source innovation in artificial intelligence (AI) and data open source projects, today is announcing Kompute as its latest Sandbox Project.

Released and open sourced by The Institute for Ethical AI & Machine Learning, Kompute is a general purpose GPU compute framework for AI & Machine Learning applications which works across cross-vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). The Kompute framework provides a flexible interface that can be adopted by mobile, desktop, cloud and edge applications to enable for highly optimizable GPU acceleration. The framework includes a high-level Python interface that enables for advanced data processing use-cases, as well as an extensible low-level C++ interface that provides for high performance device-specific optimizations.

The core objective of the Kompute project is to contribute to and further the GPU computing ecosystem across both, scientific and industry applications, through cross-vendor graphics card tooling and capabilities. We have seen very positive reception and adoption of Kompute across various development communities, including advanced data processing use-cases in mobile applications, game development engines, edge device and cloud, and we look forward for Kompute to serve as a platform to empower the discourse on topics related to GPU acceleration for cross-industry applications.

Alejandro Saucedo, Chief Scientist at The Institute for Ethical AI & Machine Learning, said: “Many advanced machine learning and deep learning paradigms fit incredibly well to the parallel architecture that GPU computing offers, and exciting advancements in the open source ecosystem such as the Kompute Project are enabling developers to take advantage of GPU acceleration in cross-vendor mobile, desktop, cloud and edge applications. We believe the Linux Foundation is the right platform to encourage and empower the cross-industry discourse required to further the GPU acceleration ecosystem. We are proud for Kompute to become a LF AI & Data project, and we look forward to an ongoing collaboration.”

LF AI & Data supports projects via a wide range of services, and the first step is joining as an Incubation Project. Learn more about Kompute on their GitHub and join the Kompute-Announce Mailing List and Kompute-Technical-Discuss Mailing List. We also encourage you to subscribe to the Monthly Kompute GPU Acceleration Sessions, to join the community and stay connected on the latest updates – subscription instructions available here.

A warm welcome to Kompute! We look forward to the project’s continued growth and success as part of the LF AI & Data Foundation. To learn about how to host an open source project with us, visit the LF AI & Data website.

Kompute Key Links

LF AI & Data Resources

 

TonY Joins LF AI & Data as New Incubation Project

By Blog

LF AI & Data Foundation—the organization building an ecosystem to sustain open source innovation in artificial intelligence (AI) and data open source projects, today is announcing TonY as its latest Incubation Project. 

TonY is a framework to natively run deep learning jobs on Apache Hadoop. It currently supports TensorFlow, PyTorch, MXNet and Horovod. TonY enables running either single node or distributed training as a Hadoop application. This native connector, together with other TonY features, aims to run machine learning jobs reliably and flexibly. For a quick overview of TonY and comparisons to other frameworks, please see this presentation.

Dr. Ibrahim Haddad, Executive Director of LF AI & Data, said: “We’re excited to welcome the TonY project in LF AI & Data. The project enables data scientists with a way to manage the challenges associated with scaling up training; fitting well into our portfolio of projects and technologies. We look forward to working with the community to grow the project’s footprint and to create new collaboration opportunities for it with our members and other hosted projects.” 

For the past few years, TonY has been empowering all of LinkedIn’s production deep learning jobs to create more relevant content for the company’s 774+ million members. Externally, TonY has also been adopted by companies like iQiyi, and integrated with Google Cloud. Horovod, another LF AI & Data project, was also supported in TonY recently.

Keqiu Hu, technical lead for the TonY project, said: “LinkedIn built TonY to make distributed deep learning training easy on Apache Hadoop for AI model developers. We are thrilled to contribute TonY to the community as the LF AI & Data Foundation’s newest project. The collaboration will further scale the impact of TonY in the open source community, and accelerate the advancement of AI in the industry”.

LF AI & Data supports projects via a wide range of services, and the first step is joining as an Incubation Project.  LF AI & Data will support the neutral open governance for the project to help foster its growth. Learn more about TonY on their GitHub and be sure to subscribe to the TonY-Announce and TonY-Technical-Discuss mail lists to join the community and stay connected on the latest updates. 

A warm welcome to TonY! We look forward to the project’s continued growth and success as part of the LF AI & Data Foundation. To learn about how to host an open source project with us, visit the LF AI & Data website.

TonY Key Links

LF AI & Data Resources

Connect with LF AI & Data at Open Source Summit + Embedded Linux Conference + OSPOCon 2021

By Blog

The LF AI & Data Foundation is thrilled to be a part of the Open Source Summit + Embedded Linux Conference + OSPOCon 2021 event! This hybrid event, both in-person and virtual, is slated to take place September 27-30, 2021 in Seattle, Washington. 

Register for OSS+ELC+OSPOCon 2021 to attend. 

There are a variety of ways to participate at this conference. First, you’re welcome to join us in person! Make sure you check out all the health and safety guidelines for in-person attendance here. You can also attend virtually, with similar formats as events hosted in the past year. Information about the virtual program can be found in the FAQs linked here. We’ll also be hosting an AI & Data Track within the program. We hope to see you there!

 Attend Sessions in the AI & Data Track 

The LF AI & Data Foundation will be hosting an AI & Data Track at OSS+ELC+OSPOCon2021. Join these sessions to learn the latest updates from our projects and hear from leaders in the AI & Data industry.  

Chat with us in the Onsite or Virtual Exhibit Hall!

Our booth will be in the Bronze Hall at the event, please stop by and say hello! If you can’t make it in person, come chat with us in the virtual exhibit hall! Various LF AI & Data community members will be around during booth hours to answer any questions you have. You’ll also be able to get more information on how to get involved with the LF AI & Data Foundation.

The LF AI & Data Foundation mission is to build and support an open AI community, and drive open source innovation in AI and data by enabling collaboration and the creation of new opportunities for all the members of the community. 

Want to get involved with the LF AI Foundation? Be sure to subscribe to our mailing lists to join the community and stay connected on the latest updates. 

LF AI & Data Resources

Acumos Elpis Release Now Available

By Blog

Acumos, an LF AI Foundation Graduated Project, has announced their software release, codenamed Elpis. We’re thrilled to see another great release from the community! 

Acumos is a platform and open source framework that makes it easy to build, share, and deploy AI apps. Acumos standardizes the infrastructure stack and components required to run an out-of-the-box general AI environment. This frees data scientists and model trainers to focus on their core competencies and accelerates innovation.

Major highlights of the Elpis release include:

  • Automation of Model Deployment with your own CI tool:
    • Elpis Release is a first step towards a fully automated process from model on-boarding to model deployment. It is now possible to connect Acumos with your own CI tool (Jenkins) in order to trigger Jenkins jobs that could be used in the future to deploy your Acumos model
  • On-boarding:
    • Add “deploy” parameter in on-boarding API
    • Allow the use of a SWAGGER interface for R models
  • Micro-service:
    • Speed up the Micro-service creation of R models thanks to enhancement of on-boarding-base-r image
    • Use of Json and swagger URI with R models
    • Fix MS generation failure after on-boarding
    • Create deployment backend
  • Portal-Marketplace:
    • Take into account “deploy” parameter in synchronous and asynchronous microservice generation
    • Create a new Admin page to fulfill Jenkins’s server parameters
  • Onboarding Python Client:
    • Add deploy parameter
    • Fix type issue with python 3.9
  • Onboarding R Client:
    • Add deploy parameter
    • Allow the use of Json and Swagger UI
  • Onboarding Java Client:
    • Add deploy parameter
    • Update old dependencies
  • Onboarding C++ Client:
    • Add deploy parameter
  • Onboarding ONNX Client:
    • Add deploy parameter
    • Model bundle dump without use of configuration file
    • License profile addition when onboarding by CLI

The Acumos Project invites you to adopt or upgrade to the Elpis release and welcomes feedback. For details on the additional features and improvements, please refer to the release notes here and confluence page here. Want to get involved with Acumos? Be sure to join the Acumos-Announce and Acumos-Technical-Discuss mailing lists to join the community and stay connected on the latest updates. 

Congratulations to the Acumos team! We look forward to continued growth and success as part of the LF AI & Data Foundation. To learn about how to host an open source project with the Foundation, visit the LF AI & Data website.

Acumos Key Links

LF AI & Data Resources

LF AI & Data Graduated Project Angel Releases Version 3.2.0

By Blog

Angel, an LF AI & Data Foundation Graduated-Stage Project, has released version 3.2.0. Angel is a machine learning framework originally developed by Tencent as the first open-source AI project of the company. The Angel project joined the LF AI & Data Foundation in August 2018 as an Incubation-Stage project, and in December 2019 became a Graduated-Stage project with the support of the Foundation and its technical community. 

With full-stack facilities for AI pipeline, from feature engineering to model training and inference, Angel has provided an end-to-end and easy-to-use platform for engineers and scientists. Particularly, it devotes effort to the high dimension sparse model training and graph neural network learning at production scale. In the previous version, 3.1, Angel introduced graph learning for the first time and afforded a set of well optimized algorithms already adopted in a variety of applications. For release 3.2.0, Angel enhances the core of graph learning with numerous new functionalities and optimizations.

Flexible Architecture for Extension

In release 3.2.0, Angel has designed three layers in the graph learning framework for general purpose which include computing engine, operators, and models. This architecture decouples the high-level algorithms from the low-level graph data (vertices and edges) manipulations; thus, it has good extension for both engineering enhancement and new model development. As an example, in the operator layer, there are a group of primitive abstract operator interfaces such as init(), get(), walk(), and sample() that developers can easily implement in their customized operators and extend the model.

Hybrid Running Mode for Best Performance

There are two main kinds of running models, Parameter Server (PS) and MPI for large scale graph learning algorithms. They have different volumes of communication messages during learning for different models like graph embedding and neural networks. It is hard to accommodate all models with good performance by using just one running mode. In version 3.2.0, support of a hybrid running mode is created by combining PS and MPI communication methods which leverages the advantages of both. This hybrid mode can significantly speed up the training process of graph traversal algorithms.

Adaptive Model Data Partitioning

For the big graph model which cannot be loaded in a single machine, we usually need to partition the model data into several parts across several machines. Range Partitioning and Hash Partitioning are two commonly used methods, where the former takes less memory but may cause load skew among machines; and the latter can have good load balance with much more memory. In this release, Angel can automatically and adaptively use range and hash partitioning according to the model, which is a good tradeoff between memory cost and load balancing.

Support for Heterogeneous Graph Learning

The structure of a graph is usually heterogeneous with multiple types of edge between each pair of vertices and multiple types of vertex attributes. This complexity raises challenges to the graph learning framework in terms of storage and computing. To support the heterogeneous graph, Angel optimizes the data structure of graph storage for fast I/O and provides an interface to users for customized PS function implementation. Such that those heterogeneous graph learning algorithms can be easily executed on the Angel framework even with high dimension sparse attributes on each graph vertex. Based on these optimizations, Angel has implemented several built-in heterogeneous models including HAN, GAT, GraphSAGE, IGMC Prediction, and Bipartite-GraphSAGE.

Performance Enhancement

Learning on a huge graph with about 100 billion edges is very challenging in stability and performance. Angel has deeply enhanced this kind of huge graph problem that is increasingly common in real applications such as social network mining or shopping recommendations. With this enhancement, the K-core and Common Friends model training can be three times faster than before with additional reduction of memory cost by 30%.

Try It!

The Angel Project invites you to adopt or upgrade to version 3.2.0 and welcomes feedback. For details on the additional features and improvements, please refer to the release notes here. Want to get involved with Angel? Be sure to join the Angel-Announce and Angel-Technical-Discuss mailing lists to join the community and stay connected on the latest updates. 

Congratulations to the Angel team! We look forward to continued growth and success as part of the LF AI & Data Foundation. To learn about how to host an open source project with the Foundation, visit the LF AI & Data website.

Angel Key Links

LF AI & Data Resources

OpenLineage Joins LF AI & Data as New Sandbox Project

By Blog

LF AI & Data Foundation—the organization building an ecosystem to sustain open source innovation in artificial intelligence (AI) and data open source projects, today is announcing OpenLineage as its latest Sandbox Project. 

Released and open sourced by Datakin, OpenLineage is an open standard for metadata and lineage collection designed to instrument jobs as they are running. It defines a generic model of run, job, and dataset entities identified using consistent naming strategies. The core lineage model is extensible by defining specific facets to enrich those entities.

OpenLineage is a cross-industry effort involving contributors from major open source data projects, including LF AI & Data projects; Marquez, Amundesen, and Egeria. Without OpenLineage, projects have to instrument all jobs and integrations are external, which can break new versions. When OpenLineage is applied, effort of integration is shared and integration can be pushed in each project, meaning the user will not need to play catch-up. 

Before OpenLineage

With OpenLineage

Dr. Ibrahim Haddad, Executive Director of LF AI & Data, said: “We are excited to welcome the OpenLineage project in LF AI & Data. The project addresses a critical component in governing AI and data projects and further expands the robustness of our portfolio of hosted technical projects. We look forward to working with the OpenLineage project to grow the project’s footprint in the ecosystem, expand its community of adopters and contributors, and to foster the creation of collaboration opportunities with our members and other related projects.”

Julien Le Dem, founder of OpenLineage, said: “Data lineage is a complicated and multidimensional problem; the best solution is to directly observe the movement of data through heterogeneous pipelines. That requires the kind of broad industry coordination that the Linux Foundation has become known for. We are proud for OpenLineage to become a LF AI & Data project, and look forward to an ongoing collaboration.”]

LF AI & Data supports projects via a wide range of services, and the first step is joining as an Incubation Project. Learn more about OpenLineage on their GitHub and be sure to join the OpenLineage-Announce and OpenLineage-Technical-Discuss mail lists to join the community and stay connected on the latest updates. 

A warm welcome to OpenLineage! We look forward to the project’s continued growth and success as part of the LF AI & Data Foundation. To learn about how to host an open source project with us, visit the LF AI & Data website.

OpenLineage Key Links

LF AI & Data Resources