Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Upgrade ForTrilinos and enable TpetraOperator derived type #221

Closed
wants to merge 5 commits into from

Conversation

sethrj
Copy link
Collaborator

@sethrj sethrj commented Mar 21, 2018

This is an initial implementation of the callback functionality for the Tpetra operator. I've included a skeleton for a unit test that demonstrates its use. This MR supersedes #220 , most of #207 (aside from the int/logical type conversions), and the largest parts of #217.

Closes #163, #177, #185, #219

@sethrj
Copy link
Collaborator Author

sethrj commented Mar 23, 2018

@aprokop To get the builds to pass, unfortunately you'll have to remove the -std=f2003 flag:


   call c_f_pointer(cptr=fself_ptr, fptr=handle)
                                        1
Error: TS 29113/TS 18508: Noninteroperable array FPTR at (1) to C_F_POINTER: Expression is a noninteroperable derived type
/scratch/source/trilinos/release/packages/ForTrilinos/src/tpetra/src/fortpetra.f90:6323:38:

 call c_f_pointer(cptr=fself_ptr, fptr=handle)
                                      1
Error: TS 29113/TS 18508: Noninteroperable array FPTR at (1) to C_F_POINTER: Expression is a noninteroperable derived type

This error is bogus, and is being fixed in the latest GCC, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84924 . But it'll be a while before any compiler sees that fix.

@aprokop
Copy link
Collaborator

aprokop commented Mar 23, 2018

Hmm, it explains the gcc failure. Flang compiles fine, but the failure of the test is probably due to missing functionality.

@aprokop
Copy link
Collaborator

aprokop commented Mar 23, 2018

I'd like to keep the flag to make sure we don't accidentally use any Fortran 2008 features. Ideally, the gcc folks would backport the patch into older compiler versions. But a) it unclear whether that would be done, and b) it may take a long time to get it to Ubuntu. I could switch to one of the recent gcc's once the patch is upstream. Should be easy with Spack. In the mean time, I probably need to follow @sethrj' advice and disable the flag. If I recall correctly, Flang just outright ignores that flag anyway.

@sethrj
Copy link
Collaborator Author

sethrj commented Mar 23, 2018

FWIW I'm continuing to build the SWIG test suite with -std=f2003 so we should have at least some assurance of no F2008 features with that.

@aprokop aprokop changed the base branch from develop to master June 7, 2018 15:03
@sethrj
Copy link
Collaborator Author

sethrj commented Feb 5, 2019

All the useful parts of this have been incorporated into master.

@sethrj sethrj closed this Feb 5, 2019
@sethrj sethrj deleted the operator-callback branch February 5, 2019 01:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants