argosopentech / MetalTranslate

Customizable machine translation in C++
MIT License
40 stars 7 forks source link

Translate method never returns on Windows #6

Closed GabrielNSD closed 1 month ago

GabrielNSD commented 1 month ago

Hi there! I am trying to compile the project on Windows. I have used the strategy on #3 and it compiled. The issue that I am facing is that the Translate method never returns.
I have added several logs inside the method and all of them are displayed in my terminal but the method itself never returns and the process keep running indefinitely.

The compiler I am using is MSVC 19.40.33811.0.

The compilation and execution work great on macOS and Linux.

I made some tests in Translate method and noticed that this issue just happens when translator.translate_batch method is called. But even when it is called all the other methods and logs called after it are executed without problem, except return and throw that are never executed.

Any ideas or tips on how to debug this would be very helpful.

argosopentech commented 1 month ago

this issue just happens when translator.translate_batch

I'm guessing this is a CTranslate2 issue

GabrielNSD commented 1 month ago

I'm guessing this is a CTranslate2 issue

That is true! Using -DOPENMP_RUNTIME=COMP as compilation option to CTranslate2 solved the issue