flame / libflame

High-performance object-based library for DLA computations
Other
235 stars 83 forks source link

Function or conditional branch/case not yet implemented. #44

Open rkingsbury opened 3 years ago

rkingsbury commented 3 years ago

I recently compiled nwchem using libflame in place of LAPACK. When trying to run a simple calculation, execution fails with

libflame: /home/amd/harish/rome2.2/aocl-rel/aocl22-rc4/final-packages/libflame/src/lapack/red/tridiagut/front/flamec/FLA_Tridiag_UT_internal.c (line 26):
libflame: Function or conditional branch/case not yet implemented.
libflame: Aborting.

Program received signal SIGABRT: Process abort signal.

Clearly the program is trying to do something not yet implemented in libflame. But my understanding is that libflame fully supports the LAPACK specification as of v2.1, so I'm a bit confused about how to interpret this message.

I compiled nwchem using the precompiled flame library downloaded from https://developer.amd.com/amd-aocl/. Is that library compiled with the lapack2flame compatibility option? If it isn't, could that explain why I am seeing this error?

Thanks for any assistance!

fgvanzee commented 3 years ago

@rkingsbury Thanks for this report, and sorry for your troubles. Another user has reported this issue.

I don't think the error has anything to do with it being AMD's packaging of libflame. I think the problem is here, upstream.

You are right that in principle, this use case should be supported. However, clearly it is not. I believe it is the upper-stored tridiagonal case that is not implemented. I thought we implemented it in terms of the lower-stored tridiagonal case, but I could be mistaken. Either way, it'll be a bit before I can look into this.