OpenCL ਬੋਰਡ ਲਈ AN 824 FPGA SDK
ਸਪੋਰਟ ਪੈਕੇਜ ਫਲੋਰਪਲਾਨ
ਯੂਜ਼ਰ ਗਾਈਡ
Intel® FPGA SDK ਲਈ OpenCL™ ਬੋਰਡ ਸਪੋਰਟ ਪੈਕੇਜ ਫਲੋਰਪਲਾਨ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਗਾਈਡ
OpenCL™ ਬੋਰਡ ਸਪੋਰਟ ਪੈਕੇਜ (BSP) ਫਲੋਰਪਲਾਨ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਗਾਈਡ ਲਈ Intel/® FPGA SDK OpenCL) BSP ਲਈ ਫਲੋਰ ਪਲੈਨਿੰਗ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਹ ਇਸ ਬਾਰੇ ਮਾਰਗਦਰਸ਼ਨ ਵੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਸਰਵੋਤਮ ਔਸਤ ਅਧਿਕਤਮ ਓਪਰੇਟਿੰਗ ਬਾਰੰਬਾਰਤਾ ਨਾਲ ਅਧਾਰ ਬੀਜ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ BSP ਸਰੋਤ ਉਪਯੋਗਤਾ ਕੁਸ਼ਲਤਾ ਦਾ ਮੁਲਾਂਕਣ ਕਰ ਸਕਦੇ ਹੋ।
ਇਹ ਦਸਤਾਵੇਜ਼ ਮੰਨਦਾ ਹੈ ਕਿ ਤੁਸੀਂ OpenCL(2) ਸੰਕਲਪਾਂ ਤੋਂ ਜਾਣੂ ਹੋ ਜਿਵੇਂ ਕਿ Khronos ਗਰੁੱਪ ਦੁਆਰਾ OpenCL ਸਪੈਸੀਫਿਕੇਸ਼ਨ ਵਰਜਨ 1.0 ਵਿੱਚ ਦੱਸਿਆ ਗਿਆ ਹੈ।
ਓਪਨਸੀਐਲ ਬੀਐਸਪੀ ਸੰਕਲਨ ਪ੍ਰਵਾਹ
OpenCL BSP ਹੇਠ ਲਿਖੀਆਂ ਕਿਸਮਾਂ ਦੇ ਕੰਪਾਈਲ ਪ੍ਰਵਾਹ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ:
- ਫਲੈਟ ਕੰਪਾਈਲ [–bsp-ਫਲੋ ਫਲੈਟ]: ਪੂਰੇ ਡਿਜ਼ਾਈਨ ਦਾ ਇੱਕ ਫਲੈਟ ਕੰਪਾਈਲੇਸ਼ਨ ਕਰਦਾ ਹੈ (ਕਰਨਲ ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਹਾਰਡਵੇਅਰ ਦੇ ਨਾਲ BSP)।
- ਬੇਸ ਕੰਪਾਈਲ [–bsp-ਫਲੋ ਬੇਸ]: base.qsf ਤੋਂ LogicLock ਪਾਬੰਦੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਅਧਾਰ ਸੰਕਲਨ ਕਰਦਾ ਹੈ file. ਕਰਨਲ ਕਲਾਕ ਦਾ ਟੀਚਾ ਆਰਾਮਦਾਇਕ ਹੈ ਤਾਂ ਜੋ BSP ਹਾਰਡਵੇਅਰ ਨੂੰ ਸਮੇਂ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਵਧੇਰੇ ਆਜ਼ਾਦੀ ਮਿਲੇ। ਇੱਕ base.qar ਡਾਟਾਬੇਸ BSP ਹਾਰਡਵੇਅਰ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਣ ਲਈ ਬਣਾਇਆ ਗਿਆ ਹੈ, ਜੋ ਕਿ ਸਥਿਰ ਖੇਤਰ ਹੈ।
- ਆਯਾਤ ਕੰਪਾਇਲ [ ]: base.qar ਡੇਟਾਬੇਸ ਤੋਂ ਟਾਈਮਿੰਗ ਬੰਦ ਸਥਿਰ ਖੇਤਰ ਨੂੰ ਰੀਸਟੋਰ ਕਰਦਾ ਹੈ ਅਤੇ ਸਿਰਫ ਕਰਨਲ ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਹਾਰਡਵੇਅਰ ਨੂੰ ਕੰਪਾਇਲ ਕਰਦਾ ਹੈ। ਇਹ ਵਧੀਆ ਕਰਨਲ ਅਧਿਕਤਮ ਓਪਰੇਟਿੰਗ ਬਾਰੰਬਾਰਤਾ (fmax) ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕਰਨਲ ਕਲਾਕ ਟੀਚੇ ਨੂੰ ਵੀ ਵਧਾਉਂਦਾ ਹੈ।
ਓਪਨਸੀਐਲ ਬੀਐਸਪੀ ਫਲੋਰਪਲਾਨ ਪਾਰਟੀਸ਼ਨ
OpenCL BSP ਫਲੋਰਪਲਾਨ ਮੁੱਖ ਤੌਰ 'ਤੇ ਹੇਠਾਂ ਦਿੱਤੇ ਦੋ ਖੇਤਰਾਂ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ ਹੈ:
- ਸਥਿਰ ਖੇਤਰ: BSP ਸੰਬੰਧਿਤ ਹਾਰਡਵੇਅਰ ਵਾਲੇ ਖੇਤਰ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜੋ ਸਥਿਰ ਰਹਿੰਦਾ ਹੈ। ਅਧਾਰ ਸੰਕਲਨ ਦੇ ਦੌਰਾਨ ਇਸ ਖੇਤਰ ਲਈ ਸਮਾਂ ਬੰਦ ਹੈ। ਆਮ ਤੌਰ 'ਤੇ, ਟੀਚਾ ਸਮਾਂ ਬੰਦ ਕਰਨ ਲਈ ਇਸ ਖੇਤਰ ਦੁਆਰਾ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਚਿੱਪ ਸਰੋਤਾਂ ਨੂੰ ਘੱਟ ਤੋਂ ਘੱਟ ਕਰਨਾ ਹੈ।
- ਕਰਨਲ ਖੇਤਰ: ਅੰਸ਼ਕ ਰੀਕਨਫਿਗਰੇਸ਼ਨ (PR) ਖੇਤਰ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜੋ freeze_wrapper_inst|kernel_system_inst ਮੋਡੀਊਲ ਲਈ ਰਾਖਵਾਂ ਹੈ, ਜਿਸ ਵਿੱਚ ਕਰਨਲ ਹੁੰਦਾ ਹੈ। ਆਮ ਤੌਰ 'ਤੇ, ਟੀਚਾ ਇਸ ਖੇਤਰ ਲਈ ਵੱਧ ਤੋਂ ਵੱਧ ਹੱਦ ਤੱਕ ਚਿੱਪ ਸਰੋਤਾਂ ਨੂੰ ਰਿਜ਼ਰਵ ਕਰਨਾ ਹੈ।
- OpenCL ਲਈ Intel FPGA SDK ਇੱਕ ਪ੍ਰਕਾਸ਼ਿਤ Khronos ਨਿਰਧਾਰਨ 'ਤੇ ਅਧਾਰਤ ਹੈ, ਅਤੇ Khronos Conformance ਟੈਸਟਿੰਗ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਪਾਸ ਕੀਤਾ ਹੈ। ਮੌਜੂਦਾ ਅਨੁਕੂਲਤਾ ਸਥਿਤੀ 'ਤੇ ਲੱਭੀ ਜਾ ਸਕਦੀ ਹੈ www.khronos.org/conformance.
- OpenCL ਅਤੇ OpenCL ਲੋਗੋ Apple Inc. ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ ਅਤੇ Khronos Group™ ਦੀ ਇਜਾਜ਼ਤ ਦੁਆਰਾ ਵਰਤੇ ਜਾਂਦੇ ਹਨ।
ਇੰਟੇਲ ਕਾਰਪੋਰੇਸ਼ਨ. ਸਾਰੇ ਹੱਕ ਰਾਖਵੇਂ ਹਨ. Intel, Intel ਲੋਗੋ, ਅਤੇ ਹੋਰ Intel ਚਿੰਨ੍ਹ Intel ਕਾਰਪੋਰੇਸ਼ਨ ਜਾਂ ਇਸਦੀਆਂ ਸਹਾਇਕ ਕੰਪਨੀਆਂ ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ। Intel ਆਪਣੇ FPGA ਅਤੇ ਸੈਮੀਕੰਡਕਟਰ ਉਤਪਾਦਾਂ ਦੇ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ Intel ਦੀ ਸਟੈਂਡਰਡ ਵਾਰੰਟੀ ਦੇ ਅਨੁਸਾਰ ਮੌਜੂਦਾ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੇ ਅਨੁਸਾਰ ਵਾਰੰਟ ਦਿੰਦਾ ਹੈ, ਪਰ ਬਿਨਾਂ ਨੋਟਿਸ ਦੇ ਕਿਸੇ ਵੀ ਸਮੇਂ ਕਿਸੇ ਵੀ ਉਤਪਾਦਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਕਰਨ ਦਾ ਅਧਿਕਾਰ ਰਾਖਵਾਂ ਰੱਖਦਾ ਹੈ। ਇੰਟੇਲ ਇੱਥੇ ਵਰਣਿਤ ਕਿਸੇ ਵੀ ਜਾਣਕਾਰੀ, ਉਤਪਾਦ, ਜਾਂ ਸੇਵਾ ਦੀ ਅਰਜ਼ੀ ਜਾਂ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੀ ਕੋਈ ਜ਼ਿੰਮੇਵਾਰੀ ਜਾਂ ਜ਼ਿੰਮੇਵਾਰੀ ਨਹੀਂ ਲੈਂਦਾ, ਸਿਵਾਏ ਇੰਟੇਲ ਦੁਆਰਾ ਲਿਖਤੀ ਤੌਰ 'ਤੇ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਸਹਿਮਤ ਹੋਏ। Intel ਗਾਹਕਾਂ ਨੂੰ ਕਿਸੇ ਵੀ ਪ੍ਰਕਾਸ਼ਿਤ ਜਾਣਕਾਰੀ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਉਤਪਾਦਾਂ ਜਾਂ ਸੇਵਾਵਾਂ ਲਈ ਆਰਡਰ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਡਿਵਾਈਸ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਨਵੀਨਤਮ ਸੰਸਕਰਣ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਸਲਾਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ।
*ਹੋਰ ਨਾਵਾਂ ਅਤੇ ਬ੍ਰਾਂਡਾਂ 'ਤੇ ਦੂਜਿਆਂ ਦੀ ਸੰਪਤੀ ਵਜੋਂ ਦਾਅਵਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਓਪਨਸੀਐਲ ਬੀਐਸਪੀ ਫਲੋਰ ਪਲੈਨਿੰਗ ਲਈ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼
- ਇਹ ਸਮਝਣ ਲਈ ਫਲੈਟ ਕੰਪਾਈਲੇਸ਼ਨ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ ਕਿ BSP ਦੇ ਸਾਰੇ ਮੁੱਖ ਭਾਗ ਕੁਦਰਤੀ ਤੌਰ 'ਤੇ ਕਿੱਥੇ ਰੱਖੇ ਜਾਂਦੇ ਹਨ (ਖਾਸ ਕਰਕੇ I/O ਕਨੈਕਸ਼ਨਾਂ ਵਾਲੇ IP ਬਲਾਕ ਜਿਵੇਂ ਕਿ PCIe ਜਾਂ DDR)। ਬਸਪਾ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰਦੇ ਸਮੇਂ, ਤੁਹਾਨੂੰ ਪਾਈਪਲਾਈਨ ਦੀ ਸਥਾਪਨਾ ਬਾਰੇ ਵਿਚਾਰ ਕਰਨਾ ਪੈ ਸਕਦਾ ਹੈtagਸਮਾਂ ਬੰਦ ਕਰਨ ਲਈ ਆਈਪੀ ਦੇ ਵਿਚਕਾਰ ਹੈ। ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਆਵਰਤੀ ਅਸਫਲ ਮਾਰਗਾਂ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਇੱਕ ਫਲੈਟ ਕੰਪਾਈਲ ਸੀਡ ਸਵੀਪ ਚਲਾਉਣਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਫਿਰ ਉਹਨਾਂ ਨੂੰ ਠੀਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।
ਸੰਕੇਤ: — ਫਲੈਟ ਕੰਪਾਈਲ ਸੀਡ ਸਵੀਪਸ ਦੇ ਮੁਕਾਬਲੇ ਇੱਕ ਚੰਗੀ ਟਾਈਮਿੰਗ ਕਲੋਜ਼ਰ ਦਰ ਨਾਲ ਬੇਸ ਕੰਪਾਈਲ ਟਾਈਮਿੰਗ ਨੂੰ ਬੰਦ ਕਰਨ ਦੀ ਵੱਧ ਸੰਭਾਵਨਾ ਹੋਵੇਗੀ।
— ਜੇਕਰ ਤੁਸੀਂ mm_interconnect* (Qsys ਦੁਆਰਾ ਜੋੜਿਆ ਗਿਆ ਕੰਪੋਨੈਂਟ) ਵਿੱਚ ਲਗਾਤਾਰ ਅਸਫਲਤਾਵਾਂ ਦੇਖਦੇ ਹੋ, ਤਾਂ Qsys ਇੰਟਰਕਨੈਕਟ ਨਾਲ ਸਿਸਟਮ ਨੂੰ ਖੋਲ੍ਹੋ। viewer ਅਤੇ ਅਸਫਲ ਇੰਟਰਕਨੈਕਟ ਦੀ ਗੁੰਝਲਤਾ ਦਾ ਨਿਰੀਖਣ ਕਰੋ। ਵਿੱਚ ਪਾਈਪਲਾਈਨਿੰਗ ਫਲਿੱਪਫਲਾਪ ਜੋੜ ਸਕਦੇ ਹੋ viewਸਮੇਂ ਨੂੰ ਸੁਧਾਰਨ ਲਈ. ਜੇਕਰ ਤੁਸੀਂ ਅਜੇ ਵੀ ਇਸ ਮੁੱਦੇ ਨੂੰ ਹੱਲ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ Avalon ਪਾਈਪਲਾਈਨ ਬ੍ਰਿਜ ਜੋੜ ਕੇ mm_interconnect* ਨਾਜ਼ੁਕ ਮਾਰਗ ਨੂੰ ਤੋੜਨਾ ਪੈ ਸਕਦਾ ਹੈ। - ਬੇਸ ਕੰਪਾਈਲੇਸ਼ਨ ਦੇ ਦੌਰਾਨ, ਕਰਨਲ ਖੇਤਰ ਉੱਤੇ LogicLock ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ ਜਿਸ ਵਿੱਚ freeze_wrapper_inst|kernel_system_inst ਹੈ। ਬਿਨਾਂ ਕਿਸੇ ਹੋਰ ਪਾਬੰਦੀਆਂ ਦੇ, Intel Quartus Prime BSP ਹਾਰਡਵੇਅਰ ਨੂੰ ਚਿੱਪ ਦੇ ਬਾਕੀ ਸਥਿਰ ਖੇਤਰ ਵਿੱਚ ਸੁਤੰਤਰ ਰੂਪ ਵਿੱਚ ਰੱਖ ਸਕਦਾ ਹੈ। BSP ਹਾਰਡਵੇਅਰ ਦੇ ਆਕਾਰ ਅਤੇ ਸਥਾਨ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਫਲੈਟ ਕੰਪਾਈਲ ਅਤੇ ਚਿੱਪ ਪਲਾਨਰ ਦੀ ਵਰਤੋਂ ਕਰੋ, ਜਿਵੇਂ ਕਿ PCIe ਅਤੇ DDR। ਫਿਰ, BSP ਹਾਰਡਵੇਅਰ ਦੇ ਮੁੱਖ ਕਲੱਸਟਰਡ ਖੇਤਰਾਂ ਤੋਂ ਬਚਦੇ ਹੋਏ LogicLock ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਰਨਲ ਖੇਤਰ ਨੂੰ ਰਿਜ਼ਰਵ ਕਰੋ।
ਸੰਕੇਤ: ਜੇਕਰ ਵਰਤੀ ਗਈ ਚਿੱਪ ਫੈਮਿਲੀ ਹਵਾਲਾ ਪਲੇਟਫਾਰਮ ਵਰਗੀ ਹੈ ਅਤੇ ਜੇਕਰ BSP ਕੰਪੋਨੈਂਟ ਸਮਾਨ ਹਨ, ਤਾਂ freeze_wrapper_inst|kernel_system_inst ਲਈ LogicLock ਖੇਤਰਾਂ ਨਾਲ ਸ਼ੁਰੂ ਕਰਨਾ ਤੇਜ਼ ਹੋ ਸਕਦਾ ਹੈ ਜੋ OpenCL ਸੰਦਰਭ BSP ਨਾਲ ਭੇਜੇ ਜਾਂਦੇ ਹਨ ਅਤੇ ਅਸਫਲਤਾਵਾਂ ਦੁਆਰਾ ਕੰਮ ਕਰਦੇ ਹਨ। - ਤੁਸੀਂ ਆਪਣੀ BSP ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ ਵਾਧੂ ਭਾਗ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ:
— ਮੈਮੋਰੀ ਬੈਂਕ: ਜੇਕਰ ਤੁਸੀਂ ਹੋਰ ਮੈਮੋਰੀ ਬੈਂਕ ਜੋੜਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ I/O ਬੈਂਕ ਟਿਕਾਣੇ ਦੀ ਪਛਾਣ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਕਿਉਂਕਿ ਤੁਹਾਨੂੰ ਸਮੇਂ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਪਾਈਪਲਾਈਨ ਬ੍ਰਿਜ ਜੋੜਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ।
— I/O ਚੈਨਲ: ਤੁਸੀਂ I/O ਚੈਨਲ ਜਿਵੇਂ ਕਿ ਵੀਡੀਓ, ਈਥਰਨੈੱਟ, ਜਾਂ ਸੀਰੀਅਲ ਇੰਟਰਫੇਸ ਜੋੜ ਸਕਦੇ ਹੋ। ਜੇਕਰ ਤੁਸੀਂ I/O ਚੈਨਲ ਜੋੜਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ I/O ਬੈਂਕ ਟਿਕਾਣੇ ਦੀ ਪਛਾਣ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਕਿਉਂਕਿ ਤੁਹਾਨੂੰ ਪਾਈਪਲਾਈਨਿੰਗ ਲਈ ਨਵੇਂ LogicLock ਖੇਤਰਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ ਜੇਕਰ ਬੰਦ ਕਰਨ ਦਾ ਸਮਾਂ ਮੁਸ਼ਕਲ ਹੈ।
ਸੁਝਾਅ: ਜੇਕਰ ਤੁਹਾਨੂੰ ਪਾਈਪਲਾਈਨ ਬ੍ਰਿਜ ਜੋੜਨ ਦੀ ਲੋੜ ਹੈ (ਉਦਾਹਰਣ ਲਈample, ਟਾਈਮਿੰਗ ਅਸਫਲਤਾਵਾਂ ਦੇ ਕਾਰਨ ਵੱਡੀ ਰਾਊਟਿੰਗ ਦੇਰੀ ਕਾਰਨ), ਫਿਰ ਚਿੱਪ ਵਿੱਚ ਸਰੋਤ ਤੋਂ ਮੰਜ਼ਿਲ ਤਰਕ ਤੱਕ ਰੂਟਿੰਗ ਦੀ ਦੂਰੀ 'ਤੇ ਵਿਚਾਰ ਕਰੋ ਅਤੇ ਕਰਨਲ ਖੇਤਰ ਲਈ ਰਾਖਵੀਂ ਕੁਝ ਥਾਂ ਛੱਡੋ। - ਕਰਨਲ ਲਈ LogicLock ਖੇਤਰਾਂ ਨੂੰ ਰਿਜ਼ਰਵ ਕਰਦੇ ਸਮੇਂ ਇਹਨਾਂ ਆਮ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ:
— ਸਾਰੇ DSP ਕਾਲਮਾਂ ਨੂੰ kernel_system ਵਿੱਚ ਰੱਖਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜਦੋਂ ਤੱਕ BSP ਦੁਆਰਾ ਲੋੜ ਨਾ ਹੋਵੇ।
— kernel_system ਲਈ ਹੋਰ ਸਰੋਤ ਰਿਜ਼ਰਵ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।
— ਕਰਨਲ ਖੇਤਰ ਵਿੱਚ ਨੌਚਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਘੱਟੋ-ਘੱਟ ਰੱਖਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।
ਹੇਠਾਂ ਦਿੱਤਾ ਚਿੱਤਰ ਇੱਕ ਨੌਚ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜੋ PCIe ਅਤੇ DDR ਬੈਂਕ ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਪਾਈਪਲਾਈਨ ਪੁਲ ਲਗਾਉਣ ਲਈ ਜੋੜਿਆ ਗਿਆ ਸੀ।
ਚਿੱਤਰ 1. 10 ਰੀਲੀਜ਼ ਵਿੱਚ Intel Arria® 17.0 GX ਲਈ OpenCL BSP ਫਲੋਰਪਲਾਨ
ਵੱਧ ਤੋਂ ਵੱਧ ਓਪਰੇਟਿੰਗ ਫ੍ਰੀਕੁਐਂਸੀ ਲਈ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼
ਕਰਨਲ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕੀਤੀ ਅਧਿਕਤਮ ਓਪਰੇਟਿੰਗ ਫ੍ਰੀਕੁਐਂਸੀ (fmax) ਜਿਆਦਾਤਰ FPGA ਸਪੀਡ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ ਕਿਉਂਕਿ ਜ਼ਿਆਦਾਤਰ IPs ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਅਨੁਕੂਲ ਬਣਾਇਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਹਾਲਾਂਕਿ, BSP ਫਲੋਰਪਲਾਨ ਦੇ ਆਧਾਰ 'ਤੇ ਕੁਝ fmax ਨੁਕਸਾਨ ਹੋ ਸਕਦੇ ਹਨ। ਸਾਬਕਾ ਲਈampਲੇ, ਆਮ ਤੌਰ 'ਤੇ BSP ਦੇ ਕਰਨਲ ਖੇਤਰ ਵਿੱਚ ਕੱਟ-ਆਊਟ ਦੀ ਗਿਣਤੀ ਕਰਨਲ fmax ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀ ਹੈ।
ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿੱਤੀ ਚਿੱਤਰ ਵਿੱਚ ਦਰਸਾਇਆ ਗਿਆ ਹੈ, ਸਭ ਤੋਂ ਵਧੀਆ ਅਧਾਰ ਬੀਜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਜੋ ਸਭ ਤੋਂ ਵਧੀਆ ਔਸਤ fmax ਪੈਦਾ ਕਰਦਾ ਹੈ:
- ਸਮੇਂ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਾਲੇ ਪਹਿਲੇ ਅਧਾਰ ਬੀਜ ਨੂੰ ਚੁਣਨ ਦੀ ਬਜਾਏ ਅਧਾਰ ਸੰਕਲਨ 'ਤੇ ਬੀਜ ਝਾੜੋ।
- ਆਯਾਤ ਸੰਕਲਨ ਕਰੋ (ਸਾਬ ਤੋਂ ਕੁਝ ਕਰਨਲ ਵਰਤ ਕੇample ਡਿਜ਼ਾਈਨ) ਸਾਰੇ ਪਾਸ ਹੋਣ ਵਾਲੇ ਅਧਾਰ ਬੀਜਾਂ 'ਤੇ।
- ਸਾਰੇ ਅਧਾਰ ਬੀਜਾਂ ਲਈ ਔਸਤ fmax ਦੀ ਗਣਨਾ ਕਰੋ।
- ਅਧਾਰ ਬੀਜ ਚੁਣੋ ਜੋ ਸਭ ਤੋਂ ਵੱਧ ਔਸਤ fmax ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਸਭ ਤੋਂ ਵਧੀਆ ਔਸਤ fmax ਵਾਲਾ ਅਧਾਰ ਬੀਜ BSP ਨਾਲ ਰੀਲੀਜ਼ ਲਈ ਇੱਕ ਚੰਗਾ ਉਮੀਦਵਾਰ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਸਿਫ਼ਾਰਿਸ਼ ਕੀਤੇ ਗਏ ਕਦਮਾਂ ਨਾਲੋਂ ਵੱਖਰੀ ਪਹੁੰਚ ਦੀ ਪਾਲਣਾ ਕਰਨ ਦਾ ਫੈਸਲਾ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਕਰਨਲ ਆਯਾਤ ਸੰਕਲਨ ਪ੍ਰਕਿਰਿਆ ਦੇ fmax ਵਿੱਚ 5-10% ਪਰਿਵਰਤਨ ਦੇਖ ਸਕਦੇ ਹੋ।
ਚਿੱਤਰ 2. ਵਧੀਆ ਅਧਾਰ ਬੀਜ ਦੀ ਪਛਾਣ ਕਰਨਾ
- ਇਹ ਸਮਝਣ ਲਈ ਕਿ ਕਰਨਲ ਫਲੋਰ ਪਲਾਨ ਪਾਬੰਦੀਆਂ ਤੋਂ ਬਿਨਾਂ ਕਿੰਨੀ ਤੇਜ਼ੀ ਨਾਲ ਚੱਲ ਸਕਦਾ ਹੈ:
1. ਕਰਨਲ ਦਾ ਇੱਕ ਫਲੈਟ ਸੰਕਲਨ ਕਰੋ ਅਤੇ fmax ਦਾ ਨਿਰੀਖਣ ਕਰੋ।
2. ਉਸੇ ਕਰਨਲ 'ਤੇ ਇੱਕ ਆਯਾਤ ਸੰਕਲਨ ਕਰੋ ਅਤੇ fmax ਦਾ ਨਿਰੀਖਣ ਕਰੋ।
3. fmax ਨਤੀਜਿਆਂ ਦੀ ਤੁਲਨਾ ਕਰੋ।
ਫਲੋਰਪਲੈਨ ਪਾਬੰਦੀਆਂ ਦੇ ਕਾਰਨ, ਆਯਾਤ ਕੰਪਾਈਲ fmax ਹਮੇਸ਼ਾ ਫਲੈਟ ਕੰਪਾਈਲ fmax ਤੋਂ ਘੱਟ ਹੁੰਦਾ ਹੈ। ਬੀਜਾਂ ਦੇ ਸ਼ੋਰ ਤੋਂ ਬਚਣ ਲਈ, ਕਰਨਲ ਨੂੰ ਹੋਰ ਅਧਾਰ ਬੀਜਾਂ ਨਾਲ ਕੰਪਾਇਲ ਕਰੋ ਅਤੇ fmax ਨਤੀਜਿਆਂ ਦੀ ਤੁਲਨਾ ਕਰਦੇ ਸਮੇਂ ਔਸਤ fmax 'ਤੇ ਵਿਚਾਰ ਕਰੋ। - ਬੇਸ ਕੰਪਾਈਲੇਸ਼ਨ ਤੋਂ ਫਲੈਟ ਜਾਂ ਇੰਪੋਰਟ ਕੰਪਾਈਲੇਸ਼ਨ ਨਾਲ ਕਦੇ ਵੀ ਕਰਨਲ fmax ਦੀ ਤੁਲਨਾ ਨਾ ਕਰੋ। ਬੇਸ ਕੰਪਾਈਲੇਸ਼ਨ ਦੌਰਾਨ ਕਰਨਲ ਕਲਾਕ ਟੀਚਿਆਂ ਨੂੰ ਆਰਾਮ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇਸ ਲਈ, ਤੁਸੀਂ ਕਦੇ ਵੀ ਚੰਗੇ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਸਕੋਗੇ।
- ਬੇਸ ਜਾਂ ਇੰਪੋਰਟ ਕੰਪਾਈਲੇਸ਼ਨ ਵਿੱਚ ਕਰਨਲ ਕਲਾਕ ਨਾਜ਼ੁਕ ਮਾਰਗ ਨੂੰ ਵੇਖੋ। ਜੇਕਰ ਨਾਜ਼ੁਕ ਮਾਰਗ ਫਲੋਰਪਲਾਨ ਵਿੱਚ ਕਰਨਲ ਤੋਂ ਸਥਿਰ ਖੇਤਰ ਤੱਕ ਜਾ ਰਿਹਾ ਹੈ, ਤਾਂ ਫਲੋਰਪਲਾਨ ਨੂੰ ਬਦਲੋ ਜਾਂ ਇਸ ਨਾਜ਼ੁਕ ਮਾਰਗ ਤੋਂ ਬਚਣ ਲਈ ਕੁਝ ਹੋਰ ਬੇਸ ਸੀਡ ਚਲਾਓ।
ਬੀਐਸਪੀ ਸਰੋਤ ਉਪਯੋਗਤਾ ਕੁਸ਼ਲਤਾ ਦਾ ਮੁਲਾਂਕਣ ਕਰਨ ਲਈ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼
ਸਰੋਤ ਉਪਯੋਗਤਾ ਪ੍ਰਤੀਸ਼ਤ ਵੱਧtage, ਤੁਹਾਡੀ ਬਸਪਾ ਦੇ ਸਥਿਰ ਖੇਤਰ ਵਿੱਚ ਖੇਤਰ ਦੀ ਵਰਤੋਂ ਬਿਹਤਰ ਹੋਵੇਗੀ। ਇੱਕ ਉੱਚ ਸਰੋਤ ਉਪਯੋਗਤਾ ਪ੍ਰਤੀਸ਼ਤtage ਦਾ ਮਤਲਬ ਇਹ ਵੀ ਹੈ ਕਿ ਕਰਨਲ ਖੇਤਰ ਲਈ ਹੋਰ ਸਰੋਤ ਉਪਲਬਧ ਹਨ।
ਸਰੋਤ ਉਪਯੋਗਤਾ ਪ੍ਰਤੀਸ਼ਤ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋtagਤੁਹਾਡੀ ਬਸਪਾ ਦਾ ਈ:
- ਫਿਟਰ ਰਿਪੋਰਟ ਦੇ ਭਾਗ ਅੰਕੜੇ ਸੈਕਸ਼ਨ ਦੇ ਅਧੀਨ ਉਪਲਬਧ top.fit.rpt ਜਾਂ base.fit.rpt ਤੋਂ FPGA ਵਿੱਚ ਸਾਰੇ ਸਰੋਤਾਂ ਲਈ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰੋ।
- “freeze_wrapper_inst|kernel_system_inst” (ਕਰਨਲ ਖੇਤਰ) ਲਈ ਮੁੱਲ ਘਟਾਓ।
ਸੁਝਾਅ:
ਹੋਰ ਸਰੋਤਾਂ ਦੇ ਮੁੱਲਾਂ ਦੀ ਬਜਾਏ ਅਨੁਕੂਲਿਤ ਤਰਕ ਮੋਡੀਊਲ (ALM) ਦੇ ਮੁੱਲਾਂ 'ਤੇ ਜ਼ਿਆਦਾ ਧਿਆਨ ਦਿਓ। ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸਰੋਤ ਉਪਯੋਗਤਾ ਪ੍ਰਤੀਸ਼ਤ ਹੈtagALM ਲਈ e OpenCL ਸੰਦਰਭ BSP ਦੇ ਨੇੜੇ ਹੈ। ਇੱਕ ਬਹੁਤ ਹੀ ਉੱਚ ਪ੍ਰਤੀਸ਼ਤtage ALM ਲਈ ਭੀੜ-ਭੜੱਕੇ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦਾ ਹੈ, ਜੋ ਕਿ ਸੰਕਲਨ ਦੇ ਸਮੇਂ ਨੂੰ ਵਧਾ ਸਕਦਾ ਹੈ ਅਤੇ ਗੁੰਝਲਦਾਰ ਕਰਨਲ ਵਿੱਚ ਰੂਟਿੰਗ ਭੀੜ ਪੇਸ਼ ਕਰ ਸਕਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਤੁਸੀਂ ਹਮੇਸ਼ਾਂ ਸਥਿਰ ਖੇਤਰ ਖੇਤਰ ਨੂੰ ਵਧਾ ਜਾਂ ਘਟਾ ਸਕਦੇ ਹੋ, ਅਤੇ ਸੰਕਲਨ ਸਮਾਂ ਅਤੇ fmax ਨੂੰ ਦੇਖ ਸਕਦੇ ਹੋ।
ਹੇਠ ਦਿੱਤੀ ਸਾਰਣੀ 10 ਰੀਲੀਜ਼ ਵਿੱਚ ਅਰਰੀਆ ® 17.0 GX ਡਿਵਾਈਸਾਂ ਦੀ OpenCL BSP ਸਰੋਤ ਉਪਯੋਗਤਾ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।
ਸਾਰਣੀ 1.
10 ਰੀਲੀਜ਼ ਵਿੱਚ IntelArria 17.0 GX ਡਿਵਾਈਸਾਂ ਦੀ OpenCL BSP ਸਰੋਤ ਉਪਯੋਗਤਾ
ਕੁੱਲ ਉਪਲਬਧ | ਕਰਨਲ ਲਈ ਰਾਖਵਾਂ ਹੈ | ਬਸਪਾ ਲਈ ਉਪਲਬਧ ਹੈ | ਬਸਪਾ ਵੱਲੋਂ ਵਰਤੀ ਗਈ | 0/0 | |
ALM | 427200 | 393800 | 33400 | 23818. | 71% |
ਰਜਿਸਟਰ ਕਰਦਾ ਹੈ | 1708800 | 1575200 | 133600 | 38913 | 29% |
M2OK | 2713 | 2534 | 179 | 134 | 75% |
ਡੀ.ਐਸ.ਪੀ | 1518 | 1518 | 0 | 0 | N/A |
ਧਿਆਨ ਦਿਓ ਕਿ ਫਲੋਰ ਪਲੈਨਿੰਗ ਨੂੰ ਇਸ ਤਰੀਕੇ ਨਾਲ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ ਕਿ ਸਥਿਰ ਖੇਤਰ ਵਿੱਚ ਕੋਈ DSP ਬਲਾਕ ਨਹੀਂ ਹੋਣਗੇ।
ਦਸਤਾਵੇਜ਼ ਸੰਸ਼ੋਧਨ ਇਤਿਹਾਸ
ਸਾਰਣੀ 2.
ਓਪਨਸੀਐਲ ਬੋਰਡ ਸਪੋਰਟ ਪੈਕੇਜ ਫਲੋਰਪਲਾਨ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਗਾਈਡ ਲਈ ਇੰਟੇਲ ਐਫਪੀਜੀਏ SDK ਦਾ ਦਸਤਾਵੇਜ਼ ਸੰਸ਼ੋਧਨ ਇਤਿਹਾਸ
ਮਿਤੀ | ਸੰਸਕਰਣ | ਤਬਦੀਲੀਆਂ |
ਅਗਸਤ-17 | ਸ਼ੁਰੂਆਤੀ ਰੀਲੀਜ਼। |
ਆਨਲਾਈਨ ਵਰਜਨ
ਫੀਡਬੈਕ ਭੇਜੋ
ID: 683312
AN-824
ਸੰਸਕਰਣ: 2017.08.08
AN 824: OpenCL™ ਬੋਰਡ ਲਈ Intel® FPGA SDK
ਸਪੋਰਟ ਪੈਕੇਜ ਫਲੋਰਪਲਾਨ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਗਾਈਡ
ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ
![]() |
ਓਪਨਸੀਐਲ ਬੋਰਡ ਸਪੋਰਟ ਪੈਕੇਜ ਫਲੋਰਪਲਾਨ ਲਈ intel AN 824 FPGA SDK [pdf] ਯੂਜ਼ਰ ਗਾਈਡ ਓਪਨਸੀਐਲ ਬੋਰਡ ਸਪੋਰਟ ਪੈਕੇਜ ਫਲੋਰਪਲਾਨ ਲਈ AN 824 FPGA SDK, AN 824, OpenCL ਬੋਰਡ ਸਪੋਰਟ ਪੈਕੇਜ ਫਲੋਰਪਲਾਨ ਲਈ FPGA SDK, ਓਪਨਸੀਐਲ ਬੋਰਡ ਸਪੋਰਟ ਪੈਕੇਜ ਫਲੋਰਪਲਾਨ, ਬੋਰਡ ਸਪੋਰਟ ਪੈਕੇਜ ਫਲੋਰਪਲਾਨ, ਸਪੋਰਟ ਪੈਕੇਜ ਫਲੋਰਪਲੈਨ, ਸਪੋਰਟ ਪੈਕੇਜ ਫਲੋਰਪਲਾਨ, ਐੱਫ.ਪੀ.ਜੀ.ਏ. |