Wenn Sie zwei OneAPI-Kernel mit zwei Beschleunigungskarten mit jeweils einem Hostcode verknüpfen möchten, können Sie die folgenden Einschränkungen feststellen, wenn Sie auf mehrere FPGA Geräte abzielen:
• Alle FPGA Geräte verwenden den gleichen FPGA Bitstream.
• Alle FPGA verwendeten Geräte müssen von der gleichen FPGA-Karte sein (gleiches -Xstarget-Ziel)
Um diese Einschränkung zu umgehen, können Sie eine dynamische Verknüpfung verwenden, um zwei Images zu erstellen und diese dann wie folgt dynamisch zu verknüpfen:
- icpx -fsycl -fPIC -fintelfpga -c vector_add.cpp -o vector_add.o
- icpx -fsycl -fPIC -shared -fintelfpga -Xshardware -Xsboard= vector_add.o -o vector_add.so
- icpx -fsycl -fPIC -fintelfpga -c vector_mul.cpp -o vector_mul.o
- icpx -fsycl -fPIC -shared -fintelfpga -Xshardware -Xsboard= vector_mul.o -o vector_mul.so
- icpx -fsycl -o main.exe main.cpp vector_add.so vector_mul.so