У меня есть следующий код:
ByteBuffer colorBuffer = ByteBuffer.allocateDirect(SCREEN_WIDTH * SCREEN_HEIGHT * 3+ MPI.SEND_OVERHEAD);
ByteBuffer depthBuffer = ByteBuffer.allocateDirect(SCREEN_WIDTH * SCREEN_HEIGHT * 3+ MPI.SEND_OVERHEAD);
MPI.Buffer_attach(colorBuffer);
gl.glReadPixels(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, GL2.GL_RGB, GL2.GL_BYTE, colorBuffer);
gl.glReadPixels(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, GL2.GL_DEPTH_COMPONENT, GL2.GL_BYTE, depthBuffer);
И я хочу отправить colorBuffer другому процессу через MPI-связь.
MPI.COMM_WORLD.Bsend(colorBuffer, 1, SCREEN_WIDTH * SCREEN_HEIGHT * 3+ MPI.SEND_OVERHEAD , MPI.BYTE, 0
, 1);
Проблема в том, что я получаю следующее исключение
Error in MPI.Bsend: No space left in buffer.