EMsoft-org / EMsoft-org/EMsoft

EMEBSDDI version 5_0_20200714_ on Linux (Ubuntu 20.04) fails, apparently jumps over indexing step

Open
#120 9 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.