<story><title>Triangle frenzy</title><url>https://cancandan.github.io/julia/graphics/cuda/2022/05/07/triangles.html</url></story><parent_chain></parent_chain><comment><author>torrance</author><text>I’ve used CUDA and Julia extensively in my work for radio astronomy imaging applications.&lt;p&gt;I can say it is a delight to work with. All the usual GPU tips and tricks still apply, of course, and you need to pay careful attention to sequential memory accesses and so on (as with all GPU programming). But staying in the one, high level language is a real boon, and having access to native types and methods directly in my kernels is fantastic. I can’t speak highly enough of it.&lt;p&gt;And for performance comparison, I see between 3-4 orders of magnitude improvement in speed, about as fast as native CUDA.</text></comment>
<story><title>Triangle frenzy</title><url>https://cancandan.github.io/julia/graphics/cuda/2022/05/07/triangles.html</url></story><parent_chain></parent_chain><comment><author>chrsig</author><text>I&amp;#x27;d be interested to see what each looks like if the allocations were done external to the benchmark.  For that matter, it&amp;#x27;d be interesting to see if after the allocations are factored out, if the same function could be used for cuda &amp;amp; cpu.  From there, I&amp;#x27;d be curious if the compiler is able to vectorize it automatically, or if it&amp;#x27;d benefit from a @simd&lt;p&gt;It&amp;#x27;s also great to see how well cuda is supported in julia.  I&amp;#x27;ve started to pick up julia lately, and find it incredibly pleasant to work with.  It feels like a lovely mix of haskell, lisp, and python, with a really nice repl.</text></comment>