2016-12-12 13 views
1

Я работаю над файлом Fortran, который использует библиотеки HDF5 для выгрузки выходных данных. Я запускаю код на суперкомпьютере без каких-либо проблем. Недавно я попробовал код в нашем локальном кластере с установленными на компьютере библиотеками HDF5. Тем не менее, код работает нормально, за исключением того, что на выходной части возникает следующая ошибка.HDF5 не удалось создать ошибку файла

Я довольно широко искал эту проблему в Интернете. Но большинство решений, которые я вижу, очень специфичны для их кодов. Я считаю, что ошибка связана с какой-то фундаментальной проблемой. Может ли кто-нибудь объяснить мне, почему возникает ошибка?

15:34:05 - Dumping OD... 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5F.c line 522 in H5Fcreate(): unable to create file 
    major: File accessibilty 
    minor: Unable to open file 
    #001: H5Fint.c line 992 in H5F_open(): unable to open file: time = Mon Dec 12 15:34:05 2016 
, name = './Production/od_out_t00000010-0067858932.h5', tent_flags = 13 
    major: File accessibilty 
    minor: Unable to open file 
    #002: H5FD.c line 993 in H5FD_open(): open failed 
    major: Virtual File Layer 
    minor: Unable to initialize object 
    #003: H5FDmpio.c line 1059 in H5FD_mpio_open(): MPI_File_open failed 
    major: Internal error (too specific to document in detail) 
    minor: Some MPI function failed 
    #004: H5FDmpio.c line 1059 in H5FD_mpio_open(): MPI_ERR_FILE: invalid file 
    major: Internal error (too specific to document in detail) 
    minor: MPI Error String 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5D.c line 165 in H5Dcreate2(): not a location ID 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
    #001: H5Gloc.c line 253 in H5G_loc(): invalid object ID 
    major: Invalid arguments to routine 
    minor: Bad value 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5D.c line 460 in H5Dget_space(): not a dataset 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5Dio.c line 228 in H5Dwrite(): not a dataset 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5S.c line 392 in H5Sclose(): not a dataspace 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5D.c line 415 in H5Dclose(): not a dataset 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5F.c line 774 in H5Fclose(): not a file ID 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5F.c line 604 in H5Fopen(): unable to open file 
    major: File accessibilty 
    minor: Unable to open file 
    #001: H5Fint.c line 992 in H5F_open(): unable to open file: time = Mon Dec 12 15:34:05 2016 
, name = './Production/od_out_t00000010-0067858932.h5', tent_flags = 1 
    major: File accessibilty 
    minor: Unable to open file 
    #002: H5FD.c line 993 in H5FD_open(): open failed 
    major: Virtual File Layer 
    minor: Unable to initialize object 
    #003: H5FDsec2.c line 339 in H5FD_sec2_open(): unable to open file: name = './Production/od_out_t00000010-0067858932.h5', errno = 2, error message = 'No such file or directory', flags = 1, o_flags = 2 
    major: File accessibilty 
    minor: Unable to open file 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5D.c line 340 in H5Dopen2(): not a location 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
    #001: H5Gloc.c line 253 in H5G_loc(): invalid object ID 
    major: Invalid arguments to routine 
    minor: Bad value 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5A.c line 247 in H5Acreate2(): not a location 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
    #001: H5Gloc.c line 253 in H5G_loc(): invalid object ID 
    major: Invalid arguments to routine 
    minor: Bad value 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5A.c line 591 in H5Awrite(): not an attribute 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5A.c line 1602 in H5Aclose(): not an attribute 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5D.c line 415 in H5Dclose(): not a dataset 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
HDF5-DIAG: Error detected in HDF5 (1.8.17) MPI-process 0: 
    #000: H5F.c line 774 in H5Fclose(): not a file ID 
    major: Invalid arguments to routine 
    minor: Inappropriate type 
15:34:05 - Finished dumping HDF5 data. 
+1

У вас есть необходимые разрешения для записи файла в выбранном месте? –

+0

Я просто прикасаюсь к тестовому файлу в той же директории вывода. Мне нужен доступ для записи. –

+0

Я только что обнаружил, что у кого-то была аналогичная ошибка: https://groups.google.com/forum/#!topic/pflotran-users/ZPqqkROX9hc. Третий комментарий в разговоре говорит о снижении рейтинга Intel v16 до v15. Я также использую Intel v16 на данный момент. Ваше мнение о том, почему такое происходит? –

ответ

0

Мое предложение добавить

CALL h5dclose_f(dset_id, ierr) ! terminate create dataset; 

для каждой записи данных действий. Меня устраивает.

+0

Лучше не использовать «У меня похожий вопрос». Может показаться, что вы спрашиваете с первого взгляда, и некоторые люди могут не читать дальше и помечать ваш вопрос или что-то еще. –