L’arrêt du processus hôte peut provoquer le plantage/gel de la machine lorsque OpenCL est en cours d’exécution. Le BSP exige que le processus de l’utilisateur hôte reste actif pendant certaines opérations telles que les transferts DMA. Si l’utilisateur met fin au processus hôte alors que ces opérations sont actives, le système d’exploitation se bloque. Cela signifie que les utilisateurs des BSP touchés devraient éviter des choses telles que : i) frapper ctrl-C ; ii) les assertions ; iii) appeler exit() ; iv) toute terminaison anormale dans les programmes hôtes (déréférencement nul, erreur de bus, exception non interceptée, etc.).
Ne tuez pas ou ne quittez pas les applications pendant leur exécution. Pour déboguer les asserts/segfaults/exceptions non interceptées/etc., utilisez tous les appels bloquants dans votre programme hôte et appelez clFinish immédiatement après avoir mis en file d’attente tout travail OpenCL dans les files d’attente. Une fois que la terminaison anormale a été identifiée et corrigée, revenez aux appels non bloquants et réduisez les sites d’appel clFinish uniquement lorsque le processeur doit se synchroniser avec le FPGA.