You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Struct pastix_data_s in CalculiX which is declared in the ccx_2.19/src/pastix.c is inconsistent with that in PaStiX4CalculiX, which is declared in pastixdata.h. As a result, there is a Segmentation fault on ccx_2.19/src/pastix.c:759, when calling pastix_data->iparm[IPARM_GPU_NBR]=0;. When debuging with GDB, pastix_data->iparm is always 0.
I'm using gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 and following the instructions in CalculiX's README.INSTALL file when setting up the environment.
Is this a bug or a mistake from my side while setting up/compiling?
Any help is appreciated.
The text was updated successfully, but these errors were encountered:
uebian
changed the title
Stuct pastix_data_s in CalculiX seems inconsistent with that in PaStiX4CalculiX
Struct pastix_data_s in CalculiX seems inconsistent with that in PaStiX4CalculiX
Jul 28, 2022
I honestly don't remember why I choose the same name, but I don't think this was on purpose because they are clearly not related to each other.
But this should not be a problem, because pastixdata.h is not included in pastix.c. The pastix_data you are refering to is of type pastix_data_t.
So the problem is located somewhere else.
In ccx, global variable pastix_data with type pastix_data_s is initilized on pastix.c:262 through calling PaStiX's API pastixInit. However, in PaStiX, this API's argument pastix_data is treated as type pastix_data_t which actually has different type from the caller.
As a result, when I set breakpoint on the end of pastixInit, the value pastix_data->iparm is not null. However, after it returns to CCX, on pastix.c:264, the pointer pastix_data is interpreted as a type that is different from where it is initilized and the value pastix_data->iparm is null because of that.
What's more, changing pastix_data_s in CCX to pastix_data_ss and copy the definition of pastix_data_s from pastixdata.h to pastix.c seems solve this problem, but I don't know if this is actually a bug in CalculiX or some mistakes when compiling this software.
Struct
pastix_data_s
in CalculiX which is declared in theccx_2.19/src/pastix.c
is inconsistent with that in PaStiX4CalculiX, which is declared in pastixdata.h. As a result, there is a Segmentation fault onccx_2.19/src/pastix.c:759
, when callingpastix_data->iparm[IPARM_GPU_NBR]=0;
. When debuging with GDB,pastix_data->iparm
is always 0.I'm using gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 and following the instructions in CalculiX's README.INSTALL file when setting up the environment.
Is this a bug or a mistake from my side while setting up/compiling?
Any help is appreciated.
The text was updated successfully, but these errors were encountered: