refine_subpelのSPU化
SPU化するコードを精査するためにoprofileを実施してみた。が、2.6.23-rc3カーネルはoprofileのモジュールが入っていないので実行できず。へたれな自分としてはカーネルコンパイルまでせず、fedora純正カーネルの2.6.22でbootして実行する。なぜかcallgraphは取れないけど実行結果は得られた。2月のgprofの結果とは違う部分もあるし同じような部分もある。
CPU: CPU with timer interrupt, speed 0 MHz (estimated) Profiling through timer interrupt samples % symbol name 44654 16.7263 x264_frame_filter 30927 11.5845 mc_chroma_altivec 23211 8.6943 quant_4x4 17810 6.6712 get_ref_altivec 12499 4.6818 ssim_4x4x2_core 10960 4.1053 pixel_satd_8x8_altivec 9851 3.6899 pixel_satd_16x16_altivec 9810 3.6746 pixel_satd_4x4_altivec 5958 2.2317 zigzag_scan_4x4_frame 5829 2.1834 refine_subpel 5489 2.0560 x264_me_search_ref 5416 2.0287 add4x4_idct 5016 1.8789 dequant_4x4 4551 1.7047 x264_frame_deblock_row 3964 1.4848 x264_macroblock_cache_load 3924 1.4698 ssim_end4 3769 1.4118 pixel_sad_x4_16x16_altivec 2944 1.1027 x264_macroblock_probe_skip 2720 1.0188 x264_mb_analyse_intra 2712 1.0158 add8x8_idct 2636 0.9874 zigzag_scan_4x4ac_frame 2252 0.8435 x264_macroblock_encode 2204 0.8256 x264_cabac_encode_decision 2038 0.7634 pixel_sad_x3_16x16_altivec 1985 0.7435 pixel_satd_8x16_altivec 1976 0.7402 pixel_sad_16x16_altivec 1885 0.7061 mc_copy_w16 1878 0.7035 x264_macroblock_cache_save 1864 0.6982 pixel_ssd_16x16_altivec 1787 0.6694 block_residual_write_cabac 1713 0.6416 pixel_sad_x4_8x8_altivec 1542 0.5776 predict_16x16_p 1372 0.5139 pixel_satd_4x8_altivec 1339 0.5016 x264_macroblock_analyse 1317 0.4933 pixel_satd_16x8_altivec 1221 0.4574 mc_copy_w8 1201 0.4499 add16x16_idct 1148 0.4300 x264_sub8x8_dct_altivec 1124 0.4210 pixel_satd_8x4_altivec 944 0.3536 pixel_sad_x3_8x8_altivec 935 0.3502 x264_mb_encode_8x8_chroma 898 0.3364 x264_mb_predict_mv_ref16x16 838 0.3139 x264_deblock_h_luma_altivec 823 0.3083 mc_luma_altivec 805 0.3015 predict_8x8c_p 737 0.2761 pixel_sad_8x8_altivec 732 0.2742 x264_mb_predict_mv 719 0.2693 x264_macroblock_write_cabac 661 0.2476 deblock_v_chroma_c 653 0.2446 x264_mb_encode_i4x4 650 0.2435 deblock_h_chroma_c 634 0.2375 pixel_sad_x4_8x16_altivec 600 0.2247 predict_4x4_hd 561 0.2101 x264_mb_analyse_inter_p16x16 535 0.2004 predict_4x4_vr 461 0.1727 x264_slice_write 404 0.1513 pixel_sad_8x16_altivec 401 0.1502 predict_4x4_vl 390 0.1461 quant_2x2_dc 383 0.1435 x264_cabac_mb_mvd 381 0.1427 x264_analyse_update_cache 358 0.1341 x264_pixel_ssim_wxh 349 0.1307 predict_4x4_ddr 337 0.1262 pixel_sad_x4_16x8_altivec 337 0.1262 x264_mb_analyse_inter_p8x8 330 0.1236 pixel_sad_x3_8x16_altivec 292 0.1094 predict_4x4_ddl 288 0.1079 x264_sub4x4_dct_altivec 285 0.1068 x264_mb_predict_mv_16x16 以後省略
で、この結果や2月のプロファイル結果やコードを見て、refine_subpelをSPU化してみることにする。