Следующие подпрограммы на C распаковывают (многократно) данные определенных типов из активного буфера приема. На уровне приложения, они должны соответствовать подпрограммам упаковки - в типе, числе элементов и шаге. nitem - число элементов данного типа для распаковки, а stride - шаг.
int info = pvm_upkcplx( float *xp, int nitem, int stride)
int info = pvm_upkdcplx( double *zp, int nitem, int stride)
int info = pvm_upkdouble( double *dp, int nitem, int stride)
int info = pvm_upkfloat( float *fp, int nitem, int stride)
int info = pvm_upkint( int *np, int nitem, int stride)
int info = pvm_upklong( long *np, int nitem, int stride)
int info = pvm_upkshort(short *np, int nitem, int stride)
int info = pvm_upkstr( char *cp)
int info = pvm_unpackf( const char *fmt, ...)
Единственная Fortran-подпрограмма выполняет все перечисленные функции приведенных C-подпрограмм.