Armita Peymandoust | Stanford University (original) (raw)
Uploads
Papers by Armita Peymandoust
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.
Proceedings VHDL International Users' Forum. Fall Conference, 1997
ABSTRACT
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 ...
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
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
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.
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
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.
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.
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.
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.
Proceedings VHDL International Users' Forum. Fall Conference, 1997
ABSTRACT
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 ...
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
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
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.
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
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.
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.
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.