Memory allocation and memory fragmentation

Exist memory fragmentation on GPU ?
And is there some mechanism for defrag ?

I dont know an answer straightaway.

Virtual memory could greatly improve defrag i believe.

Also,

Pointers in one context canNOT be shared with other contexts – which makes me believe that the pointers got by application are NOT purely GPU pointers. They are translated… So I believe this translation layer could effectively take care of fragmentation and the likes.