Is there a memory address limitation for OpenGL buffer allocation for GTX 1070 and 1080?

Not sure if here is the place to ask this question.

My OS: Win 7; RAM: 96GB; Graphics Cards: GTX 1070 or 1080.

I have two applications, appA and appB (all developed by ourselves).
In appA I allocate pinned memory. It can be 55 * 550MB = 29.5GB or even larger, 100 * 550MB = 53.7GB. With only appA, any size of pinned memory less than the total RAM (96GB) works fine.
However, if I want to run appB which uses OpenGL, then appA’s allocated pinned memory must be less than 32GB, otherwise I get errors when trying to initialize OpenGL context in appB.
For example, I start appA first and allocate 60550MB = 32.2GB pinned memory. Then if I starts appB, it crashes when it tries to initialize gl context. (I also tested with CUDA samples, context also not available)
If I start appB first, then start appA and allocate 60
550MB = 32.2GB pinned memory, most of appB’s gl functions work but glMapBuffer. glMapBuffer returns null pointer as there is no pinned memory available on host side.

I did not observe this on GTX 970. With GTX 970 on Win 7, no matter how much pinned memory we allocated in appA, we can always start appB and initialize the gl context properly.

Could you please help me?

With the driver version 385.41, now the upper limit for OpenGL memory allocation seems to be a little higher than 32GB. Now it’s about 35GB.

I really have no idea about this issue. Is there any direction that I can look into it? lol


Any hint about this?

Interesting things:
I just find on driver 385.69, which was released 09/21/2017, there is no such limitation.
AppA can allocate way more than 32 GB pinned memory and appB can start properly anytime.
But same issue exists on latest drivers such as 390, 391.