Open Source for IBM Z and LinuxONE

Open Source for IBM Z and LinuxONE

Open Source for IBM Z and LinuxONE

Your one-stop destination to share, collaborate and learn about the latest innovations in open source software for s390x processor architecture (IBM Z and LinuxONE)

 View Only

PyTorch on the s390x Processor Architecture

By Javier Perez posted Tue June 08, 2021 10:50 AM

  

Use PyTorch on the s390x Processor Architecture of IBM Z and LinuxONE

 

For someone like me, who works and advocates for open-source software, it is fascinating to see the growth of this ecosystem. We can really call it an explosion of tooling, as well as what I like to call the “building blocks” of open-source software for all technologies. In the areas of artificial intelligence (AI), and specifically machine learning (ML) and deep learning (DL), we have seen a growing number of libraries and cognitive related APIs, as well as new software at every stage of the AI application life cycle, from data collection and organization to inference processing and deployment to production environments.

 

There are many options, and developers can make many choices to add functional ML and DL to their applications. We are seeing different technology stacks that combine different open-source software to help developers and data scientists build and support their ML and DL applications. There is also a focus on open-source software for ethical AI, which relates to maintaining ML and DL algorithms with transparency, explainability, and fairness.

 

In the case of DL frameworks, there are many options, but currently, only two open-source frameworks have achieved significant global adoption: TensorFlow and PyTorch.

 

In a previous blog post, TensorFlow and more with IBM Z, I talked about TensorFlow and its availability for over 3 years in the s390x processor architecture of IBM Z and LinuxONE. It is now my pleasure to tell you about the availability of PyTorch for this platform, which is important for IBM and the industry.

 

Like other open-source projects, PyTorch started at the Facebook AI Research Lab in 2016. In 2018, Facebook decided to merge it with the Caffe2 framework and to focus its efforts, along with those of many other open-source contributors, on building and expanding into the capabilities that PyTorch offers today.

 

PyTorch has been adopted by many for various reasons, including many research projects and production applications. It is simple to use and learn because it is flexible and modular. Implementing a neural network in PyTorch is simple and intuitive. Its features are built as Python classes; in fact, it is built as a Python library, which makes it easy to integrate with other Python libraries, such as NumPy and SciPy.

 

AI applications on the IBM Z and LinuxONE platforms have been gaining traction. There’s no difference between them with other processor architectures, and open-source software is driving adoptions of AI in IBM Z and LinuxONE. Developers and data scientists can now use PyTorch to create AI applications on the same platform that holds their enterprise mission-critical applications. Applications for banking, financial transactions, credit card processing, payrolls, scientific research, and more can now use PyTorch or TensorFlow with many other AI-related software libraries in IBM Z and LinuxONE.

 

PyTorch uses dynamic computation graphs and includes support for GPUs and CPUs. Enterprise AI applications run on IBM Z and LinuxONE because they are the best platforms with CPUs for I/O intensive applications and for high-performance access to storage and databases. PyTorch-based AI applications take advantage of other IBM Z and LinuxONE features, including the encryption of data in transit, at rest, and in use with confidential computing.

 

Also gaining popularity in the AI space is the Open Neural Network Exchange (ONNX). This open-source software defines a common set of operators so developers can easily move and work with models from a variety of frameworks, tools, runtimes, and compilers. PyTorch has native ONNX support and can export models in the standard ONNX format.

 

Today, we have two options for using PyTorch. The first is the recently announced Anaconda support for IBM Z and LinuxONE, and the second is building one’s own PyTorch package in a Linux distribution for IBM Z or LinuxONE. You can find instructions here for how to install pre-built packages.

 

There is also a very active PyTorch open-source community that offers constant enhancements, knowledge sharing, and assistance with community support. It is a fully featured framework for research and production purposes.

 

From prototyping to training and production deployment, you now have more options than ever to create apps and infuse ML and DL.

 

 

 

 

 

 

1 comment
11 views

Permalink

Comments

Thu June 08, 2023 02:32 PM

Please note that the link to the instructions about building Pytorch on IBM Z is stale.  The current instructions can be found at https://ibm.github.io/pytorch-on-z/