Skip to content

Conversation

@ItsPitt
Copy link

@ItsPitt ItsPitt commented Aug 11, 2023

I got the following tests building and running the without crashing:
./src/lapack/util/app/qutinc/front/flamec/test/flash_sm
./src/lapack/util/app/q2ut/front/flamec/test/flash_sm
./src/lapack/sol/sylv/front/flamec/test/flash_sm
./src/lapack/dec/q/qr2ut/front/flamec/test/flash_sm

I got this testing building, but could not find a replacement for FLA_Apply(). This seems to be causing a run time error.
./src/lapack/util/app/qut/front/flamec/test/flash_sm

FLA_Error REF_Apply_Q( FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Obj A, FLA_Obj t, FLA_Obj B )
{
return FLA_Apply( side, uplo, trans, A, t, B );
//return FLA_Apply( side, uplo, trans, A, t, B );
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No reference to this. However, not having it seems to be causing a runtime issue. Will keep looking into it.

Copy link

@iotamudelta iotamudelta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor stuff

case FLA_ALG_REFERENCE:
//FLA_Obj_show( "A_flat:", A_flat, "%12.4e", "" );
//FLA_QR_UT( A_flat, t, T_flat );
FLA_QR2_UT( B_flat,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that this is the FLA_ALG_REFERENCE path, no FLASH substitution necessary

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FLA_QR2_UT was giving an undefined reference. It looks like it was removed at some point. Should this be something other than FLASH_QR2_UT?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does FLA_QR2_UT_internal work?

FLASH_Norm1( B, norm );
if ( FLA_Obj_is( isgn, FLA_MINUS_ONE ) )
FLA_Negate( norm );
FLASH_Obj_shift_diagonal( FLA_NO_CONJUGATE, norm, B );

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

interesting that this is not necessary

FLASH_Copy( A_save, A );

FLASH_Obj_flatten( A, A_flat );
FLA_QR_UT( A_flat, t, T_flat );

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

intentional change?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a mistake, will fix

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At least, leaving the old line in was. It was complaining about too many args. Since I don't have this test working correctly, I can't verify I removed the correct arg yet. But this gets the test compiling.

@ItsPitt
Copy link
Author

ItsPitt commented Aug 19, 2023

I reverted any tests that weren't working as expected. Below I'll list the status of each test. Only one actually worked as expected.

util/app/qut/front/flamec/test/flash_sm
Could not get to run correctly. Was running into issues with FLASH_Apply_Q_UT()

util/app/qutinc/front/flamec/test/flash_sm
Seems to work as expected, here is a sample of the results:
data_qrutinc_( 1, 1:5 ) = [ 384 6.855 0.00e+00 6.397 1.60e-13 ];
data_qrutinc_( 2, 1:5 ) = [ 576 6.869 0.00e+00 6.399 8.60e-13 ];
data_qrutinc_( 3, 1:5 ) = [ 768 6.874 0.00e+00 6.392 4.95e-13 ];
data_qrutinc_( 4, 1:5 ) = [ 960 6.873 0.00e+00 6.381 1.12e-13 ];

util/app/q2ut/front/flamec/test/flash_sm
I got this running, however, the accuracy delta was showing 0. It looked like the FLA_ version was removed at some point. So it was comparing a FLASH_ run to a FLASH_ run and getting 0 difference. I think everything was working on this one, it just did not have a baseline. Because of this, I reverted it.

sol/sylv/front/flamec/test/flash_sm
I got this running. However, the FLASH_Obj_shift_diagonal() implementation seems to have been removed at some point. So when I removed that call to get it running, the accuracy was wildly bad. I could not find a replacement for that call, so I reverted this.

dec/q/qr2ut/front/flamec/test/flash_sm
This is the only one that I really had a question on. I have it running. But the accuracy results seem somewhat high. I'll post below. But I reverted for now.
data_qr2ut_( 1, 1:5 ) = [ 160 4.524 0.00e+00 13.176 3.50e-15 ];
data_qr2ut_( 2, 1:5 ) = [ 240 4.535 0.00e+00 8.627 3.55e-15 ];
data_qr2ut_( 3, 1:5 ) = [ 320 4.610 0.00e+00 6.972 2.32e+01 ];
data_qr2ut_( 4, 1:5 ) = [ 400 4.676 0.00e+00 6.361 2.40e-01 ];
data_qr2ut_( 5, 1:5 ) = [ 480 5.568 0.00e+00 6.580 2.20e-01 ];
data_qr2ut_( 6, 1:5 ) = [ 560 5.563 0.00e+00 6.311 3.46e+01 ];
data_qr2ut_( 7, 1:5 ) = [ 640 5.574 0.00e+00 6.324 3.77e+01 ];
data_qr2ut_( 8, 1:5 ) = [ 720 5.680 0.00e+00 6.130 1.84e-01 ];
data_qr2ut_( 9, 1:5 ) = [ 800 5.709 0.00e+00 5.881 4.30e+01 ];
data_qr2ut_( 10, 1:5 ) = [ 880 5.548 0.00e+00 5.984 4.55e+01 ];
data_qr2ut_( 11, 1:5 ) = [ 960 5.692 0.00e+00 5.882 1.77e-01 ];

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants