I encountered the term thread in abstraction in OS which means a piece of code which can be executed independently and kernel that it performs the crucial tasks of the OS. But recently, I encountered the same term in Parallelization of Programs related course in reference with GPU's. Where thread are something physical in GPU's i guess and kernel I couldn't get. If there is any difference, It would be great to learn about that!
I tried looking up online but couldn't find more than articles related to such terms in OS. I was expecting a comparison with a example or working maybe.