You've reached the academic webpage of Tirath Ramdas, a PhD candidate at the Center for Telecommunications and Information Engineering (CTIE), Department of Electrical and Computer Systems Engineering (ECSE), Monash University, Clayton campus, under the supervision of Prof. Gregory K. Egan, Prof. David Abramson, and Prof. Kim K. Baldridge.

I'll be finishing my PhD soon, then looking for a job. If you have a job opening that might fit my skillset and current interests, please see my CV! (references provided on demand).

Contents

H2O HOMO

Current Interests

My PhD research is in the field of computer architecture (i.e. the structural design of computers... NOT the use of computers in the architecture of office buildings), with a special focus on computational quantum chemistry (i.e. the use of computers to study chemistry... NOT related to quantum computing).

Computational quantum chemistry is the dominant application (in terms of CPU time consumption) in many supercomputing facilities such as NERSC, PNNL, Sandia, and APAC. It would be nice if we could speed things up by using high performance data-parallel (DP) processors, such as graphics chips and the Playstation 3 Cell BE processor.

Unfortunately, this is not a trivial task because our application contains data-dependant control-flow variations... in other words, it won't run well on DP processors. However, it is possible to overcome this problem by employing run-time workload reordering... somewhat analogous to Out-of-Order execution for Instruction-Level Parallelism, we advocate Thread Sorting for Data-Level Parallelism. My work has involved use of SystemC, Handel-C, FPGAs, Cell BEs, GPUs, etc.

Publications

This list includes non-reviewed papers (e.g. tech reports) and papers reviewed based on an abstract submission. Full reviewed papers have the journal/proceedings name in bold. Ordering is reverse-chronological.

  1. "Run-time thread sorting to expose data-level parallelism",
    in Proceedings of IEEE ASAP, 2008. (text:pdf)
    T. Ramdas, G. K. Egan, D. Abramson, and K. K. Baldridge

  2. "Uniting extrinsic vectorization and shell structure for efficient SIMD evaluation of Electron Repulsion Integrals",
    Chemical Physics, 2008. (text:DOI)
    T. Ramdas, G. K. Egan, D. Abramson, K. K. Baldridge

  3. "On ERI Sorting for SIMD Execution of Large-Scale Hartree-Fock SCF",
    Computer Physics Communications, vol.178, pp. 817-834, 2008. (text:pdf)
    T. Ramdas, G. K. Egan, D. Abramson, K. K. Baldridge

  4. "Petri Net modelling of computer parallelism",
    Monash University, Melbourne, Australia, Technical Report MECSE-12-2007, 2007. (text:pdf)
    T. Ramdas, G. Egan, and D. Abramson,

  5. "Exploitation of Hashing and Locality for Integral Sorting in Molecular Orbital Computations",
    Monash University, Melbourne, Australia, Technical Report MECSE-11-2007, 2007. (text:pdf)
    T. Ramdas, G. Egan, and D. Abramson,

  6. "Estimating the communications cost of application accelerator attached processors through memory address tracing",
    Monash University, Melbourne, Australia, Technical Report MECSE-10-2007, 2007. (text:pdf)(code:process_trace)
    T. Ramdas and G. Egan,

  7. "Converting massive TLP to DLP: a special-purpose processor for molecular orbital computations",
    in Proceedings of ACM Computing Frontiers, 2007. (text:pdf)(slides:pdf)
    T. Ramdas, G. Egan, D. Abramson, and K. Baldridge

  8. "Towards a special-purpose computer for Hartree-Fock computations",
    Theoretical Chemistry Accounts, 2007. (text:Springerlink)
    T. Ramdas, G. Egan, D. Abramson, and K. Baldridge

  9. "A survey of FPGAs for Acceleration of High Performance Computing and their Application to Computational Molecular Biology",
    in Proceedings of IEEE TENCON, 2005. (text:pdf)(slides:ppt)
    T. Ramdas and G. Egan

  10. "A survey of FPGA-based high performance computation in molecular biology and other domains",
    Monash University, Melbourne, Australia, Technical Report MECSE-23-2005, 2005. (text:pdf)
    T. Ramdas and G. Egan

  11. "FPGA Implementation of an Integer MIPS Processor in Handel C and it's Application to Human Face Detection",
    in Proceedings of IEEE TENCON, 2004, pp. 36-39. (text:IEEEXplore)
    T. Ramdas, L. Ang and G. Egan

Tools

Some tools that I created to help with my work, that others may find useful as well.

process_trace

A simple script that aids the profiling of application kernels. It relies on Apple's CHUD software; specifically, traces must be obtained with acid and pre-processed with amber. This script then reports the count of instructions in the trace, the count of unique memory addresses, the count of "Read-before-Write" addresses, and the count of "Write-after-Read" addresses. The point of this is to estimate the communications/data transfer cost/requirements of a candidate computational partition. For more details see tech report Estimating the communications cost of application accelerator attached processors through memory address tracing. Requires PERL. (process_trace)

gprof2dot

NOTE: My version of gprof2dot has been deprecated by a bigger effort. I've integrated all the features of my version into that version. Go here for the newer better uberer gprof2dot.pl.

gprof output is easily eyeballed, but it's nice to be able to plot the graph for presentations etc. This script extracts the callgraph from gprof output and produces a dotgraph to be rendered with graphviz. Sample output:

cs calltree

The arcs can be labelled with either the number of calls or the time consumed - this is selectable thru a runtime parameter. Run the program with no params to see usage. Also, gprof output varies, so this may break on some systems, so be prepared to dig into the script to tweak things. Only tested on Mac OS X Tiger. Requires PERL. (gprof2dot) NOTE: This is deprecated, go here instead.

Stuff

Some things that are interesting or useful (some of which I put up here just to bookmark them for myself).