Parallel implementation of LU decomposition using OpenMP and MPI