SVDalgorithm second step (namely diagonalization) is by-nature iterative with a number of iterations to converge mathematically known as O(M) for matrix [MxN]. So, none certain number may guaranty convergence. The only fact is that it will converge for some finite number of iterations.
Actually, mathematical number of iteration depends on input data only. So, nIter can be considered as safe guard to stop calculation in case SVD converges too long.
agood way would be to start with nIter=N*M (for example, in your casenIter=9)then double until SVD converge (untill the function returns ippStsNoErr, the function returns ippStsSVDCnvgErr indicates an error when the SVD algorithm has not converged after nIter iterations)