@@ -81,7 +81,7 @@ int whisper_bench_full(const whisper_params & params) {
81
81
}
82
82
// heat encoder
83
83
if (int ret = whisper_encode (ctx, 0 , params.n_threads ) != 0 ) {
84
- fprintf (stderr, " error: failed to encode model : %d\n " , ret);
84
+ fprintf (stderr, " error: failed to encode: %d\n " , ret);
85
85
return 4 ;
86
86
}
87
87
@@ -90,34 +90,44 @@ int whisper_bench_full(const whisper_params & params) {
90
90
91
91
// prompt heat
92
92
if (int ret = whisper_decode (ctx, tokens, 256 , 0 , params.n_threads ) != 0 ) {
93
- fprintf (stderr, " error: failed to encode model : %d\n " , ret);
93
+ fprintf (stderr, " error: failed to decode : %d\n " , ret);
94
94
return 4 ;
95
95
}
96
96
97
97
// text-generation heat
98
98
if (int ret = whisper_decode (ctx, tokens, 1 , 256 , params.n_threads ) != 0 ) {
99
- fprintf (stderr, " error: failed to encode model : %d\n " , ret);
99
+ fprintf (stderr, " error: failed to decode : %d\n " , ret);
100
100
return 4 ;
101
101
}
102
102
103
103
whisper_reset_timings (ctx);
104
104
105
105
// actual run
106
106
if (int ret = whisper_encode (ctx, 0 , params.n_threads ) != 0 ) {
107
- fprintf (stderr, " error: failed to encode model : %d\n " , ret);
107
+ fprintf (stderr, " error: failed to encode: %d\n " , ret);
108
108
return 4 ;
109
109
}
110
110
111
- for (int i = 0 ; i < 16 ; i++) {
112
- if (int ret = whisper_decode (ctx, tokens, 256 , 0 , params.n_threads ) != 0 ) {
113
- fprintf (stderr, " error: failed to encode model: %d\n " , ret);
111
+ // text-generation
112
+ for (int i = 0 ; i < 256 ; i++) {
113
+ if (int ret = whisper_decode (ctx, tokens, 1 , i, params.n_threads ) != 0 ) {
114
+ fprintf (stderr, " error: failed to decode: %d\n " , ret);
114
115
return 4 ;
115
116
}
116
117
}
117
118
118
- for (int i = 0 ; i < 256 ; i++) {
119
- if (int ret = whisper_decode (ctx, tokens, 1 , i, params.n_threads ) != 0 ) {
120
- fprintf (stderr, " error: failed to encode model: %d\n " , ret);
119
+ // batched decoding
120
+ for (int i = 0 ; i < 64 ; i++) {
121
+ if (int ret = whisper_decode (ctx, tokens, 5 , 0 , params.n_threads ) != 0 ) {
122
+ fprintf (stderr, " error: failed to decode: %d\n " , ret);
123
+ return 4 ;
124
+ }
125
+ }
126
+
127
+ // prompt processing
128
+ for (int i = 0 ; i < 16 ; i++) {
129
+ if (int ret = whisper_decode (ctx, tokens, 256 , 0 , params.n_threads ) != 0 ) {
130
+ fprintf (stderr, " error: failed to decode: %d\n " , ret);
121
131
return 4 ;
122
132
}
123
133
}
0 commit comments