int sendul(int sock,unsigned long ul) { char buf[MAX_ULSTR + 1]; sprintf(buf,"%lu",ul); DLOG_MSG(("sendul() : x_send(%d,%lu) buf=%s",sock,ul,buf)); if (!x_send(sock,buf,sizeof buf)) { DLOG_ERROR(("sendul()")); return 0; } return 1; }
void s_hello(SOCKET *sock, char *name, int put) { char *msg; char buffer[SIZE_BUFFER]; msg = malloc(100); create_mesg(msg, HELLO, name, NULL); x_send(*sock, msg); x_recv(*sock, buffer); if (put) { my_putstr(buffer); } }
static void run_pp_server(void) { if (!arg_pscom) { while (1) { x_recv(); x_send(8); // ToDo: } } else { while (1) { int len; len = x_recv_pscom(); x_send_pscom(len); } } }
int sendstr(int sock,char *s) { size_t len = s ? strlen(s) : 0; DLOG_MSG(("sendstr() : sendul(%d,%lu)",sock,(unsigned long)len)); if (!sendul(sock,(unsigned long)len)) return 0; if (len > 0) { DLOG_MSG(("sendstr() : x_send(%d,%s)",sock,s)); if (!x_send(sock,s,len)) { DLOG_ERROR(("sendstr()")); return 0; } } return 1; }
static int run_pp_c(int msize, int loops) { int cnt; if (!arg_pscom) { for (cnt = 0; cnt < loops; cnt++) { x_send(msize); x_recv(); } } else { for (cnt = 0; cnt < loops; cnt++) { int len; x_send_pscom(msize); len = x_recv_pscom(); assert(len == msize); } } return 0; }
void CR_Matrix::multiply( const double * const x , double * const y ) const { if ( 1 < m_comm_size ) { std::vector<double> x_work( m_work_disp[ m_comm_size ] ); { // Remote gathered portion: std::vector<double> x_send( m_send_disp[ m_comm_size ] ); for ( unsigned i = 0 ; i < m_send_map.size() ; ++i ) { x_send[i] = x[ m_send_map[i] ]; } // Skips local-to-local all_to_all( m_comm , PARALLEL_DATATYPE_DOUBLE , m_sparse , & x_send[0] , & m_send_disp[0] , & x_work[0] , & m_work_disp[0] ); } { // Local portion: double * d = & x_work[0] + m_work_disp[ m_comm_rank ]; const double * s = x ; const double * const e = x + m_row_size ; while ( e != s ) { *d++ = *s++ ; } } txblas_cr_mxv( m_row_size , & m_prefix[0] , & m_coli[0] , & m_coef[0] , & x_work[0] , y ); } else { txblas_cr_mxv( m_row_size , & m_prefix[0] , & m_coli[0] , & m_coef[0] , x , y ); } }