Execution gets stuck in NvIFR_CreateEx_fn(&params) gets stuck

NvIFR_CreateEx_fn(&params) from NvIFRLibrary.h does not return or throw any exception.

//encoder.cpp
NvIFRLibrary NvIFRLib;
g_pIFR = (NvIFRToH264HWEncoder *) NvIFRLib.create (g_pD3DDevice, NVIFR_TOH264HWENCODER);
//NvIFRLibrary.h
    void *create(void *pDev, NvU32 dwInterfaceType)
    {
        //! Get the proc address for the NvIFR_Create function
        //! Create the NvIFR object
        NVIFR_CREATE_PARAMS params = {0};
        if (NvIFR_CreateEx_fn)
        {
            params.dwVersion = NVIFR_CREATE_PARAMS_VER;
            params.dwInterfaceType = dwInterfaceType;
            params.pDevice = pDev;
            NVIFRRESULT res = NvIFR_CreateEx_fn(&params);
            //execution gets stuck in NvIFR_CreateEx_fn()
            //no error code is returned neither any exception is thrown

            if (res != NVIFR_SUCCESS)
            {
                fprintf(stderr, "NvIFR_CreateEx failed with error %d.\n", res);
            }
        }
        else
        {
            fprintf(stderr, "Invalid call. NvIFR Library not initialized.\n");
        }
        return params.pNvIFR;
    }

This looks like a problem with SDK becuase it does not return any error code or throwing any exception. Are we doing anything wrong here?

This works fine for other games but not for Fiesta, we think this issue is with the SDK.
We are using GRID SDK 2.3.7

GRID SDK version 4.0.27 has been provided on partners.nvidia.com but it is for Maxwell only while we are using Kepler K520. Is latest GRID SDK also available for Kepler?