EMsoft-org / EMsoft-org/EMsoft
EMEBSDDI version 5_0_20200714_ on Linux (Ubuntu 20.04) fails, apparently jumps over indexing step
- Dominant language
- Fortran
- Stars
- 84
- Forks
- 113
- PR merge metrics
- No merged PRs in 30d
Description
Hello!
Running EMEBSDDI on Windows with binaries from Bluequartz (EMsoft-5.0.20200714.-Win64.zip) works nicely, but on Linux with the same pattern and NML file fails with the output:
```bash
> EMEBSDDI sic_4h_ebsddi.nml
Copyright (C) 2001-2019 Marc De Graef Research Group/CMU
EMsoft comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see License.txt file for details.
Program name : EMEBSDDI.f90
Purpose : Program to index EBSD patterns using a dynamically calculated pattern dictionary
Platform : Linux
Source code version : 5_0_20200714_
Source code Revision :
Build Date/Time : 2020-07-14 15:49:24Z
See https://github.com/EMsoft-org/EMsoft/wiki for selected help pages.
Jul 14 2020 6:56:34.695 PM
Number of command line arguments detected: 1
Array size analysis
===================
Ne : 1024
Nd : 1024
L : 9216
size result array : 4194304
size_in_bytes_dict : 37748736
size_in_bytes_expt : 37748736
Total allocations on GPU (Mb): 76
reading from xtalfile si_carbide_4h\si_carbide_4h.xtal
Orientation space sampling mode set to RFZ
Point group number and number of cubochoric sampling points : 25, 100
Number of unique orientations sampled = : 666187
--> Initializing OpenCL device
--> Allocating various arrays for indexing
Preprocessing experimental patterns
Creating temporary file :/home/hakon/.config/EMsoft/tmp/1_4h.data
-> Number of threads set to 4
Starting processing of experimental patterns
pattern size : 96 x 96
Completed row 5 of 350 rows
[...]
Completed row 350 of 350 rows
-> experimental patterns preprocessed
Number of experimental patterns processed per second : 4819.7
-> computing Average Dot Product map (ADP)
-> Number of threads set to 4
Jul 14 2020 6:57:43.601 PM
actual number of OpenMP threads = 4
Indexing duration (system_clock, s) :
3.514
Number of pattern comparisons per second :
**************
Number of experimental patterns indexed per second :
20916.336
At line 899 of file /home/hakon/kode/emsoft/EMsoft/Source/EMsoftHDFLib/EMh5ebsd.f90
Fortran runtime error: Index '0' of dimension 2 of array 'eulerarray' outside of expected range (1:666624)
Error termination. Backtrace:
#0 0x7f8fd444ecd1 in ???
#1 0x7f8fd444f819 in ???
#2 0x7f8fd444fe96 in ???
#3 0x5599c41a5320 in __emh5ebsd_MOD_h5ebsd_writefile
at /home/hakon/kode/emsoft/EMsoft/Source/EMsoftHDFLib/EMh5ebsd.f90:899
#4 0x5599c411e868 in EBSDDIdriver
at /home/hakon/kode/emsoft/EMsoft/Source/EMOpenCLLib/Indexingmod.f90:1288
#5 0x5599c40d22b9 in emebsddi
at /home/hakon/kode/emsoft/EMsoft/Source/DictionaryIndexing/EMEBSDDI.f90:86
#6 0x5599c40d22f6 in main
at /home/hakon/kode/emsoft/EMsoft/Source/DictionaryIndexing/EMEBSDDI.f90:54
```
I would have though I did something wrong, however it works fine on Windows... Anyone experiencing the same on Linux?
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce EMEBSDDI with sic_4h_ebsddi.nml on Linux, then inspect EMsoftHDFLib/EMh5ebsd.f90 at line 899 and the caller in EMOpenCLLib/Indexingmod.f90 at line 1288. Compare the Linux and Windows indexing paths and determine why eulerarray is accessed with index 0; done when the same input completes without the bounds error and writes its output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fortran, linux
- Domain
- hpc, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100