cudnn_frontend_get_plan.h
cudnn_frontend_EngineConfigGenerator.h
valarray
functional
cudnn_frontend_VariantPack.h
limits
iterator
cudnn_frontend_Engine.h
cstdint
cudnn_frontend_EngineConfig.h
cudnn_frontend_MatMulDesc.h
cudnn_frontend_Heuristics.h
cudnn.h
cmath
cassert
cudnn_frontend_PointWiseDesc.h
stdexcept
numeric
cudnn_frontend_get_plan.h
string
map
cudnn_frontend_Errata.h
cudnn_frontend_Logging.h
cudnn_frontend_Tensor.h
cudnn_frontend_EngineConfigGenerator.h
exception
fstream
cudnn_frontend_Filters.h
ostream
cudnn_frontend_ExecutionPlanCache.h
cudnn_frontend_Operation.h
cudnn_frontend_Reorder_Tensor.h
ios
cstdio
cudnn_frontend_ExecutionPlan.h
contrib/nlohmann/json/json.hpp
tuple
vector
cudnn_frontend_ConvDesc.h
cudnn_frontend_OperationGraph.h
cudnn_backend.h
utility
array
sstream
cudnn_frontend.h
cudnn_frontend_ReductionDesc.h
iosfwd
cstdlib
clocale
cctype
iostream
cstddef
unordered_map
mutex
type_traits
set
forward_list
algorithm
cstring
cudnn_frontend_utils.h
memory
istream
initializer_list
cudnn_frontend_EngineFallbackList.h
cudnn_backend_base.h
cudnn_frontend

    /*
    *Copyright(c)2021,NVIDIACORPORATION.Allrightsreserved.
    *
    *Permissionisherebygranted,freeofcharge,toanypersonobtaininga
    *copyofthissoftwareandassociateddocumentationfiles(the"Software"),
    *todealintheSoftwarewithoutrestriction,includingwithoutlimitation
    *therightstouse,copy,modify,merge,publish,distribute,sublicense,
    *and/orsellcopiesoftheSoftware,andtopermitpersonstowhomthe
    *Softwareisfurnishedtodoso,subjecttothefollowingconditions:
    *
    *Theabovecopyrightnoticeandthispermissionnoticeshallbeincludedin
    *allcopiesorsubstantialportionsoftheSoftware.
    *
    *THESOFTWAREISPROVIDED"ASIS",WITHOUTWARRANTYOFANYKIND,EXPRESSOR
    *IMPLIED,INCLUDINGBUTNOTLIMITEDTOTHEWARRANTIESOFMERCHANTABILITY,
    *FITNESSFORAPARTICULARPURPOSEANDNONINFRINGEMENT.INNOEVENTSHALL
    *THEAUTHORSORCOPYRIGHTHOLDERSBELIABLEFORANYCLAIM,DAMAGESOROTHER
    *LIABILITY,WHETHERINANACTIONOFCONTRACT,TORTOROTHERWISE,ARISING
    *FROM,OUTOFORINCONNECTIONWITHTHESOFTWAREORTHEUSEOROTHER
    *DEALINGSINTHESOFTWARE.
    */

    #pragmaonce

    #include<cudnn_frontend_EngineConfigGenerator.h>

    namespacecudnn_frontend{

    auto
    EngineConfigGenerator::cudnnGetPlan(cudnnHandle_thandle,OperationGraph&opGraph)
    ->executionPlans_t{
    //Creatingasetofexecutionplansthataresupported.
    executionPlans_tplans;
    for(auto&engine_config:generate_engine_config(opGraph)){
    #ifndefNV_CUDNN_DISABLE_EXCEPTION
    try{
    #endif
    plans.push_back(ExecutionPlanBuilder().setHandle(handle).setEngineConfig(engine_config,opGraph.getTag()).build());
    getLogger()<<"[cudnn_frontend]Addedplan"<<plans.back().getTag()<<""<<to_string(plans.back().get_status())<<std::endl;
    #ifndefNV_CUDNN_DISABLE_EXCEPTION
    }catch(cudnnException&e){
    continue;
    }
    #endif
    }
    returnplans;
    }

    auto
    EngineConfigGenerator::cudnnGetPlan(cudnnHandle_thandle,OperationGraph&opGraph,Predicatepred)
    ->executionPlans_t{
    //Creatingasetofexecutionplansthataresupported.
    executionPlans_tplans=cudnnGetPlan(handle,opGraph);
    returnfilter(pred,plans);
    }
    }