Mpj Bsend ByteBuffer. В буфере не осталось места - PullRequest
0 голосов
/ 12 января 2019

У меня есть следующий код:

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. 
...