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

Release v3.0 and fix CI for newer Julia versions #37

Merged
merged 9 commits into from
Jan 5, 2022
Merged

Conversation

ludvigak
Copy link
Owner

@ludvigak ludvigak commented Jan 4, 2022

No description provided.

@codecov
Copy link

codecov bot commented Jan 4, 2022

Codecov Report

Merging #37 (d4beda4) into master (cd0a261) will increase coverage by 1.45%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #37      +/-   ##
==========================================
+ Coverage   88.25%   89.70%   +1.45%     
==========================================
  Files           3        3              
  Lines         298      340      +42     
==========================================
+ Hits          263      305      +42     
  Misses         35       35              
Impacted Files Coverage Δ
src/FINUFFT.jl 76.25% <ø> (+3.11%) ⬆️
src/guru.jl 85.58% <100.00%> (+2.58%) ⬆️
src/simple.jl 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cd0a261...d4beda4. Read the comment docs.

This passed pointers to copies of the input arrays to finufft_setpts. The copies could then be garbage collected at random, leaving the pointers invalid
Copy link
Contributor

@lu1and10 lu1and10 left a comment

Choose a reason for hiding this comment

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

If this change can pass all the tests if we switch back to hcat and original rnd. Then it can explain that the bug is that the copied arrays may be garbage collected at random.

@ludvigak
Copy link
Owner Author

ludvigak commented Jan 5, 2022

If this change can pass all the tests if we switch back to hcat and original rnd. Then it can explain that the bug is that the copied arrays may be garbage collected at random.

I think we should keep the change to random number generation, as it removes any dependency on what is the underlying default random number generator. This makes the tests more reproducible, and more likely to pass across different environments.

@ludvigak ludvigak changed the title Use Julia 1.6 and 1.7 in CI Release v3.0 and fix CI for newer Julia versions Jan 5, 2022
@@ -1,7 +1,7 @@
name = "FINUFFT"
uuid = "d8beea63-0952-562e-9c6a-8e8ef7364055"
author = "Ludvig af Klinteberg <[email protected]>"
Copy link
Collaborator

Choose a reason for hiding this comment

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

do you still get email at KTH? :)

Copy link
Owner Author

Choose a reason for hiding this comment

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

Haha, yes so far they haven't shut down the address :D

Copy link
Collaborator

@ahbarnett ahbarnett left a comment

Choose a reason for hiding this comment

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

All looks good to me. The only changes I see are to fix issue #34, change the RNG, update CI to 1.6 + 1.7, and remove some type-conversions. Is that all that was needed? Thanks, Alex

@@ -1,7 +1,7 @@
name = "FINUFFT"
uuid = "d8beea63-0952-562e-9c6a-8e8ef7364055"
author = "Ludvig af Klinteberg <[email protected]>"
version = "2.1.0"
version = "3.0.0"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Are you bumping up the major number since it changes the interface (a bit)? It still is an interface to FINUFFT 2.0.3. I wonder if that is confusing? I guess no more than right now :)

Copy link
Owner Author

Choose a reason for hiding this comment

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

Yep, just released v3.0. We'll just have to live with the slight weirdness of package and interface running at two different versions

@@ -170,10 +169,9 @@ function finufft_setpts(plan::finufft_plan{T},
Ref{Cdouble},
Ref{Cdouble},
Ref{Cdouble}),
plan.plan_ptr,M,T_real(xj),T_real(yj),T_real(zj),N,T_real(s),T_real(t),T_real(u)
plan.plan_ptr, M, xj, yj, zj, N, s, t, u
Copy link
Collaborator

Choose a reason for hiding this comment

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

makes sense to simplify, but I wonder why Libin put in the conversions in the first place?

Copy link
Contributor

Choose a reason for hiding this comment

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

makes sense to simplify, but I wonder why Libin put in the conversions in the first place?

I think I was trying to do a array sanity check as in python interface, https://github.com/flatironinstitute/finufft/blob/4fe380544202f0ad7b89f52c4e08a70f090ed22b/python/finufft/_interfaces.py#L175

While here in Julia we enforce the type check in function signature, so the type conversion is not necessary.

@ahbarnett
Copy link
Collaborator

I ran the test using pkg add FINUFFT#julia-1.7
All good, so I'm bringing it in.

@ahbarnett ahbarnett merged commit 12231e4 into master Jan 5, 2022
@ahbarnett
Copy link
Collaborator

ahbarnett commented Jan 5, 2022 via email

@ludvigak ludvigak deleted the julia-1.7 branch January 6, 2022 19:36
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