Example #1
0
int
main(int argc, char * argv[])
{
    NBody clNBody("OpenCL NBody");
    me = &clNBody;

    clNBody.setup();
    clNBody.run();
    clNBody.verifyResults();

    clNBody.printStats();

    if(display) {
        // Run in  graphical window if requested
        glutInit(&argc, argv);
        glutInitWindowPosition(100,10);
        glutInitWindowSize(600,600);
        glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
        glutCreateWindow("nbody simulation");
        GLInit();
        glutDisplayFunc(displayfunc);
        glutReshapeFunc(reShape);
        glutIdleFunc(idle);
        glutKeyboardFunc(keyboardFunc);
        glutMainLoop();
    }

    clNBody.cleanup();

    return 0;
}
Example #2
0
int 
main(int argc, char * argv[])
{
    NBody clNBody("OpenCL NBody");
    me = &clNBody;

    if(clNBody.initialize() != SDK_SUCCESS)
        return SDK_FAILURE;
    if(!clNBody.parseCommandLine(argc, argv))
        return SDK_FAILURE;

    if(clNBody.isDumpBinaryEnabled())
    {
        return clNBody.genBinaryImage();
    }
    else
    {
        cl_int retValue = clNBody.setup();
        if(retValue != SDK_SUCCESS)
            return (retValue == SDK_EXPECTED_FAILURE) ? SDK_SUCCESS : SDK_FAILURE;

        if(clNBody.run() != SDK_SUCCESS)
            return SDK_FAILURE;
        if(clNBody.verifyResults() != SDK_SUCCESS)
            return SDK_FAILURE;

        clNBody.printStats();

        if(display)
        {
            // Run in  graphical window if requested 
            glutInit(&argc, argv);
            glutInitWindowPosition(100,10);
            glutInitWindowSize(600,600); 
            glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
            glutCreateWindow("nbody simulation"); 
            GLInit(); 
            glutDisplayFunc(displayfunc); 
            glutReshapeFunc(reShape);
            glutIdleFunc(idle); 
            glutKeyboardFunc(keyboardFunc);
            glutMainLoop();
        }

        if(clNBody.cleanup()!=SDK_SUCCESS)
            return SDK_FAILURE;
    }

    return SDK_SUCCESS;
}