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

A faster copyto_unaliased! #41434

Closed
wants to merge 47 commits into from
Closed

A faster copyto_unaliased! #41434

wants to merge 47 commits into from

Commits on Jul 1, 2021

  1. Exclude the slow branch in Broadcast's copyto!

    julia> a = randn(50,50); b = randn(50,50); # 2D case
    # before
    julia> @Btime $a[1:end,1:end] .= $b;
      4.900 μs (0 allocations: 0 bytes)
    julia> @Btime $a[:,:] .= $b;
      721.642 ns (0 allocations: 0 bytes)
    # after
    julia> @Btime $a[1:end,1:end] .= $b;
      355.238 ns (0 allocations: 0 bytes)
    julia> @Btime $a[:,:] .= $b;
      351.643 ns (0 allocations: 0 bytes)
    
    julia> a = randn(50*50); b = randn(50*50); #1D case
    # before 
    julia> @Btime $a .= $b;
      406.566 ns (0 allocations: 0 bytes)
    # after
    julia> @Btime $a .= $b;
      270.607 ns (0 allocations: 0 bytes)
    N5N3 authored Jul 1, 2021
    Configuration menu
    Copy the full SHA
    3fc1a37 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2021

  1. Configuration menu
    Copy the full SHA
    84db092 View commit details
    Browse the repository at this point in the history
  2. revert the a .= b branch

    N5N3 authored Jul 2, 2021
    Configuration menu
    Copy the full SHA
    0d1439e View commit details
    Browse the repository at this point in the history
  3. a faster copyto_unaliased

    N5N3 authored Jul 2, 2021
    Configuration menu
    Copy the full SHA
    1d4dfee View commit details
    Browse the repository at this point in the history
  4. revert

    N5N3 authored Jul 2, 2021
    Configuration menu
    Copy the full SHA
    d533a6b View commit details
    Browse the repository at this point in the history
  5. Update broadcast.jl

    N5N3 authored Jul 2, 2021
    Configuration menu
    Copy the full SHA
    9de88bb View commit details
    Browse the repository at this point in the history
  6. Merge pull request #1 from N5N3/patch__

    revert
    N5N3 authored Jul 2, 2021
    Configuration menu
    Copy the full SHA
    17fe447 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2021

  1. Revert "revert"

    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    691fb71 View commit details
    Browse the repository at this point in the history
  2. Update Base.jl

    Put SimdLoop in advance to avoid bootstrapping (I hope this work)
    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    43d3581 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2 from N5N3/revert-1-patch__

    Focus on copyto_unalias!, put SimdLoop in advance.
    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    742c97a View commit details
    Browse the repository at this point in the history
  4. Update compiler.jl

    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    acbb8f4 View commit details
    Browse the repository at this point in the history
  5. Update compiler.jl

    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    e52eb1e View commit details
    Browse the repository at this point in the history
  6. Update Base.jl

    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    06d5fb0 View commit details
    Browse the repository at this point in the history
  7. Update abstractarray.jl

    Move some copyto! definitions to other place.
    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    1343477 View commit details
    Browse the repository at this point in the history
  8. Create abstractarraypatch.jl

    These definitions need @simd.
    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    bbc4a2f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    17bbc34 View commit details
    Browse the repository at this point in the history
  10. Update Base.jl

    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    1838f88 View commit details
    Browse the repository at this point in the history
  11. Update abstractarraypatch.jl

    add license info
    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    996e272 View commit details
    Browse the repository at this point in the history
  12. Merge pull request #3 from N5N3/patch2

    second try
    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    b69943a View commit details
    Browse the repository at this point in the history
  13. Update abstractarraypatch.jl

    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    bba1fd1 View commit details
    Browse the repository at this point in the history
  14. Create abstractarraypatch.jl

    use view() instead of @view
    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    15f0ea5 View commit details
    Browse the repository at this point in the history
  15. Update abstractarraypatch.jl

    add a branch to speed up Line To Cart which have the same length
    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    bf98f8c View commit details
    Browse the repository at this point in the history
  16. Update abstractarraypatch.jl

    Use manually expanded SIMD kernal instead of "illegal" `@simd`.
    Linear to Cartesian copy is even faster when length(dest) > length(src)
    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    6aa61b9 View commit details
    Browse the repository at this point in the history
  17. Update abstractarraypatch.jl

    Fix for L2Ccopyto!
    N5N3 authored Jul 5, 2021
    Configuration menu
    Copy the full SHA
    0e237cf View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2021

  1. Configuration menu
    Copy the full SHA
    18456b1 View commit details
    Browse the repository at this point in the history
  2. Update abstractarray.jl

    N5N3 authored Jul 6, 2021
    Configuration menu
    Copy the full SHA
    0c5611b View commit details
    Browse the repository at this point in the history
  3. Update abstractarray.jl

    N5N3 authored Jul 6, 2021
    Configuration menu
    Copy the full SHA
    781f176 View commit details
    Browse the repository at this point in the history
  4. Update multidimensional.jl

    N5N3 authored Jul 6, 2021
    Configuration menu
    Copy the full SHA
    64efb57 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #4 from N5N3/patch2

    remove `@simd`
    N5N3 authored Jul 6, 2021
    Configuration menu
    Copy the full SHA
    a6c23f5 View commit details
    Browse the repository at this point in the history
  6. Update multidimensional.jl

    N5N3 authored Jul 6, 2021
    Configuration menu
    Copy the full SHA
    72e6fbd View commit details
    Browse the repository at this point in the history
  7. Delete abstractarraypatch.jl

    N5N3 authored Jul 6, 2021
    Configuration menu
    Copy the full SHA
    affccb8 View commit details
    Browse the repository at this point in the history
  8. Update Base.jl

    N5N3 authored Jul 6, 2021
    Configuration menu
    Copy the full SHA
    ec0a0ce View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2021

  1. Configuration menu
    Copy the full SHA
    0255a6e View commit details
    Browse the repository at this point in the history
  2. Update multidimensional.jl

    fix for 0d Cartesian AbstractArray. 
    This version should be fast enough if the size of Cartesian array's first dim is larger than 16 (eltype Float64).
    N5N3 authored Jul 7, 2021
    Configuration menu
    Copy the full SHA
    e1db2ee View commit details
    Browse the repository at this point in the history
  3. Merge pull request #6 from N5N3/patch2

    fix for 0d Cartesian AbstractArray. 
    This version should be fast enough if the size of Cartesian array's first dim is larger than 16 (eltype Float64).
    N5N3 authored Jul 7, 2021
    Configuration menu
    Copy the full SHA
    c8fbc84 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    911f0dc View commit details
    Browse the repository at this point in the history
  5. Update multidimensional.jl

    white space
    N5N3 authored Jul 7, 2021
    Configuration menu
    Copy the full SHA
    c303830 View commit details
    Browse the repository at this point in the history
  6. Update abstractarray.jl

    white space
    N5N3 authored Jul 7, 2021
    Configuration menu
    Copy the full SHA
    4273b9c View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2021

  1. Configuration menu
    Copy the full SHA
    4515150 View commit details
    Browse the repository at this point in the history
  2. Update multidimensional.jl

    N5N3 authored Jul 9, 2021
    Configuration menu
    Copy the full SHA
    5d4268e View commit details
    Browse the repository at this point in the history
  3. Update multidimensional.jl

    Fix for other IndexStyle. Only use manually expanded version when the size of 1st dim >=16
    N5N3 authored Jul 9, 2021
    Configuration menu
    Copy the full SHA
    a599564 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #7 from N5N3/patch2

    Patch2
    N5N3 authored Jul 9, 2021
    Configuration menu
    Copy the full SHA
    36adcbd View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2021

  1. Configuration menu
    Copy the full SHA
    553c2f7 View commit details
    Browse the repository at this point in the history
  2. Update multidimensional.jl

    fix typo error.
    N5N3 authored Jul 10, 2021
    Configuration menu
    Copy the full SHA
    aa5ba0e View commit details
    Browse the repository at this point in the history
  3. Update copy.jl

    add test for expanded version.
    N5N3 authored Jul 10, 2021
    Configuration menu
    Copy the full SHA
    dd45e9a View commit details
    Browse the repository at this point in the history
  4. Update multidimensional.jl

    white space
    N5N3 authored Jul 10, 2021
    Configuration menu
    Copy the full SHA
    f5086dc View commit details
    Browse the repository at this point in the history
  5. Merge pull request #8 from N5N3/patch2

    fix white space, typo error; add test;
    N5N3 authored Jul 10, 2021
    Configuration menu
    Copy the full SHA
    c3fd814 View commit details
    Browse the repository at this point in the history