Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows Compiled Version Error #7

Open
DiogoAABranco opened this issue Dec 22, 2021 · 4 comments
Open

Windows Compiled Version Error #7

DiogoAABranco opened this issue Dec 22, 2021 · 4 comments

Comments

@DiogoAABranco
Copy link

Hi! First of all, thank you for building upon Freimound work!

I'm trying to use your compiled Windows Version.

I'm constantly getting this error 'Cannot read the result file. Please make sure you have installed NVIDIA CUDA and Intel MKL (or oneAPI), correctly set the environment variables, and have sufficient GPU memory.'

I have installed Nvidia cuda. Actually I even confirmed the correct installation by using nvcc - V in the cmd.
Not sure if this was necessary but also installed Intel MLK and added to path (E:\Program Files (x86)\Intel\oneAPI\mkl\2022.0.0\redist\intel64).

I'm using Windows 10, matlab R2018a, EEGlab 2021.1 and my GPU is NVIDIA GTX 1650 4GB VRam

Do you have any how to solve this issue? Thank you!
https://user-images.githubusercontent.com/55894612/147018015-802cf21e-18dc-4583-a066-6a490ec533d5.mp4

@winndsd
Copy link
Contributor

winndsd commented Mar 2, 2022

I also had the same bug report when I tried this using Intel oneAPI 2022.
However, it believes that the bug from faults calling some MKL functions.

Debugging from Line 237-255 in 'cudaica.m', I found the printed error coming from uncatching 'cudaica.wts' or 'cudaica.wts'.
I tried running scripts in commanding window.

E:\eeglab_git\eeglabgit\plugins\CudaICA1.0\cudaica_win.exe -f "D:\DESKTOP\cudaica.sc"

I got no 'done' in whitening process. However, this should be done in 'preprocessing' procedure.

I remembered the previous bug, when cudaica_win.exe trying to find 'mkl_intel_thread.dll'. In OneAPI, which is the 2022 updated version of 'Intel Parallel Studio', there's 'mkl_intel_thread.2.dll' but no Gen1, also shown in your video.

Hence, I believed the 2018 complied version not support MKL 2022. Actually originally designed in 2000, more traditional API should be used in this application.

I uninstalled my MKL 2022 and switched to 'Intel Parallel Studio XE 2020 build 163 Win'.

It works!!!

@CloudyDory
Copy link
Owner

@DiogoBrancoNeuro @winndsd

Sorry for the late reply.

CUDAICA_Win is updated for the new Intel OneAPI base toolkit now. It is also compatitable with the old Intel MKL 2020. I have actually compiled two binary exe files, and cudaica.m will select which exe file to run depending on your installed MKL version.

Therefore, the installation process is changed slightly. Modifying "icadefs.m" is no longer needed. Selecting the correct exe file is now done in "cudaica.m".

Let me know if there are any further questions.

@winndsd
Copy link
Contributor

winndsd commented Apr 23, 2022

@CloudyDory
Thank you for your updates. It helps me a lot when I'm trying to get a robust ICA result faster. Good to see the compatibility improvement. If possible, can multithread or multiprocess squeeze more performance?

@CloudyDory
Copy link
Owner

@winndsd
Hi, I really wish that this could happen, filling up the entire GPU by processing multiple datasets at the same time. But this is beyond my coding ability now, sorry for that.

Really appreciate someone with enough knowledge can help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants