
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.
|