Χμμ για να βρεις το εσωτερικο και εξωτερικο υποδενδρο καθε κομβου δεν καλεις την ιδια συναρτηση - kernel με αλλο set X ?
Όχι. Έχω κάνει συνάρτηση __device__ που βρίσκει αυτά που πρέπει για κάθε κόμβο. Αυτή καλείται με kernel (δλδ __global__) με κάθε νήμα να ασχολείται με έναν κόμβο. Και ο kernel καλείται τόσες φορές όσο είναι και το ύψος του δέντρου ώστε να καλυφθούν όλοι οι κόμβοι. Ουσιαστικά χτίζω το δέντρο ανά επίπεδο. Δεν ξέρω αν λέω πολλά τώρα

Εάν σε βολεύει καλύτερα η αναδρομή (με την έννοια αναδρομικού kernel) νομίζω ότι υπάρχει τρόπος να το κάνεις έτσι. Αυτό εξαρτάται από την gpu που θα τρέξει το πρόγραμμά σου. Θέλει νομίζω κάτι που το λένε "compute capability" να είναι μεγαλύτερο από κάποια εκδοχή.