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
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.
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.
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.
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:
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).
Exposure to industrial approaches for dataset metadata management, governance, and automation of flow.
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.
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.
Provide an opportunity for committee members to perform research in the DataOps space.
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 email@example.com.
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.
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.”
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.
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.
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.
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!
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.
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
Add “deploy” parameter in on-boarding API
Allow the use of a SWAGGER interface for R models
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
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.
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.
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%.
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.
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.
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.