cutechess (QProcess) + mpi 1-sided communications

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

cutechess (QProcess) + mpi 1-sided communications

Post by xr_a_y »

I'm almost done porting Minic to distributed memory.
To do so, at some point, i'm using MPI one-sided comm (namely mpi "window" and "put" API).
This works well under xboard or c-chess-cli but not under cutechess where the "put" call (which is non blocking in the standard) seems to freeze.

This does not seems related to this kind of signal handling issue (https://public.kitware.com/pipermail/ti ... 03337.html) and I was wondering if other engine already used one-sided mpi communication succesfully under cutechess (or anything else based on QProcess)?

A somehow easy workaround will be to not use 1-sided (as 2-sided seems to work ok in this context) but the code will probably be a little harder.

I saw Stockfish "Cluster" branch only relies on 2-sided, I didn't look at other engines for now.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: cutechess (QProcess) + mpi 1-sided communications

Post by xr_a_y »

The issue is only present when using openmpi, works fine with IntelMPI.

I won't dig this too much ...