Some considerations about cuda learning

Greetings, I hope that I am not out of subject for this forum. I am writing to share some of my concerns and experiences. I am new in cuda, a few months, and I am working on my own in my free time. To understand the basic concepts I am reading from books, manuals and studding the CUDA SDK. Recently I have started online courses and things become more clear about the cuda realm. However, I have noticed that skill enhancing is going stable but with slow pace. In each algorithm I study, e.g., reduction, scan, histogram and some of the image processing I met difficulties but finally in long term concepts become more clear. In addition, each day it passes I fill closer to cuda logic but at the same time to far away from real understanding. According to the opinion of those how are reading this post and they are skilled enough can they share some of their experiences to encourage and guide the new ones who have passion with learning? What it would be a good practice to improve our techniques?Which is the average time for someone to be considered ready for real practice? For those how working cuda as a hobby, is it recommended to get involved in an open source program for start working in real practice way?

Thank you for your time.

It depends on how advance you want to be and how complicated codes you. I was lucky that I had a code using fft libraries and it only took me 1 week to do it. So it also depends on how much time and resources you want to invest. Most important it depends on your boss, if it is willing to take a risk and wait or wants immediate results.

Limited time is an obstacle. Me personally I am a graduate (Ms) student and I am working cuda at nights like reading a fairy tail which can became a nightmare for some days if do not make head or tails. Libraries are good tools that provide optimized codes but understanding low level concepts is even better. The problem is when you working all alone from the beginning, it can become very time consuming, having in plan to use what you have learned efficiently in the future. My thoughts was how useful or feasible would be for someone who knows the basics, e.i read a book, manuals and attending in a online course, to participate in a opensource project to start thinking more seriously. Again experience probably counts in order for you to be accepted. Anyway, there are a lot of variables in these subjects maybe my original post is redundant a product of over excitement…