https://bugs.winehq.org/show_bug.cgi?id=55011
Bug ID: 55011 Summary: Cuda-application M/WarpEM got stuck or crashes in wine-staging/7.21, wine/8.9+nvidia-libs Product: Wine Version: 8.9 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: nvcuda Assignee: wine-bugs@winehq.org Reporter: alois.schloegl@gmail.com Distribution: ---
M of WarpEM gets stuck very early and eventually crashes. The following steps are needed to reproduce this:
1) install WarpEM according to [1] into wine-staging between v7.17 and v7.21, or wine-8.9 with nvidia-libs. (do not try with wine-staging 7.22 or later, because that has cuda support disabled). This has been testing this with "Shared WoW64" configuration of Wine. Trying to use Wine with the "new WoW64 approach" using -enable-archs=i386,x86_64 did also not work for me, because it failed much earlier when trying to install Cuda/WarpEM.
2) Data (5.5TB!) for testing is available from here [1]. Download and unpack Warpem_test.tar.gz to a directory that is accessible from wine. The screenshots Step1-7 should help to understand how M is supposed to be used.
3) Start M.exe. In my case, I do this ulimit -s 655360 wine $WINEPREFIX/drive_c/Warp/M.exe or vglrun wine $WINEPREFIX/drive_c/Warp/M.exe
4) Within M, do the following steps (see also Step1-7 in [2]): - Step 1: In the GUI window click "LOAD EXISTING FROM FILE" - Step 2: select ...\M_j33\Gag_c2_processing.population - Step 3: Upper right corner Refine button. - Step 4: Click refine - Step 5+6: workers are now testing the memory - Step 7: Eventually (after several minutes), one of the works crash, and there is no further progress.
On Windows, this finishes and a new screen appears for the next step. This is not the case here. It gets stuck, and and eventually I stopped wine with <ctrl-C>. A log file is also available [2], but it is too large (1.1 GB) to be included here. If you have suggestions with WINEDEBUG filter should be used, let me know.
[1] https://appdb.winehq.org/objectManager.php?sClass=version&iId=40620&... [2] https://pub.ista.ac.at/~schloegl/warpem-test-data/
https://bugs.winehq.org/show_bug.cgi?id=55011
--- Comment #1 from Alois Schlögl alois.schloegl@gmail.com --- The size of the test data is only 5.5 GB (not TB).
https://bugs.winehq.org/show_bug.cgi?id=55011
Alois Schlögl alois.schloegl@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|8.9 |8.10
--- Comment #2 from Alois Schlögl alois.schloegl@gmail.com ---
It seems that nvcuda (in wine-staging as well as in nvidia-libs) supports only 32 bit address space in gpu memory.
This was confirmed with a simple program using err = cudaMalloc(&gpu_mem, mem_size); cudaMalloc accepts memsize of 8G, but nvidia-smi, nvtop show that only 4GiB are allocated. The same code, on the same machine but running linux, shows the allocation of all 8G.
https://bugs.winehq.org/show_bug.cgi?id=55011
--- Comment #3 from Alois Schlögl alois.schloegl@gmail.com --- Created attachment 74679 --> https://bugs.winehq.org/attachment.cgi?id=74679 list of cuda functions called until crash
The attached list shows the cuda functions called during the run of M.exe until the crash. The first column is the count how often a function has been called.
The list of commands was generated with the following commands:
export WINEDEBUG=-all,+nvcuda
wine $WINEPREFIX/drive_c/Warp/M.exe &> warpem-109v-wine811.log
awk '{print $1}' warpem-109v-wine811.log |awk -F: '{print $4}' |sort |uniq -c
list_of_nvcuda_functions_in_warpem_until_crash.txt
https://bugs.winehq.org/show_bug.cgi?id=55011
Alois Schlögl alois.schloegl@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |54197