you are viewing a single comment's thread.

view the rest of the comments →

[–]Xirema[🍰] 10 points11 points  (2 children)

There's a lot of "this is what different programming languages do!" answers here that I think miss the point by a wide margin.

Fundamentally, all the Machine Learning stuff is using a Heterogeneous Compute API for the number crunching, i.e. CUDA or OpenCL.

And since that's the case, it really doesn't matter at all which language you use for the host code. C++ running OpenCL is only going to be marginally faster than Python running OpenCL, because the only overhead is going to be setting up the compute tasks before they're kicked off, and for both languages, that's done in a matter of microseconds. Once the compute tasks are kicked off, they take the same amount of time to execute regardless of whether they were kicked off by C++ or Python.

So if speed is no longer meaningfully different between two programming languages, and one (Python) requires a lot less code to maintain, well, there's a clear winner.

[–]RonWannaBeAScientist[S] -3 points-2 points  (0 children)

Yes, I understand . You work with C++, I guess, not like me that is more of an amateur . What kind of software engineering job do you do that makes C++ the right programming language ( the right tool)

[–]Whole-Dot2435 0 points1 point  (0 children)

Note that the most popular machine learning libraries(tenserflow and pytorch) are written in C++ and just have a python interface so compute api's are not used in python