Multi threading at the kernel level means that multiples processes can be executed on different threads at the same time.
User level threads reside in the processes which do not share same address space.
So, which type of thread is better for computation-intensive parallel applications and I/O intensive parallel applications?
In reality there is no advantage whatsoever of user level threads over kernel level threads. (There are some useless textbooks that invent such advantages.)
User threads are poor-mans threading that was invented in the days before kernel threads existed. They persist only because certain operating systems have not implemented kernel threads.