私は以下のthrust :: transform呼び出しを持っています。推力変換のptxカーネルの検出
my_functor *f_1 = new my_functor();
thrust::transform(data.begin(), data.end(), data.begin(),*f_1);
PTXファイルで対応するカーネルを検出したいと思います。しかし、my_functorを含んだ多くのカーネルが、混乱した名前にあります。例 -
_ZN6thrust6system4cuda6detail6detail23launch_closure_by_valueINS2_17for_each_n_detail18for_each_n_closureINS_12zip_iteratorINS_5tupleINS_6detail15normal_iteratorINS_10device_ptrIiEEEESD_NS_9null_typeESE_SE_SE_SE_SE_SE_SE_EEEEjNS9_30device_unary_transform_functorI10my_functorEENS3_20blocked_thread_arrayEEEEEvT_
_ZN6thrust6system4cuda6detail6detail23launch_closure_by_valueINS2_17for_each_n_detail18for_each_n_closureINS_12zip_iteratorINS_5tupleINS_6detail15normal_iteratorINS_10device_ptrIiEEEESD_NS_9null_typeESE_SE_SE_SE_SE_SE_SE_EEEElNS9_30device_unary_transform_functorI10my_functorEENS3_20blocked_thread_arrayEEEEEvT_
_ZN6thrust6detail15device_functionINS0_30device_unary_transform_functorI10my_functorEEvEC1ERKS4_
カーネルが起動され、これらの他のカーネルは何のために
?
なぜ1つのカーネルだけが起動すると思いますか? – Drop
@Drop私は、単純な算術のために複数のカーネルを起動することは非効率的であり、これらのカーネルのいくつかの命令は非常に似ていると考えました – shailesh