EMsoft-org / EMsoft

Public EMsoft repository
Other
61 stars 94 forks source link

PyEMEBSDDI core wrapper #118

Closed Darkhunter9 closed 3 years ago

Darkhunter9 commented 4 years ago

The commit uploads all files needed for PyEMEBSDDI core wrappers for DI functions, including program, changes in CMake file and a README file. Tests are done to make sure the project can be compiled together with EMsoft after merged and all methods work properly.

imikejackson commented 4 years ago

Which compilers and operating systems has this been tested on?

Darkhunter9 commented 4 years ago

Which compilers and operating systems has this been tested on?

It is tested on cent OS 7 and POP OS (linux system by system 76). The compilers are devtoolset-6 and python 3.5/3.7

elena-pascal commented 4 years ago

It is tested on cent OS 7 and POP OS (linux system by system 76).

Pop_OS! is by most means and purposes Ubuntu 20.04 I think devtoolset in most debian based systems is packaged as build-essential. The compilers on this systems were gcc 9.3 and make 4.2

Darkhunter9 commented 4 years ago

Will update the pull request tomorrow

Darkhunter9 commented 4 years ago

Pull request is updated.

imikejackson commented 4 years ago

Probably not required but has anybody tried this on macOS or Windows?

Darkhunter9 commented 4 years ago

Probably not required but has anybody tried this on macOS or Windows?

Two group members use EMsoft on Windows. I'll contact them to have a test later. Theoretically, the only difference is that the shared library output is in the form of .dll instead of .so file.

On Mac, the latest operating system has stopped supporting Nvidia GPU drivers and all recent modules are either without dedicated GPU, or with AMD GPU. I'm not clear about the compatibility of OpenCL on them. if CPU platform is chosen for OpenCL, even the original DI function (written in Fortran) will throw an error. We have to solve that before testing this extension.

Darkhunter9 commented 4 years ago

PyEMEBSDDI is peeled from DictionaryIndexing_Wrapper. Will set an independent toggle for its compilation later.

Darkhunter9 commented 4 years ago

EMsoft_ENABLE_PyEMEBSDDI is added to cmake to control the compilation of PyEMEBSDDI. When turned on, it will also turn on the option BUILD_SHARED_LIBS.

Darkhunter9 commented 4 years ago

Will modify all comments later.

Darkhunter9 commented 4 years ago

Comments to functions are modified. Please re-review.