<p dir="auto">I want to go through Tensorflow's CUDA kernels and optimize them. It seems like all the CUDA kernels are defined in <code class="notranslate">tensorflow/core/kernels</code> and <code class="notranslate">tensorflow/contrib</code> with some helper functions in <code class="notranslate">tensorflow/core/util</code>.</p>
<ol dir="auto">
<li>
<p dir="auto">Is it okay for me to optimize kernels in tensorflow/core/kernels and send pull request?</p>
</li>
<li>
<p dir="auto">now that tensorflow is moving to 2.0, are the CUDA kernels going to also change so dramatically that any improvements to them now could be rendered useless?</p>
</li>
<li>
<p dir="auto">what are some conventions or practices when writing CUDA kernels? I have read the <code class="notranslate">contrib.md</code>, but there was nothing special on CUDA kernels ( ex. " Do not change kernel launch configurations " or " must support devices of compute capability &gt;= 3.0 " )</p>
</li>
<li>
<p dir="auto">must I use <code class="notranslate">CudaGridRangeX</code> over regular for loops?</p>
</li>
<li>
<p dir="auto">Is there way to test and profile each .cu file individually, instead of having to rebuild the entire tensorflow or even having to test all kernels?</p>
</li>
</ol>
<p dir="auto">I want to go through Tensorflow's CUDA kernels and optimize them.  It seems like all the CUDA kernels are defined in <code class="notranslate">tensorflow/core/kernels</code> and <code class="notranslate">tensorflow/contrib</code> with some helper functions in <code class="notranslate">tensorflow/core/util</code>.</p>
<ol dir="auto">
<li>Is it okay for me to optimize kernels in <code class="notranslate">tensorflow/core/kernels</code> and send pull request?</li>
<li>now that tensorflow is moving to 2.0, are the CUDA kernels going to also change so dramatically that any improvements to them now could be rendered useless?</li>
<li>what are some conventions or practices when writing CUDA kernels? I have read the <a href="https://github.com/tensorflow/tensorflow/blob/master/CONTRIBUTING.md">contrib.md</a>, but there was nothing special on CUDA kernels ( ex. " Do not change kernel launch configurations " or " must support devices of compute capability &gt;= 3.0 " )</li>
<li>must I use <code class="notranslate">CudaGridRangeX</code> over regular for loops?</li>
<li>Is there way to test and profile each .cu file individually, instead of having to rebuild the entire tensorflow or even having to test all kernels?</li>
</ol>