Review of Parallel and Distributed Architectures for Micromagnetic Codes