| 
                    cl_int
 clGetProgramBuildInfo
                ( | cl_program program, | 
| cl_device_id device, | |
| cl_program_build_info param_name, | |
| size_t param_value_size, | |
| void *param_value, | |
| size_t  *param_value_size_ret ) | 
program
              
            Specifies the program object being queried.
device
              
            
                    Specifies the device for which build information is being queried.
                    device must be a valid device associated with program.
                
                        param_name
                
              
            
                      Specifies the information to query. The list of supported
                      param_name types and the information returned in
                      param_value by clGetProgramBuildInfo
                      is described in the table below.
                    
| cl_program_build_info | Return Type and Info. returned in param_value | 
|---|---|
| CL_PROGRAM_BUILD_STATUS | Return type: cl_build_status 
                                          Returns the build, compile or link status, whichever was
                                          performed last on  This can be one of the following: 
                                           
                                           
                                           
                                           | 
| CL_PROGRAM_BUILD_OPTIONS | Return type: char[] 
                                          Return the build, compile or link
                                          options specified by the  
                                          If build status of  | 
| CL_PROGRAM_BUILD_LOG | Return type: char[] 
                                          Return the build, compile or link log for
                                          clBuildProgram or
                                          clCompileProgram
                                          whichever was performed last on  
                                          If build status of  | 
| CL_PROGRAM_BINARY_TYPE | Return type: cl_program_binary_type 
                                          Return the program binary type for
                                           
                                           
                                           
                                           
                                           
                                             | 
| CL_PROGRAM_BUILD_GLOBAL_-
VARIABLE_TOTAL_SIZE | Return type: size_t The total amount of storage, in bytes, used by program variables in the global address space. | 
param_value
              
            
                    A pointer to memory where the appropriate result being queried is returned.
                    If param_value is NULL, it is ignored.
                
param_value_size
              
            
                    Specifies the size in bytes of memory pointed to by param_value. This size
                    must be ≥ size of return type as described in the table above.
                
param_value_size_ret
              
            
                    Returns the actual size in bytes of data copied to param_value.
                    If param_value_size_ret is NULL, it is ignored.
                
A program binary (compiled binary, library binary or executable binary) built for a parent device can be used by all its sub-devices. If a program binary has not been built for a sub-device, the program binary associated with the parent device will be used.
A program binary for a device specified with clCreateProgramWithBinary or queried using clGetProgramInfo can be used as the binary for the associated root device, and all sub-devices created from the root-level device or sub-devices thereof.
Returns CL_SUCCESS if the function is executed successfully. Otherwise it returns the following:
device
              is not in the list of devices associated with program.
            param_name is
              not valid, or if size in bytes specified by param_value_size
              is < size of return type as described in the table above and
              param_value is not NULL.
            program
              is a not a valid program object.
             Copyright © 2007-2013 The Khronos Group Inc. 
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.
Copyright © 2007-2013 The Khronos Group Inc. 
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.