Question about Nektar++ and CWIPI coupling issue
******************* This email originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list https://spam.ic.ac.uk/SpamConsole/Senders.aspx to disable email stamping for this address. ******************* Dear Nektar++ developers, I hope this email finds you well. I am currently working on coupling Nektar++ with CWIPI, but I have encountered a problem during the initialization phase. I am using nektar++5.2.0 and cwipi 1.3.0 in archer2. I am launching the MPI task with srun: rank 0 is the CWIPI transmitting side, rank 1 is the Nektar++ receiving side. However, the process always gets stuck at the initialization stage and no data is transmitted. After some debugging, I noticed that the issue seems related to the way usernames (application names) are linked between the two sides. Below is a part of the debug output: [APDB][debug] namesLength: 1 7 -> recomputed totalLength=8 [APDB][post-Allgatherv] namesLength = 1 7 [APDB][debug] rank=1 After Allgatherv: totalLength=8 [APDB][debug] mergeNames raw buffer (len=8): PyApp_\0\0 [APDB][debug] End of buffer dump [APDB][rank 1] ==== loop begin irank=0 ==== pre-assert: index=0 totalLength=8 [APDB] cur-seg hex (len=6, show=6): 0000 : 50 79 41 70 70 5f [APDB][rank 1] cur-seg meta: max_left=8 nul_off=6 safe_len=6 [APDB][rank 1] cur-seg as string(bounded)='PyApp_' [APDB][rank 1] parsed currentName='PyApp_' size=6 compare with applicationName='nektar' -> strcmp=-30 [APDB][rank 1] currentString != currentName (prev='') [APDB][rank 1] -> insert DISTANT app 'PyApp_' success=1 [APDB][rank 1] setBeginningRank(0) for 'PyApp_' [APDB][rank 1] update currentString='PyApp_' j=1 [APDB][rank 1] advance index by size+1 = 7 -> index=7 (totalLength=8) [APDB][rank 1] ==== loop end irank=0 ==== [APDB][init] ENTER: comm_rank=1 comm_size=2 applicationName=nektar, CommCompare vs MPI_COMM_WORLD = 0 which indicates that the Nektar++ side did correctly read its local application name as nektar, during the MPI stage it did not insert its own name into mergeNames. As a result, only the CWIPI side (rank 0) name is included. On the Nektar++ side, I launched the solver with: AcousticSolver --cwipi 'nektar' and in the XML configuration file I added: <COUPLING NAME="NekApp" TYPE="Cwipi"> <I PROPERTY="RemoteName" VALUE="PyApp"/> <I PROPERTY="ReceiveSteps" VALUE="1"/> <I PROPERTY="ReceiveVariables" VALUE="F_0_p,F_0_u,F_0_v"/> <I PROPERTY="NotLocMethod" VALUE="keep"/> </COUPLING> May I ask if there is anything else that needs to be configured on the Nektar++ side to ensure that the names match correctly? It seems that the problem originates from the Nektar++ endpoint recognition. Thank you very much for your time and advice. Best regards, Dao
participants (1)
- 
                
                dxz324@student.bham.ac.uk