Alex Brandt

A SASS-E Researcher @ Dalhousie University

Alex(ander) Brandt

Alex (Alexander if you're a publisher or my mother) is an Assistant Professor in the Faculty of Computer Science at Dalhousie University in Halifax, Canada. My research centers around improving the performance, quality, maintainability, usability, and capability of (scientific and mathematical) software. I am also affiliated with the Ontario Research Centre for Computer Algebra and the Symbolic Computation Labratory at the University of Western Ontario.

S

cientific

A

lgrebaic

S

ymbolic

S

oftware

-

E

ngineering

My research uses a hardware-centric viewpoint to software performance engineering for scientific and data-intensive software. I am interested in high-performance computing, mathematical software design, parallel computing, among many more things. Applications of interest include simulation, gaming, graphics, physics and astronomy.

When not in the office, you can find me rowing, cycling, or running around HRM.

Interested in Dalhousie Rowing ?

Alex and Connor rowing

Research

Engineering for Scientific Computing Venn diagram
Scientific programming logos

Current Projects

Basic Polynomial Alebgra Subprograms logo

BPAS Library

The BPAS (Basic Polynomial Algebra Subprograms) library is a symbolic computation library written in C/C++ for foundational operations on (multivariate) polynomials over various coefficient rings. This includes arithmetic, GCDs, (sub)resultants, and factorization.

This library includes advanced methods for solving systems of polynomial equations.

Triangular Decomposition

Triangular decomposition is a symbolic method for solving systems of polynomial equations. Geometrically, this method iteratively computes the intersection of hypersurfaces defined by each polynomial in the system. The output of this solver is an equidimensional decomposition of the variety of the polynomial system.

Of interest is the practical improvement of this method to minimize memory usage and execution time. The study of parallel algorithms and high-performance implementation techniques for triangular decomposition is ongoing.

The intersection of two hypersurfaces
State-space subgraph of chess; by Chris Butner https://chrisbutner.github.io/ChessCoach/

Irregular Parallelism

Extracting parallelism from programs whose concurrency opportunities emerge dynamically (and vary with each problem instance) is a challenging task. Irregular parallelism describes this, alongside cases where task and data dependencies cannot be determined a priori, or when there is load-imbalance.

Take this idea further, and we get what I call unstructured parallelism. This describes where data and tasks to be executed concurrently are dynamically generated. A classic example that falls into this category is state-space search. I study ways to effectively exploit irregular parallelism in a problem-agnostic way.

Multivariate power series

The first high-performance computer implementation of multivariate formal power series in a compiled language was developed in BPAS and later integrated into the Computer Algebra System Maple.

This work brings fundamental operations on power series as well as foundational algorithms such as Weierstrass preparation and Hensel's lemma which, in this context, can be seen as a generalization of the classic Newton–Puiseux theorem.

An algebraic curve and power series expansions of its solutions in y
CUDA thread blocks and grids

Automatic Optimization of Parallel Program Parameters

The kernel launch parameters (i.e. thread block configuration) of a CUDA kernel influences execution time by orders of magnitude. One normally chooses thread block configurations by guess or intuition.

KLARAPTOR is a compile-time tool for dynamically finding optimal kernel launch parameters for CUDA programs. This tool is based on LLVM and uses compile-time analysis to automatically, at run-time, determine kernel launch parameters (i.e. thread block configurations) which produce (nearly)-optimal kernel execution time for each individual kernel invocation.

Teaching

Students

Find Me


Goldberg CS Building 217
Dalhousie University

Email


ABrandt <at> dal <dot> ca

Meet-up