Non-negative matrix factorization with gradient descent using MPI abd OpenMP. Task on supercomputing course.