Unlock instant, AI-driven research and patent intelligence for your innovation.

Generating parallel simd code for an arbitrary target architecture

a target architecture and source code technology, applied in the field of compilers, can solve the problems of inability of programmers to use performance features very productively, lack of standardization, and difficulty in converting non-parallel algorithms to parallel architectures

Inactive Publication Date: 2010-08-12
IBM CORP
View PDF16 Cites 23 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

The invention provides a method for generating source code for a parallel computing architecture. This involves receiving annotated source code that specifies the target architecture and the one or more parallel application operations to be performed on that architecture. The source code is then parsed and translated into a form that can be executed on the target architecture. This allows for the efficient and effective development of parallel applications that can be executed on a range of architectures.

Problems solved by technology

While computer hardware has supported multiple forms of parallelism for many years, it is well-recognized that programmers are not always able to use these performance features very productively.
This may result from lack of standardization and difficulty in converting non-parallel algorithms to a parallel architecture due to lack of sufficient software abstractions within the programming languages to handle new computing architectures.
The inability of programmers to use these performance features very productively may also result from a lack of support in computer programming languages, as many popular languages were developed before parallelism was widely available (e.g., C, C++) and focus on utilizing a single thread of execution in a single machine.
New languages face acceptance difficulties.
Without a wide user base, a new language (even if designed specifically for portable parallel performance productivity) can easily be less portable, perform more slowly, and impede programmer productivity more than hardware-specific approaches.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Generating parallel simd code for an arbitrary target architecture
  • Generating parallel simd code for an arbitrary target architecture
  • Generating parallel simd code for an arbitrary target architecture

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0015]Embodiments of the invention provide techniques for automatically generating parallel SIMD native source code. In one embodiment, a source-to-source compiler may be configured to generate machine-specific code for data transmission, synchronization, and SIMD operations performed by a parallel application program compiled for various parallel architectures. Further, the source-to-source compiler described herein addresses productivity and portability concerns. Instead of working in a hardware-specific manner, programmers specify data transmission, synchronization, and SIMD operations for a parallel application using an annotation standard. Doing so allows the developer to specify both a particular parallel architecture and the operations to perform on that architrave. This allows the programmer to focus on the particular application logic of an application rather than the particular mechanics of a specific parallel architecture. Further, code portability is dramatically increas...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

Techniques are disclosed for automating the generation of parallel SIMD native source code in three major functional areas of data transmission, synchronization, and SIMD operations. An annotation standard is defined that is independent from native compilers and, coupled with a source-to-source compiler that provides high-level abstractions of data transmission, synchronization, and SIMD operations, relieves the need for programmers to work in a hardware-specific manner, while addressing issues of productivity and portability in a parallel SIMD computing environment.

Description

FIELD OF THE INVENTION[0001]Embodiments of the invention generally relate to compilers. More specifically, embodiments of the invention relate to techniques for automating the generation of parallel SIMD native source code for an arbitrary target architecture.DESCRIPTION OF THE RELATED ART[0002]Many modern processors support single instruction, multiple data (SIMD) extensions. SIMD indicates a single instruction that operates on a number of data items in parallel. For example, an “add” SIMD instruction may add eight 16 bit values in parallel. These instructions increase execution speed dramatically by accomplishing multiple operations within one instruction. Examples of SIMD instructions include multimedia extension (“MMX”) instructions, SSE instructions, and vectored multimedia extension (“VMX”) instructions.[0003]While computer hardware has supported multiple forms of parallelism for many years, it is well-recognized that programmers are not always able to use these performance fe...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(United States)
IPC IPC(8): G06F9/44G06F9/45
CPCG06F8/314G06F9/30036G06F9/30G06F8/51
Inventor MCALLISTER, JEFFREY S.RAMIREZ, NELSON
Owner IBM CORP