////***** Martin Lukačovič *****////
////***** VYUŽITIE GRAFICKÝCH PROCESOROV PRE UNIVERZÁLNE VÝPOČTY V PRIEMYSELNÝCH SYSTÉMOCH *****////
////***** Bakalárska práca *****////
////***** 4.6.2014, VUT v Brne *****////
////***** Vytvorené na základe vzorov v INTEL SDK APP *****////

#include < stdio.h >                                                                                                                                                
#include < stdlib.h > 
#include < CL/cl.h > 

int main() { 

    int i, j; 
	char* hodnota;
    size_t rozmerHodnoty; 
    cl_uint pocetPlatform; 
    cl_platform_id* platforma; 
    const char* nazovAtribut[3] = { "Nazov", "Predajca", "Verzia"}; 

             const cl_platform_info attributeTypes[5] = {CL_PLATFORM_NAME, CL_PLATFORM_VENDOR, CL_PLATFORM_VERSION}; 

			 const int attributeCount = sizeof(nazovAtribut) / sizeof(char*); 
 
			 clGetPlatformIDs(5, NULL, &pocetPlatform); 
			 platforma = (cl_platform_id*) malloc(sizeof(cl_platform_id) * pocetPlatform); 

			 clGetPlatformIDs(pocetPlatform, platforma, NULL); 

			 for (i = 0; i < pocetPlatform; i++) { 
			 printf("\n %d. Platforma \n", i+1); 

			 for (j = 0; j < attributeCount; j++) { 

             clGetPlatformInfo(platforma[i], attributeTypes[j], 0, NULL, &rozmerHodnoty); 
             hodnota = (char*) malloc(rozmerHodnoty); 

             clGetPlatformInfo(platforma[i], attributeTypes[j], rozmerHodnoty, hodnota, NULL); 
             printf("  %d.%d %-11s: %s\n", i+1, j+1, nazovAtribut[j], hodnota); 
             free(hodnota); 

        } 
			 printf("\n"); 
  } 
    free(platforma); 
	system("pause");
	return 0;
}