1004 Lakeville circle, Petaluma, CA 94954
763-350-3363; viswanath.sairaman@gmail.com
Pursue a career in electronic system level design and implementation with emphasis on developing tools for design automation and architectural design space exploration.
Four years of research experience in developing CAD tools and implementing algorithms
Working knowledge of a variety of profiling tools for CPU, cache and memory
Proficient with cross compilers, cross platform development and a wide variety of debugging tools
One and a half years of industry experience in programming using c++/c
Four years of experience in teaching computer architecture
Three years of experience in teaching programming concepts and java lab sessions
Excellent presentation skills and a fast learner
Architectural Design Space Exploration, Electronic System Level Design, Automating Design Flow,
Heterogeneous Computing, Multiplatform Compilation, Hardware-Software Partitioning
• Dept of Computer Science & Engg, University of South Florida —Tampa, FL
Instructor 2001-2007
Courses-Programming Concepts, Computer Architecture
• Dept of Computer Science & Engg, University of South Florida —Tampa, FL
Teaching Assistant 2001-20007
Courses-Programming Concepts, Robotics-Introduction to Artificial Intelligence
• HCL Technologies Ltd—Chennai, India and Fairfield, CT
Software Engineer Aug 2000 -July 2001
Scripting for hardware devices-Turrets
Middleware programming using Visual C++
Version and Configuration Management
• Honeywell India Software Operations—Bangalore, India
Intern Jan 2000 -June 2000
Intranet Inventory Management System
Employee Leave Management System
Ph.D.-University of South Florida—Tampa, FL
Majoring in Computer Science and Engineering
Math and Information Systems -Minor
Graduation Date: Spring,2010
Master of Computer Applications -National Institute of Technology—Warangal, India
Majoring in Computer Science
Graduation Date: July,2000
BSc -University of Madras—Chennai, India
Majoring in Math
Physics and Chemistry-Minor
Graduation Date: June,1997
Profiling tools were built using the Simple Scalar tool set for exploring cache and memory performance and usage. SimplePower was used for measuring energy usage.
C++based code partitioning algorithm was implemented for partitioning applications implemented in
C. The algorithm is based on a clustering approach. On Successful completion the algorithm returns the ideal mapping for tasks of an application.
C++based code partitioning algorithm using simulated annealing and tabu search methods were implemented in order to compare with clustering.
A set of tools were written using UNIX shell scripts, GAWK and SED to extract information from task graphs and existing tools in order to execute various benchmarks over different platforms.
C++based system level design and synthesis framework using TLM models. Application descriptions in the form of C programs are used for architectural design space exploration.
Generalized Partitioning Framework: All the above tools and programs were combined into a single framework for partitioning an application, profiling the individual tasks and mapping the tasks on to appropriate software or hardware clusters.
An animated movie project with all3D models generated from scratch and rendered using MAYA7.0 and Adobe Framemaker. The project also included audio synthesis and combined with video using Adobe
Premiere.
Middleware programming for continuously updating concurrently modified data on a bridge between an Informix database and a SQL server database housed on a windows server.
Shell and Turret scripts for connecting to hardware devices (Turrets) and populating data onto
Informix database.
An entire suite of intranet tools for Honeywell Technologies was implemented using ASP pages on
MS--IIS. The tools include an inventory management system and a leave request management system designed to be used by the employees for everyday tasks.
Operating Systems: Linux (Debian, Ubuntu), MacOSX(Tiger),UNIX(several variants),
Windows2000/XP
Programming Languages/Scripting Tools:
Proficient in C, C++, Java, L A T
E
X, UNIX Shells, GAWK, SED
Familiar with Perl, SQL, Python
Tools and Systems:
Proficient in Apache, CVS, VSS, Make, MAYA 7.0, Adobe Framemaker, MS-IIS, MS-SQL,
X-Code Framework
Familiar with MySQL, NFS, Samba, Solaris
Hardware Tools/Architectures
Proficient in SystemC, ARM architecture, PowerPC architecture
ARM-ELF on Solaris, PowerPC on Solaris, ARM onIA32(Cygwin)
Shark(X-Code), Simple Power, Simple Scalar, SimIT (ARM)
Received Richard E. Merwin scholarship from IEEE Computer Society in 2003
Rated 4.5 out of 5.0 for teaching excellence at the University of South Florida.
Merit scholarship from National Institute of Technology, Warangal for excellence in Academics
A new framework for automatic code partitioning and code generation.
A new algorithm for code partitioning based on k-means clustering for partitioning application programs
Clustering algorithm based on execution time, power consumption and communication overhead as metrics.
Algorithm and software for code generation to convert code clusters into independent code executables.
Detailed abstract of the Ph.D. research is available here.
(http://www.csee.usf.edu/~sairaman/abstract.htm)
Authorized to work in united states with a valid EAD