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
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.
- Core research interests:
- Computational quantum chemistry, with a special focus on electron repulsion integrals (also known as two-electron integrals).
- Data-parallel processing, e.g. GPUs and Cell BE.
- Some other technical interests:
- Computational sciences in general, especially molecular modelling and bioinformatics.
- Highly parallel computer systems, such as FPGAs, heterogeneous multicore (e.g. Cell BE, Intel Larrabee, Nvidia TEGRA), homogeneous manycore (e.g. SiCortex, IBM BlueGene), 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.
-
"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
-
"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
-
"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
-
"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,
-
"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,
-
"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,
-
"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
-
"Towards a special-purpose computer for Hartree-Fock computations",
Theoretical Chemistry Accounts, 2007. (text:Springerlink)
T. Ramdas, G. Egan, D. Abramson, and K. Baldridge
-
"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
-
"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
-
"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:
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).
- SimulationResearchOnPizzeria: Some information on the CTIE's Cluster Pizzeria, and how to use the batch submission system, Matlab, and OMNET++. (For CTIE members only)
- LAM/MPI CTIE Pizzeria Quick-(n-dirty)-Start: A guide that I wrote myself. Be careful... I don't guarantee that this is the best (or even the correct) way to do it! :-) The steps may be applicable for use on other clusters too, the steps are pretty usual and documented on many other websites, the only specific issue here is using LAM/MPI on a system without rsh support.
- CVS on mammoth.ctie.monash.edu.au: Details on how to set up a CVS repository on mammoth. (For CTIE members only)
- HOWTO: set up ssh keys: I do this maybe once or twice a year, and can never remember the steps.
- HOWTO: Configure NFS and NIS: Good reference for those setting up a small cluster and/or fully networked *NIX-based LAN.
- PyQuante: "...an open-source suite of programs for developing quantum chemistry methods. The program is written in Python... set of tools so that scientists can construct their own quantum chemistry programs..."
- Simple Linux IP Masquarade: Good if you are setting up a shared home network with a single modem, or if you are setting up a LAN with a single port to a WAN (e.g. a cluster on a trusted network, insulated through a server running firewall etc).