////////////////////////////////////////////////////////////////////////////////
// Program main
////////////////////////////////////////////////////////////////////////////////
int main(int argc, char **argv)
{
    char device_name[256];
    char *ref_file = NULL;

    pArgc = &argc;
    pArgv = argv;

    printf("[%s] - Starting...\n", SDK_name);

    if (!findCUDADevice())               // Search for CUDA GPU
    {
        printf("> CUDA Device NOT found on \"%s\".. Exiting.\n", device_name);
        exit(EXIT_SUCCESS);
    }

    if (!dynlinkLoadD3D10API())              // Search for D3D API (locate drivers, does not mean device is found)
    {
        printf("> D3D10 API libraries NOT found.. Exiting.\n");
        dynlinkUnloadD3D10API();
        exit(EXIT_SUCCESS);
    }

    if (!findDXDevice(device_name))          // Search for D3D Hardware Device
    {
        printf("> D3D10 Graphics Device NOT found.. Exiting.\n");
        dynlinkUnloadD3D10API();
        exit(EXIT_SUCCESS);
    }

    // command line options
    if (argc > 1)
    {
        // automatied build testing harness
        if (checkCmdLineFlag(argc, (const char **)argv, "file"))
            getCmdLineArgumentString(argc, (const char **)argv, "file", &ref_file);
    }

    // run D3D10/CUDA test
    runTest(argc, argv, ref_file);

    //
    // and exit
    //
    printf("%s running on %s exiting...\n", SDK_name, device_name);

    // cudaDeviceReset causes the driver to clean up all state. While
    // not mandatory in normal operation, it is good practice.  It is also
    // needed to ensure correct operation when the application is being
    // profiled. Calling cudaDeviceReset causes all profile data to be
    // flushed before the application exits
    cudaDeviceReset();
    exit(g_bPassed ? EXIT_SUCCESS : EXIT_FAILURE);
}
Esempio n. 2
0
////////////////////////////////////////////////////////////////////////////////
// Program main
////////////////////////////////////////////////////////////////////////////////
int main(int argc, char **argv)
{
    char device_name[256];
    char *ref_file = NULL;

    pArgc = &argc;
    pArgv = argv;

    printf("[%s] - Starting...\n", SDK_name);

    if (!findCUDADevice())               // Search for CUDA GPU
    {
        printf("> CUDA Device NOT found on \"%s\".. Exiting.\n", device_name);
        exit(EXIT_SUCCESS);
    }

    if (!dynlinkLoadD3D10API())              // Search for D3D API (locate drivers, does not mean device is found)
    {
        printf("> D3D10 API libraries NOT found.. Exiting.\n");
        dynlinkUnloadD3D10API();
        exit(EXIT_SUCCESS);
    }

    if (!findDXDevice(device_name))          // Search for D3D Hardware Device
    {
        printf("> D3D10 Graphics Device NOT found.. Exiting.\n");
        dynlinkUnloadD3D10API();
        exit(EXIT_SUCCESS);
    }

    // command line options
    if (argc > 1)
    {
        // automatied build testing harness
        if (checkCmdLineFlag(argc, (const char **)argv, "file"))
            getCmdLineArgumentString(argc, (const char **)argv, "file", &ref_file);
    }

    // run D3D10/CUDA test
    runTest(argc, argv, ref_file);

    //
    // and exit
    //
    printf("%s running on %s exiting...\n", SDK_name, device_name);

    cudaDeviceReset();
    exit(g_bPassed ? EXIT_SUCCESS : EXIT_FAILURE);
}
Esempio n. 3
0
////////////////////////////////////////////////////////////////////////////////
// Program main
////////////////////////////////////////////////////////////////////////////////
int main(int argc, char **argv)
{
    char device_name[256];
    char *ref_file = NULL;

    pArgc = &argc;
    pArgv = argv;

    printf("> %s starting...\n", sSDKSample);

    if (!findCUDADevice())                   // Search for CUDA GPU
    {
        printf("> CUDA Device NOT found on \"%s\".. Exiting.\n", device_name);
        exit(EXIT_SUCCESS);
    }

    if (!dynlinkLoadD3D10API())                  // Search for D3D API (locate drivers, does not mean device is found)
    {
        printf("> D3D10 API libraries NOT found on.. Exiting.\n");
        dynlinkUnloadD3D10API();
        exit(EXIT_SUCCESS);
    }

    if (!findDXDevice(device_name))              // Search for D3D Hardware Device
    {
        printf("> D3D10 Graphics Device NOT found.. Exiting.\n");
        dynlinkUnloadD3D10API();
        exit(EXIT_SUCCESS);
    }

    if (argc > 1)
    {
        if (checkCmdLineFlag(argc, (const char **)argv, "file"))
        {
            getCmdLineArgumentString(argc, (const char **)argv, "file", (char **)&ref_file);
        }
    }

    runTest(argc, argv, ref_file);

    //
    // and exit
    //
    printf("%s running on %s exiting...\n", sSDKSample, device_name);
    printf("%s sample finished returned: %s\n", sSDKSample, (g_bPassed ? "OK" : "ERROR!"));
    exit(g_bPassed ? EXIT_SUCCESS : EXIT_FAILURE);
}