Adopting a Unified, Cross-Architecture Model

Authors

author-image

By

Challenge

As computer architectures evolve—adapting to emerging hardware technologies and new accelerators—developers seek efficient ways to create code that ports easily to different hardware platforms. Ideally, a single program should only require minimal changes to run on a variety of architectures. The popularity of tools supporting a uniform, open framework can be seen in the growing adoption of Intel® oneAPI toolkits.

Scott Apeland, director of Developer Relations and Ecosystem Programs for Intel said, "In just a few short years since their release, the Intel oneAPI toolkits are seeing strong interest and use among developers as a unified, cross-architecture programming model for CPUs and accelerators. Developers are relaying that they’re using oneAPI because it's open, they can learn it quickly, and can migrate their code to oneAPI with the resultant code being portable across different architectures."1

Demonstrating the portability and versatility of oneAPI toolkits, Abhishek Nandy and Kazi Haque have made extensive use of the toolkits in the company that they cofounded—Dynopii—and applied their knowledge in individual projects that stretch the boundaries of today’s hardware and software technologies.

AI tools and techniques have opened outstanding opportunities for innovative voice apps, unlocking rich capabilities and setting foundations for unique use cases. Through their work with Dynopii, Abhishek and Kazi are furthering the possibilities with one of their applications—Dhwani. Dhwani uses AI techniques to produce more neutral-sounding call center voices. Alternatively, companies can modify call center voices to use particular accents. They have also developed Dialsense, a software as a service (SaaS) based product to automate the entire process of a call blast and AI-based interactive call CRM.

Both Abhishek and Kazi are experienced with oneAPI tools and techniques. The examples that follow highlight projects where they successfully used oneAPI.

Background

Career Biography of Abhishek Nandy

Abhishek has a background and considerable experience in a variety of industry sectors, including pharmaceuticals, manufacturing, and retail. "I am deeply involved in AI and SYCL*," he said, "and have helped budding developers transition to SYCL." Currently working on a PhD in AI with a focus on oneAPI libraries and implementations, Abhishek is also involved in individual projects. In different roles, he has been an entrepreneur, teacher, author, researcher, and technology innovator. Over the course of his varied career, he has led several teams in research and product development.

Previously, Abhishek worked as principal engineer at P360*, establishing both the AI and IoT product teams. For his accomplishments as an Intel® Black Belt Software Developer, he received an award for multiple contributions open source development projects at Intel.

His reinforcement learning research was presented at the Association for Computing Machinery (ACM) SIGGRAPH 2018. Several leading academic institutes in India have invited him to serve as an educator. Abhishek has also written several books, including titles on reinforcement learning, Unity* machine learning, hand tracking using the Leap Motion* controller, and game engines.

Career Biography of Kazi Haque

With close to a decade of experience working in the field of AI- and IoT-based applications, Kazi started his career journey at Infosys* and continued by creating and nurturing the growth of multiple tech startups. With an increasing focus on oneAPI toolkits, he has worked on enterprise application integration and acting as an evangelist to expand the oneAPI community. He has participated in over fifty workshops and training programs, including multiple national level hackathons.

"I've been very active participating in hackathons across the globe," Kazi said, "and was gratified to be awarded first prize in 2020 for a communication application that was used in the FIFA World Cup* Qatar 2022."

Beyond his day-to-day responsibilities at Dynopii, Kazi leads sessions focused on AI and IoT across different developer conferences and academic institutions. He also provides consulting services to AI companies and developers engaged in computer vision projects and those involved in audio and speech synthesis. For his work with developer communities, Kazi has been acknowledged as the best Intel® Software Innovator for the years 2018, 2019, and 2020.

Kazi envisions building a self-sustaining ecosystem for learning new technologies, open to students from a wide variety of backgrounds.

Challenges Encountered While Building Dynopii Dhwani

At Dynopii, an ongoing challenge has been applying the most recent discoveries in speech and voice synthesis. Modifying accents in real time within customer call centers has been a key challenge. Intel oneAPI toolkits provided benefits in this area. As a result of their research and exploration into this technology, Dynopii is considering other use cases and evaluating possibilities for implementing related real-time scenarios.

The program, Dhwani, has gone through a number of iterations to address this challenge and most recently, Intel oneAPI toolkits, as well as other frameworks, proved valuable in breaking down portions of sentences and then performing text-to-speech conversion in real time. The engineering team at Dynopii was able to isolate the phonemes from voices and modify them for specific profiles with minimal lag (under 200 milliseconds, which is below the level of human perception).

Solutions

Kazi: Computer Vision Applications

A project launched by Kazi focuses on boundary detection in computer vision applications. Boundary detection, a fundamental challenge when doing image processing, identifies the semantic boundaries that distinguish what humans would consider the distinct objects or regions in an image. This operation lends itself well to the Intel® oneAPI HPC Toolkit and the Intel® oneAPI Rendering Toolkit. These toolkits make it possible to take advantage of the power of multitenancy features and parallel programming.

The platform under design adapts to multiple use cases, including security fencing, object detection, medical image analysis, sign language interpretation, and more. It operates from CCTV feeds in real time and can be configured to use visual input from any source, selectable by user preference.

"The idea for the entire computer vision-based application—from object detection to recognition—has come through a huge shift with multiple use-cases," Kazi said. "My idea was to develop a single platform that can be used by the end user as a plug-and-play model, according to a specific use case and industry domain."

Kazi noted that the feeds can be processed in parallel with insights from the program generated in real time. "This can be a huge life saver," Kazi said, "in situations of parameter fencing, as well as helping people to communicate via sign language." For example, medical interventions where sign language was the primary method of communication, the program could be used to convey key details.

Development of an AI engine integrated within the computer vision application is a central part of the project, making it possible to incorporate multiple AI algorithms in the program. End users generate insights relevant to a specific use case with a single click.

"The entire system," Kazi said, "is optimized so that it runs on CPUs with less dependency on GPUs. Parallel processing of multiple threads can be achieved seamlessly for real time feed analysis captured from thousands of image sources."

Figure 1 shows Kazi explaining oneAPI concepts to developers.

""

Figure 1. Kazi Haque addresses oneAPI developers at the Google* Developer Groups (GDG) Cloud Mumbai conference, 2023, India.

Given the framework created for this project, a complete AI generative system can be developed to deploy any computer vision-based algorithm in one click for generating insights. Figure 2 shows a sample analysis screen from the application dashboard.

Figure 2. Example from the Analytics Dashboard of the application.

Abhishek: Drug Discovery

As part of a recent Intel® DevMesh project, working in collaboration with Kazi, Abhishek explored emerging methods of drug discovery. "I am working on creating the entire drug discovery pipeline using Intel® AI Analytics Toolkit. At the same time, I am building a SYCL front end for the process using the Qt framework."

To facilitate drug discovery, the project taps into the Lipophilicity dataset. Lipophilicity is a measure of how readily a chemical compound dissolves in fats, lipids, oils, and different solvents. By building a regression model from data, researchers can use molecular descriptors to predict lipophilicity. This value can help determine how effectively a drug is distributed throughout the body and how quickly it is eliminated, as well as being a factor in the potency of a drug.

The process followed in this project is as follows:
 

  1. The Lipophilicity dataset is loaded.
  2. Molecular descriptors are calculated for each molecule using the RDKit library.
  3. Data is split into training and test sets.
  4. Using the training set, the application trains a Random Forest regression model and then evaluates its performance on the test set using the R-squared metric.

Results are visualized through an interface constructed using a plotly* for Python* library. "Additionally," Abhishek said, "the project lets users design molecules through selection of functional groups." Streamlit*, an open source framework, was used to create a unique interface that lets users design molecules.

"I wanted to know how the entire docking and scaffolding process would work if implemented using the Intel AI Analytics Toolkit. In addition, we confirmed that the task of designing new molecules using software and AI could be accomplished using the AI toolkit to simulate the process."

Abishek continued, "The entire simulation process is itself a complete learning phase. This process is itself innovative and requires quite a good understanding of oneAPI libraries and their implementations. I’ve been working on this with Kazi for more than two months. I started working with Intel® Distribution for Python* then extended it with Intel Extension for Scikit-learn* to improve performance. For the drug discovery portion of the project, I used RDKit.”

Although this project was conducted primarily for research, the findings can be extended to commercial purposes. The visualization process for new molecules holds promise for a variety of pharmaceutical investigations in which AI is a component. Similarly, the scaffolding process (the search for compounds with similar activity but different core structures) is adaptable to small, medium, and large scaffolds hoping to identify novel, promising drugs.

Figure 3 shows Abhishek at a presentation explaining oneAPI concepts.

""

Figure 3. Abhishek delivers a presentation on oneAPI and SYCL.

Conclusion

In both their professional and personal technology endeavors, Kazi and Abhishek have developed innovative solutions that harness the capabilities of oneAPI to address a variety of specific challenges, ranging from new methods of drug discovery to creating intelligent computer monitoring of video feeds. The development community continues to warm to the potential of using oneAPI to unify coding practices and reach a larger range of hardware architectures. As new XPUs and accelerators are developed, Intel strives to create innovative ways to enable their capabilities and unlock opportunities to make productive use of emerging computing technologies.

Resources and Recommendations

Applications of Synthetic Voice & Audio Generation Using PyTorch*

This in-progress project on GitHub* uses oneAPI components to serve as a starter kit for exploring synthetic voice generation.

Drug Discovery Using Intel AI Analytics Toolkit

Hosted on Intel DevMesh, this project investigates the suitability of the Intel AI Analytics Toolkit for performing drug discovery and displaying the results.

Kazi Haque Intel® DevMesh

This page previews some of the projects that Kazi has been active in.

Abhishek Nandy Intel DevMesh

This page highlights a number of projects Abhishek has been involved with.

Dig Deeper into oneAPI

Explore a documentation library that covers many different aspects of the programming model.

Intel® Developer Cloud for oneAPI

This site offers free access to code from anywhere, offering cutting-edge Intel CPUs, GPUs, FPGAs, and preinstalled Intel oneAPI toolkits including tools, frameworks and libraries. Sign up here for this free resource and get started in minutes.


1 Developers Realize the Value of oneAPI