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 60550MB = 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?