for ( i = 0; i < numspe; i++ ) { spe_par[i].rounds = rounds / numspe; gettimeofday( &tv, NULL ); spe_par[i].seed = tv.tv_sec * 1000000 + tv.tv_usec; spe_par[i].value = 0.0; spe_ctx[i] = spe_context_create(0,NULL); spe_program_load( spe_ctx[i], &pi_libspe_spe ); pthread_create( &spe_thread_handle[i], NULL, &spu_pthread, &spe_ctx[i] ); myaddr = (uint64_t) &spe_par[i]; spe_in_mbox_write( spe_ctx[i], ( unsigned int * ) &myaddr, 2, SPE_MBOX_ANY_NONBLOCKING ); }