The stress driven grain boundary diffusion problem is a continuum model of mass transport phenomena in microelectronic circuits due to high current densities (electromigration) and gradients in normal stress along grain boundaries. The model involves coupling many different equations and phenomena, and difficulties such as non-locality, stiffness, complex geometry, and singularities in the stress tensor near corners and junctions make the problem difficult to analyze rigorously and simulate numerically. We present a new numerical approach to this problem using techniques from semigroup theory to represent the solution. The generator of this semigroup is the composition of a type of Dirichlet to Neumann map on the grain boundary network with the Laplace operator on the network. To compute the former, we solve the equations of linear elasticity several times, once for each basis function on the grain boundary. We resolve singularities in the stress field near corners and junctions by adjoining special singular basis functions to both finite element spaces (2d for elasticity, 1d for grain boundary functions). We develop data structures to handle jump discontinuities in displacement across grain boundaries, singularities in the stress field, complicated boundary conditions at junctions and interfaces, and the lack of a natural ordering for the nodes on a branching grain boundary network. The method is used to study grain boundary diffusion for several geometries.