@ -183,10 +183,13 @@ void SetInput(std::vector<std::vector<PaddleTensor>> *inputs) {
}
// Easy for profiling independently.
TEST ( Analyzer_Transformer , profil e) {
void profile ( bool use_mkldnn = fals e) {
AnalysisConfig cfg ;
SetConfig ( & cfg ) ;
std : : vector < PaddleTensor > outputs ;
if ( use_mkldnn ) {
cfg . EnableMKLDNN ( ) ;
}
std : : vector < std : : vector < PaddleTensor > > input_slots_all ;
SetInput ( & input_slots_all ) ;
@ -194,6 +197,11 @@ TEST(Analyzer_Transformer, profile) {
input_slots_all , & outputs , FLAGS_num_threads ) ;
}
TEST ( Analyzer_Transformer , profile ) { profile ( ) ; }
# ifdef PADDLE_WITH_MKLDNN
TEST ( Analyzer_Transformer , profile_mkldnn ) { profile ( true ) ; }
# endif
// Check the fuse status
TEST ( Analyzer_Transformer , fuse_statis ) {
AnalysisConfig cfg ;
@ -206,9 +214,12 @@ TEST(Analyzer_Transformer, fuse_statis) {
}
// Compare result of NativeConfig and AnalysisConfig
TEST ( Analyzer_Transformer , compar e) {
void compare ( bool use_mkldnn = fals e) {
AnalysisConfig cfg ;
SetConfig ( & cfg ) ;
if ( use_mkldnn ) {
cfg . EnableMKLDNN ( ) ;
}
std : : vector < std : : vector < PaddleTensor > > input_slots_all ;
SetInput ( & input_slots_all ) ;
@ -216,5 +227,10 @@ TEST(Analyzer_Transformer, compare) {
reinterpret_cast < const PaddlePredictor : : Config * > ( & cfg ) , input_slots_all ) ;
}
TEST ( Analyzer_Transformer , compare ) { compare ( ) ; }
# ifdef PADDLE_WITH_MKLDNN
TEST ( Analyzer_Transformer , compare_mkldnn ) { compare ( true /* use_mkldnn */ ) ; }
# endif
} // namespace inference
} // namespace paddle