About Me

Publications and Software

Teaching

Funded Research Projects

Research Team

Useful Links
 

Kai Wang


  Assistant Professor of Computer Science
Office: A&S 215
Email: Kai.Wang@usd.edu
Phone: 605-677-6065
URL: http://www.usd.edu/~Kai.Wang

  • Research Interests:
    • High Performance Computing and Its Applications
    • Computational Methods and Scientific Computing
    • Computer Simulations
    • Data/Text Mining
    • Bioinformatices
    • Image Processing and Neural Network
    • Web Programming (PHP, SMARTY, MYSQL)


  • Specific Areas

    • High Performance Computing: Human knowledge is growing exponentially. The corresponding computation is getting more and more complex and time costing. The computation power of a single computer cannot afford it. A bunch of processors are connected together to remedy this problem. That brings high performance computing into our world. High Performance computing has close relationship with many other research areas, including computer structure, network, operating system, programming language, algorithm, and more. The keyword of high performance computing is SPEED. It uses all kinds of techniques avaliable, from hardware implementation to software design to promote the speed for problem solving.
      introduction
    • High Performance Preconditioning: I developed a series of algorithms for efficiently solving large scale problems arising from many important scientific applications in data mining, bioinformatics, and computer simulation. Multistep successive preconditioning based on the step by step refinement strategy, and multilevel preconditioning based on the divide and conquer technique are proposed and studied.
    • Processor Virtualization: MPI (Message Passing Interface) is the most popular programming model in today's parallel computing society. In MPI, the programmer normally divides the computation into exactly P processes that run on P processors. For complex dynamic applications, significant effort is required to divide the computation into processes with good load balance characteristics and communication performance.

      Processor Virtualization has been proposed as a way to remedy these difficulties. In this approach, the programmer decomposes the computation according to the nature of the problem rather than the number of physical processors available. The computation is divided into a large number of objects, which are called virtual processors, and the runtime system is responsible for mapping these virtual processors to different physical processors. This empowers the runtime system to do resource management, including automatic load balancing and communication optimization, by migrating the virtual processors across physical processors. It simplifies the programmer's task by substantially removing the constraint of physical processors from the algorithm design process
    • Parallel Programming Languages: This project is to develop parallel programming languages supporting the processor virtualization concept. The languages have been widely applied in many applications and got exciting results. One of the successful applications is NAMD, a molecular dynamics software package designed for high-performance simulation of large biomolecular systems. It scales well up to 2000 processors.
    • Earth Simulation: It is a joint research with Japan Research Organization for Information Science & Technology. We used super computers to do the Earth simulation. Efficient and robust parallel algorithms are designed for solving the with and without contact information problems during the simulation.
    • Data Mining Strategies: We tried to develop efficient and accurate information retrieval algorithms for text and data mining. The algorithms are based on vector space model, SQR factorization, classification, and dropping strategy.
    • Solidification Process Simulation: It is a joint research with Mechanical Engineering Department at the UIUC. Scalable algorithm is designed for high performance simulation of the moving boundary problem in the solidification process. Parallel implementation based on the virtualization technique is researched and studied.
    • 3D Fast Volume Rendering: This research is to do the 3D image reconstruction from a sequence of 2D images. Fast volume rendering algorithm is designed and implemented by C++.
    • Iterative Methods: Large systems arising from many important scientific applications need fast and reliable solution. Iterative methods including Krylov subspace methods, Multigrid methods, and Monte Carlo methods are widely used. I am interested in conducting research in developing algorithms and software packages to improve the convergence speed and robustness of iterative methods.
    • Numerical Methods: My research also involves numerical methods for solving real problems, like the contact problem in earth simulation, moving boundary problem in solidification process simulation, and molecular dynamic computation.

Here is my resume. pdf format.


Professor Kai Wang
Department of Computer Science
University of South Dakota
Vermillion, SD, 57069
Email: Kai.Wang@usd.edu
Phone: 605-677-6065
Homepage: http://www.usd.edu/~Kai.Wang

Visitor Since Feburary 10th, 2006: 33,458