Desculpa Benilton, mas seria esse o código completo:

grid <- expand.grid(i=1:ncol(m2), j=1:nrow(m1))
## versao 1
f <- function(idx)
   m1[grid[idx, 2],] %*% m2[, grid[idx, 1]]
matrix(unlist(mclapply(1:nrow(grid), f)), nc=ncol(m2), byrow=T)

## versao 2
g <- function(idx){
aux = 0
X = m1[grid[idx, 2], ]
Y = m2[, grid[idx, 1]]
for (i in 1:length(X))
aux = aux + X[i]*Y[i]
aux
}

matrix(unlist(mclapply(1:nrow(grid), g)), nc=ncol(m2), byrow=TRUE)

Obrigado, Junior.