L'incohérence mentionnée dans les docs est causée par un déséquilibre de charge entre les multiprocesseurs. Par exemple, si vous exécutez un noyau avec 15 blocs sur un Tesla C2050 qui a 14 multiprocesseurs, l'un des multiprocesseurs finira par exécuter des threads à partir du bloc "extra". Si le profileur collecte des données de ce multiprocesseur exécutant des threads de deux blocs dans une exécution de profilage, mais d'une exécution de threads d'un seul bloc dans un autre, les résultats seront évidemment différents.
Pour répondre à la question que vous avez posée, le «ou» est inclusif, comme c'est généralement le cas dans les langues naturelles. Bien que je ne me souvienne pas d'être mentionné dans la documentation, je peux imaginer que même si ces conditions sont toutes deux fausses, l'incohérence du profil peut également se produire lorsque les données provoquent un déséquilibre (quantité d'arithmétique/données ou certaines données).