33
44#include "blake3.cu"
55
6+ //#define SHOW_MINING_TIME 1
7+
68void worker_stream_callback (cudaStream_t stream , cudaError_t status , void * data );
79
810void start_worker_mining (mining_worker_t * worker )
@@ -12,23 +14,31 @@ void start_worker_mining(mining_worker_t *worker)
1214 reset_worker (worker );
1315 TRY ( cudaMemcpyAsync (hasher (worker , false), hasher (worker , true), hasher_len (worker ), cudaMemcpyHostToDevice , worker -> stream ) );
1416
17+ #ifdef SHOW_MINING_TIME
1518 cudaEvent_t startEvent , stopEvent ;
1619 TRY ( cudaEventCreate (& startEvent ) );
1720 TRY ( cudaEventCreate (& stopEvent ) );
18-
1921 TRY ( cudaEventRecord (startEvent , worker -> stream ) );
22+ #endif
23+
2024 // blake3_hasher_mine<<<worker->grid_size, worker->block_size, 0, worker->stream>>>(worker->device_hasher);
2125 MINER_IMPL (worker )<<< worker -> grid_size , worker -> block_size , 0 , worker -> stream >>> (worker -> device_hasher .inline_hasher );
2226
27+ #ifdef SHOW_MINING_TIME
2328 TRY ( cudaEventRecord (stopEvent , worker -> stream ) );
29+ #endif
2430
2531 TRY (cudaMemcpyAsync (hasher (worker , true), hasher (worker , false), hasher_len (worker ), cudaMemcpyDeviceToHost , worker -> stream ));
2632
2733 TRY ( cudaStreamAddCallback (worker -> stream , worker_stream_callback , worker , 0 ) );
2834
35+ #ifdef SHOW_MINING_TIME
2936 float time ;
3037 TRY ( cudaEventElapsedTime (& time , startEvent , stopEvent ) );
31- // printf(" === mining time: %f\n", time);
38+ TRY ( cudaEventDestroy (& startEvent ) );
39+ TRY ( cudaEventDestroy (& stopEvent ) );
40+ printf (" === mining time: %f\n" , time );
41+ #endif
3242}
3343
3444#endif // ALEPHIUM_MINING_H
0 commit comments