Greetings!

I am Xuanzhao Gao, a PhD student in Hongkong University of Science and Technology. This is my personal website, hope you enjoy!

About Me

I am a PhD student at Hongkong University of Science and Technology (Guangzhou). My research interests include computational physics, application mathematics, and high-performance computing. I am currently working on the development of fast algorithms for kernel summation problems and tensor network contraction problems.

My Google Scholar profile can be found here, and my github can be found here.

Blogs

  1. How to implement generic matrix multiplication (GEMM) with generic element types on GPU?

    This blog is a technical note for the Open Source Promotion Plan 2023 project "TropicalGEMM on GPU" released by JuliaCN, where I developed a Julia package CuTropicalGemm.jl calculate Generic Matrix Multiplication (GEMM) of Tropical Numbers on Nvidia GPUs.

  2. Tensor Network Contraction Order Optimization with Exact Tree Width Solver

    This blog is a technical note for the Google Summer of Code 2024 project "Tensor network contraction order optimization and visualization" released by The Julia Language, where I implemented an optimizer for tensor network contraction order based on tree decomposition in the Julia package OMEinsumContracionOrders.jl.

  3. Finding the Optimal Tree Decomposition with Minimal Treewidth

    This blog is a supplementary for the note Tensor Network Contraction Order Optimization with Exact Tree Width Solver, where I detailed introduce the algorithm to find the optimal tree decomposition with minimal treewidth of a given simple graph, and how it is implemented in Julia package TreeWidthSolver.jl.

Technical Notes

Open Source Packages

  • CuTropicalGEMM.jl: A Julia package to speed up the generic matrix multiplication of Tropical Numbers using GPU.

  • ExTinyMD.jl: A simple but fast molecular dynamic framework in Julia.

  • ChebParticleMesh.jl: A Julia package to calculate the electrostatic potential of charged systems using Chebyshev interpolation (very similar to NUFFT).

  • TreeWidthSolver.jl: A Julia package to solve tree decomposition with minimal treewidth of a given simple graph.

  • EwaldSummations.jl: A Julia package to calculate the electrostatic potential of charged systems using Ewald summation.

  • OptimalBranching.jl: A Julia package to find the optimal branching rules for the maximum independent set problem.

Publications

Talks

CC BY-SA 4.0 Xuanzhao Gao. Last modified: February 28, 2025. Website built with Franklin.jl and the Julia programming language.