On Thu, Sep 03, 2020 at 11:57:24PM +0800, xuju...@sjtu.edu.cn wrote: > From: Xu Jun <xuju...@sjtu.edu.cn> > > Use pthread to multithread dnn_execute_layer_conv2d. > Can be tested with command "./ffmpeg_g -i input.png -vf \ > format=yuvj420p,dnn_processing=dnn_backend=native:model= \ > espcn.model:input=x:output=y:options=conv2d_threads=23 \ > -y sr_native.jpg -benchmark" > > before patch: utime=11.238s stime=0.005s rtime=11.248s > after patch: utime=20.817s stime=0.047s rtime=1.051s > on my 3900X 12c24t @4.2GHz > > About the increase of utime, it's because that CPU HyperThreading > technology makes logical cores twice of physical cores while cpu's > counting performance improves less than double. And utime sums > all cpu's logical cores' runtime. As a result, using threads num > near cpu's logical core's number will double utime, while reduce > rtime less than half for HyperThreading CPUs. > > Signed-off-by: Xu Jun <xuju...@sjtu.edu.cn> > --- > .../dnn/dnn_backend_native_layer_conv2d.c | 92 ++++++++++++++++--- > 1 file changed, 81 insertions(+), 11 deletions(-)
[...] > +typedef struct thread_param{ > + thread_common_param *thread_common_param; > + int thread_index semicolon missing [...] > + //join threads, res gets function return > + for (int i = 0; i < thread_num; i++){ > + pthread_join(thread_id[i], &res); this should be under something like HAVE_PTHREAD_CANCEL thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB He who knows, does not speak. He who speaks, does not know. -- Lao Tsu
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".