Как я могу передать длинные и / или беззнаковые целые в аргументы MPI?

Предположим, что у меня есть очень большой массив, который я хочу отправить или получить с помощью MPI (v1). Чтобы проиндексировать этот массив, я использую длинное целое число без знака.

Теперь все вызовы функций MPI, которые я видел, используют типы int для своих аргументов count, как, например, в этом примере:

MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status)

Но что, если в моей реализации мне потребуется возможность отправлять / получать массив, превышающий максимальное число, которое может содержать int? Компилятор, естественно, выдает мне ошибку «недопустимое преобразование», когда я пытаюсь передать целое число без знака в аргумент «count». Я думал о том, чтобы сделать бросок, но потом я боюсь, что это сократит мою переменную, так что я в растерянности, что мне делать.

Ответы на вопрос(2)

Ваш ответ на вопрос