A fast parallel SGD for matrix factorization in shared memory systems | Synapse