Armita Peymandoust | Stanford University (original) (raw)

Uploads

Papers by Armita Peymandoust

Research paper thumbnail of Low Power Embedded Software Optimization using Symbolic Algebra

The market demand for portable multimedia applications has exploded in the recent years. Unfortun... more The market demand for portable multimedia applications has exploded in the recent years. Unfortunately, for such applications current compilers and software optimization methods often require of designers to do part of the optimization manually. Namely, the high-level arithmetic optimizations and the use of complex instructions are left to the designers' ingenuity. In this paper, we present a tool flow, OptAlg, that partially automates the optimization of power-intensive algorithmic constructs using symbolic algebra techniques combined with energy profiling. OptAlg is used to optimize and tune the algorithmic level description of an MPEG Layer III (MP3) audio decoder for the SmartBadge [2] portable embedded system. We show that our tool lowers the number of instructions and memory accesses necessary to run the MP3 code and thus lowers the system power consumption. The optimized MP3 audio decoder software meets real-time constraints on the SmartBadge system with low energy consumption. Performance increase of a factor of 7.27 and energy consumption decrease of a factor of 1.19 over the original executable specification has been achieved.

Research paper thumbnail of Using VHDL Neural Network Models for Automatic Test Generation

Research paper thumbnail of Implementing a complete test tool set in VHDL

Proceedings VHDL International Users' Forum. Fall Conference, 1997

ABSTRACT

Research paper thumbnail of Using symbolic algebra in algorithmic level DSP synthesis

Proceedings of the 38th conference on Design automation - DAC '01, 2001

... The optimal choice of the arithmetic units implementing complex data flows affects strongly t... more ... The optimal choice of the arithmetic units implementing complex data flows affects strongly the cost, performance and power consumption of the silicon implementations. Unfortunately, most high-level synthesis tools and methods cannot synthesize data paths that intelligently ...

Research paper thumbnail of Symbolic algebra and timing driven data-flow synthesis

IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281), 2001

0-7803-7247-6/01/$10.00 0 2001 IEEE

Research paper thumbnail of Low power embedded software optimization using symbolic algebra

Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition, 2002

The market demand for portable multimediaapplications has exploded in the recent years.Unfortunat... more The market demand for portable multimediaapplications has exploded in the recent years.Unfortunately, for such applications current compilers andsoftware optimization methods often require designers todo part of the optimization manually. Specifically, thehigh-level arithmetic optimizations and the use of complexinstructions are left to the designers' ingenuity. In thispaper, we present a tool flow, SymSoft, that automates theoptimization of power-intensive algorithmic constructsusing symbolic

Research paper thumbnail of Complex library mapping for embedded software using symbolic algebra

Proceedings of the 39th conference on Design automation - DAC '02, 2002

Embedded software designers often use libraries that have been pre-optimized for a given processo... more Embedded software designers often use libraries that have been pre-optimized for a given processor to achieve higher code quality. However, using such libraries in legacy code optimization is nontrivial and typically requires manual intervention. This paper presents a methodology that maps algorithmic constructs of the software specification to a library of complex software elements. This library-mapping step is automated by using symbolic algebra techniques. We illustrate the advantages of our methodology by optimizing an algorithmic level description of MPEG Layer III (MP3) audio decoder for the Badge4 portable embedded system. During the optimization process we use commercially available libraries with complex elements ranging from simple mathematical functions such as exp to the IDCT routine. We implemented and measured the performance and energy consumption of the MP3 decoder software on Badge4 running embedded Linux operating system. The optimized MP3 audio decoder runs 300 times faster than the original code obtained from the standards body while consuming 400 times less energy. Since our optimized MP3 decoder runs 3.5 times faster than real-time, additional energy can be saved by using processor frequency and voltage scaling.

Research paper thumbnail of Complex instruction and software library mapping for embedded software using symbolic algebra

IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2003

With growing demand for embedded multimedia applications, time to market of embedded software has... more With growing demand for embedded multimedia applications, time to market of embedded software has become a crucial issue. As a result, embedded software designers often use libraries that have been preoptimized for a given processor to achieve higher code quality. Unfortunately, current software design methodology often leaves high-level arithmetic optimiza- tions and the use of complex library elements up to

Research paper thumbnail of Application of symbolic computer algebra in high-level data-flow synthesis

IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2003

The growing market of multimedia applications has required the development of complex application... more The growing market of multimedia applications has required the development of complex application-specified integrated circuits with significant data-path portions. Unfortunately, most high-level synthesis tools and methods cannot automatically synthesize data paths such that complex arithmetic library blocks are intelligently used. Namely, most arithmetic-level optimizations are not supported and they are left to the designer's ingenuity. In this paper, we show how symbolic algebra can be used to construct arithmetic-level decomposition algorithms. We introduce our tool, SymSyn, that optimizes and maps data flow descriptions into data paths using complex arithmetic components. SymSyn uses two new algorithms to find either minimal component mapping or minimal critical path delay (CPD) mapping of the data flow. In this paper, we give an overview of the proposed algorithms. We also show how symbolic manipulations such as tree-height-reduction, factorization, expansion, and Horner transformation are incorporated in the preprocessing step. Such manipulations are used as guidelines in initial library element selection to accelerate the proposed algorithms. Furthermore, we demonstrate how substitution can be used for multiexpression component sharing and CPD optimization.

Research paper thumbnail of Using simple tools to evaluate complex architectural trade-offs

IEEE Micro, 2000

Armita Peymandoust is a PhD candidate in the Electrical Engineering Department at Stanford Univer... more Armita Peymandoust is a PhD candidate in the Electrical Engineering Department at Stanford University. Previously, she held a design engineer position on the IA-64 product line at Intel Corporation. Her research interests include system-level design and synthesis, hardware/software codesign, and design reuse. Peymandoust received a BSEE from the University of Tehran and an MSEE from Northeastern University.

Research paper thumbnail of Automatic instruction set extension and utilization for embedded processors

Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003, 2003

There is a growing demand for application-specific embedded processors in system-on-a-chip design... more There is a growing demand for application-specific embedded processors in system-on-a-chip designs. Current tools and design methodologies often require designers to manually specialize the processor based on an application. Moreover, the use of the new complex instructions added to the processor is often left to designers' ingenuity. In this paper, we present a solution that automatically groups dataflow operations in the application software as potential new complex instructions. The set of possible instructions is then automatically used for code generation combined with high-level arithmetic optimizations using symbolic algebra. Symbolic arithmetic manipulations provide a novel and effective method for instruction selection that is necessary due to the complexity of the automatically identified instructions. We have used our methodology to automatically add new instructions to Tensilica processors for a set of examples. Our results show that our tools improve designers productivity and efficiently specialize an embedded processor for the given application such that the execution time is greatly improved.

Research paper thumbnail of Low Power Embedded Software Optimization using Symbolic Algebra

The market demand for portable multimedia applications has exploded in the recent years. Unfortun... more The market demand for portable multimedia applications has exploded in the recent years. Unfortunately, for such applications current compilers and software optimization methods often require of designers to do part of the optimization manually. Namely, the high-level arithmetic optimizations and the use of complex instructions are left to the designers' ingenuity. In this paper, we present a tool flow, OptAlg, that partially automates the optimization of power-intensive algorithmic constructs using symbolic algebra techniques combined with energy profiling. OptAlg is used to optimize and tune the algorithmic level description of an MPEG Layer III (MP3) audio decoder for the SmartBadge [2] portable embedded system. We show that our tool lowers the number of instructions and memory accesses necessary to run the MP3 code and thus lowers the system power consumption. The optimized MP3 audio decoder software meets real-time constraints on the SmartBadge system with low energy consumption. Performance increase of a factor of 7.27 and energy consumption decrease of a factor of 1.19 over the original executable specification has been achieved.

Research paper thumbnail of Using VHDL Neural Network Models for Automatic Test Generation

Research paper thumbnail of Implementing a complete test tool set in VHDL

Proceedings VHDL International Users' Forum. Fall Conference, 1997

ABSTRACT

Research paper thumbnail of Using symbolic algebra in algorithmic level DSP synthesis

Proceedings of the 38th conference on Design automation - DAC '01, 2001

... The optimal choice of the arithmetic units implementing complex data flows affects strongly t... more ... The optimal choice of the arithmetic units implementing complex data flows affects strongly the cost, performance and power consumption of the silicon implementations. Unfortunately, most high-level synthesis tools and methods cannot synthesize data paths that intelligently ...

Research paper thumbnail of Symbolic algebra and timing driven data-flow synthesis

IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281), 2001

0-7803-7247-6/01/$10.00 0 2001 IEEE

Research paper thumbnail of Low power embedded software optimization using symbolic algebra

Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition, 2002

The market demand for portable multimediaapplications has exploded in the recent years.Unfortunat... more The market demand for portable multimediaapplications has exploded in the recent years.Unfortunately, for such applications current compilers andsoftware optimization methods often require designers todo part of the optimization manually. Specifically, thehigh-level arithmetic optimizations and the use of complexinstructions are left to the designers' ingenuity. In thispaper, we present a tool flow, SymSoft, that automates theoptimization of power-intensive algorithmic constructsusing symbolic

Research paper thumbnail of Complex library mapping for embedded software using symbolic algebra

Proceedings of the 39th conference on Design automation - DAC '02, 2002

Embedded software designers often use libraries that have been pre-optimized for a given processo... more Embedded software designers often use libraries that have been pre-optimized for a given processor to achieve higher code quality. However, using such libraries in legacy code optimization is nontrivial and typically requires manual intervention. This paper presents a methodology that maps algorithmic constructs of the software specification to a library of complex software elements. This library-mapping step is automated by using symbolic algebra techniques. We illustrate the advantages of our methodology by optimizing an algorithmic level description of MPEG Layer III (MP3) audio decoder for the Badge4 portable embedded system. During the optimization process we use commercially available libraries with complex elements ranging from simple mathematical functions such as exp to the IDCT routine. We implemented and measured the performance and energy consumption of the MP3 decoder software on Badge4 running embedded Linux operating system. The optimized MP3 audio decoder runs 300 times faster than the original code obtained from the standards body while consuming 400 times less energy. Since our optimized MP3 decoder runs 3.5 times faster than real-time, additional energy can be saved by using processor frequency and voltage scaling.

Research paper thumbnail of Complex instruction and software library mapping for embedded software using symbolic algebra

IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2003

With growing demand for embedded multimedia applications, time to market of embedded software has... more With growing demand for embedded multimedia applications, time to market of embedded software has become a crucial issue. As a result, embedded software designers often use libraries that have been preoptimized for a given processor to achieve higher code quality. Unfortunately, current software design methodology often leaves high-level arithmetic optimiza- tions and the use of complex library elements up to

Research paper thumbnail of Application of symbolic computer algebra in high-level data-flow synthesis

IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2003

The growing market of multimedia applications has required the development of complex application... more The growing market of multimedia applications has required the development of complex application-specified integrated circuits with significant data-path portions. Unfortunately, most high-level synthesis tools and methods cannot automatically synthesize data paths such that complex arithmetic library blocks are intelligently used. Namely, most arithmetic-level optimizations are not supported and they are left to the designer's ingenuity. In this paper, we show how symbolic algebra can be used to construct arithmetic-level decomposition algorithms. We introduce our tool, SymSyn, that optimizes and maps data flow descriptions into data paths using complex arithmetic components. SymSyn uses two new algorithms to find either minimal component mapping or minimal critical path delay (CPD) mapping of the data flow. In this paper, we give an overview of the proposed algorithms. We also show how symbolic manipulations such as tree-height-reduction, factorization, expansion, and Horner transformation are incorporated in the preprocessing step. Such manipulations are used as guidelines in initial library element selection to accelerate the proposed algorithms. Furthermore, we demonstrate how substitution can be used for multiexpression component sharing and CPD optimization.

Research paper thumbnail of Using simple tools to evaluate complex architectural trade-offs

IEEE Micro, 2000

Armita Peymandoust is a PhD candidate in the Electrical Engineering Department at Stanford Univer... more Armita Peymandoust is a PhD candidate in the Electrical Engineering Department at Stanford University. Previously, she held a design engineer position on the IA-64 product line at Intel Corporation. Her research interests include system-level design and synthesis, hardware/software codesign, and design reuse. Peymandoust received a BSEE from the University of Tehran and an MSEE from Northeastern University.

Research paper thumbnail of Automatic instruction set extension and utilization for embedded processors

Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003, 2003

There is a growing demand for application-specific embedded processors in system-on-a-chip design... more There is a growing demand for application-specific embedded processors in system-on-a-chip designs. Current tools and design methodologies often require designers to manually specialize the processor based on an application. Moreover, the use of the new complex instructions added to the processor is often left to designers' ingenuity. In this paper, we present a solution that automatically groups dataflow operations in the application software as potential new complex instructions. The set of possible instructions is then automatically used for code generation combined with high-level arithmetic optimizations using symbolic algebra. Symbolic arithmetic manipulations provide a novel and effective method for instruction selection that is necessary due to the complexity of the automatically identified instructions. We have used our methodology to automatically add new instructions to Tensilica processors for a set of examples. Our results show that our tools improve designers productivity and efficiently specialize an embedded processor for the given application such that the execution time is greatly improved.