ฟังก์ชันไลบรารี clGetProfileDataDeviceIntelFPGA ต้องถูกเรียกว่าในโค้ดโฮสต์เมื่อรวบรวมข้อมูลเคอร์เนลรันอัตโนมัติแบบไดนามิก หากฟังก์ชันนี้เรียกว่าโดยตรง การคอมไพล์โค้ดโฮสต์อาจล้มเหลวโดยมีข้อผิดพลาดดังที่อธิบายไว้ด้านล่าง
Linux (gcc)
ข้อผิดพลาด: 'clGetProfileDataDeviceIntelFPGA' ไม่ถูกประกาศในขอบเขตนี้
Windows (Microsoft Visual Studio)
ข้อผิดพลาด: สัญลักษณ์ภายนอกที่ยังไม่ได้แก้ไข clGetProfileDataDeviceIntelFPGA
หากระบบใช้ไดรเวอร์ ICD จะไม่สามารถใช้ฟังก์ชันที่ไม่ได้มาตรฐาน เช่น ฟังก์ชัน IntelFPGA โดยตรงได้ ต้องใช้ ClGetExtensionFunctionAddress ในการรับตัวชี้ฟังก์ชันสําหรับฟังก์ชันที่ไม่ได้มาตรฐาน และต้องใช้ตัวชี้ดังกล่าวเพื่อเรียก
การใช้ต้นแบบของฟังก์ชันจะอยู่ใน CL/ext.h
CL_API_ENTRY cl_int CL_API_CALLภายนอก
clGetProfileDataDeviceIntelFPGA(
cl_device_id /*device_id*/,
cl_program /*program*/,
cl_bool /*read_enqueue_kernels*/,
cl_bool /*read_auto_enqueued*/,
cl_bool /*clear_counters_after_readback*/,
size_t /*param_value_size*/,
โมฆะ * /*param_value*/,
size_t * /*param_value_size_ret*/,
cl_int * /*errcode_ret*/ );
เปลี่ยนสายฟังก์ชัน
สถานะcl_int = clGetProfileDataDeviceIntelFPGA (อุปกรณ์, โปรแกรม, เท็จ, จริง, เท็จ, 0, NULL, NULL, NULL);
ด้วยรหัสโดยใช้ข้อกรอกด้านล่าง
cl_int (*get_profile_fn)(cl_device_id, cl_program, cl_bool,cl_bool,cl_bool,size_t, โมฆะ *,size_t *,cl_int *);
get_profile_fn = (cl_int (*) (cl_device_id, cl_program, cl_bool,cl_bool,cl_bool,size_t, โมฆะ *,size_t *,cl_int *)))clGetExtensionFunctionAddress("clGetProfileDataDeviceIntelFPGA")
สถานะcl_int = (cl_int)(*get_profile_fn) (อุปกรณ์, โปรแกรม, เท็จ, จริง, เท็จ, 0, NULL, NULL, NULL);