Skip to content

V0.10.0 working #69

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

Draft
wants to merge 203 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
203 commits
Select commit Hold shift + click to select a range
366a8ed
Merge pull request #17 from gorgonia/v0.8.0-working
chewxy Dec 10, 2017
f06ec67
Merge branch 'master' into v0.8.0-working
chewxy Dec 17, 2017
1137566
Merge pull request #18 from gorgonia/v0.8.0-working
chewxy Dec 17, 2017
4dff960
fixes gorgonia/gorgonia#189 by creating using an alloc-ful (as oppose…
chewxy Jan 20, 2018
1ec1189
Removed debug related traces
chewxy Jan 20, 2018
0e4c584
wtf gofmt stopped working
chewxy Jan 20, 2018
51c3d81
added some minor optimizations based on profiling
chewxy Jan 20, 2018
787b524
Resolved subtle bug in inplace transpose
chewxy Jan 21, 2018
ff9e67b
added @stuartcarnie's optimization
chewxy Jan 21, 2018
31339cb
Added benchmark for iterator
chewxy Jan 21, 2018
d42778a
Merge branch 'stuartcarnieoptimization' into 189fix
chewxy Jan 21, 2018
a923b1c
Merge pull request #19 from gorgonia/189fix
chewxy Jan 22, 2018
1ca1fbc
Pulled iterator_native from the upcoming v0.9.0 update.
chewxy Feb 28, 2018
2e9eccb
Merge pull request #23 from gorgonia/nativeiterators
chewxy Feb 28, 2018
a7ab578
update godoc tag
poopoothegorilla Mar 5, 2018
7c32ffe
Merge pull request #26 from poopoothegorilla/patch-1
chewxy Mar 5, 2018
73439fe
Native iterators go into their own package now
chewxy Mar 19, 2018
cfdaaa6
Merge pull request #27 from gorgonia/nativeiterators
chewxy Mar 19, 2018
d319726
Update .travis.yml
chewxy May 26, 2018
18bc5e9
Merge pull request #32 from gorgonia/gonumchasing
chewxy May 26, 2018
9cc480c
Improved multi arch support
pointlander Aug 17, 2018
88a37ab
Merge pull request #33 from pointlander/master
chewxy Aug 17, 2018
72d4a63
V0.9.0 (#22)
chewxy Aug 19, 2018
aff2ae5
optimization for the array structure (#42)
owulveryck May 30, 2019
777a631
Fixed Travis (#44)
chewxy Jun 1, 2019
356c45c
Optimization on the Repeat operation (#43)
owulveryck Jun 9, 2019
2e19d2e
Go1.13 ci (#45)
chewxy Sep 5, 2019
0ea1dd1
Fix typo (#49)
tiagorlampert Oct 13, 2019
8e1c773
Fix a bug where axes in the along array were only ever decremented by…
bdleitner Oct 14, 2019
aaf076a
Fixed some typos (#50)
tiagorlampert Oct 21, 2019
5338885
Fix scalar operations (fix for #52) (#54)
bezineb5 Dec 8, 2019
0025a33
Synchronized genlib2 with changes in the generated files. (#53)
bezineb5 Dec 8, 2019
7abc187
Cleaned up pointer semantics (#55)
chewxy Dec 8, 2019
a6e7a3d
Fixes a bug in `ShallowClone` (#56)
chewxy Jan 4, 2020
b702564
Added example for Apply and mutation of data (#58)
chewxy Jan 9, 2020
37ecf88
Change license from MIT to Apache license (#59)
cfgt Jan 10, 2020
63215a9
Fixed Engine stuff. Also Go 1.14 fixed (#61)
chewxy Mar 1, 2020
31c4291
Some sketch in simplifying `tensor.Tensor`
chewxy Mar 10, 2020
956f24a
Added Scalar type to prepare for v0.10.0
chewxy Mar 16, 2020
097d44d
Added RepeatReuse API. (#62)
chewxy Mar 17, 2020
c901903
delete LICENCE (#63)
chewxy Mar 21, 2020
f10d2f0
Repeat reuse with optimizations (#65)
chewxy Apr 10, 2020
ca49742
Gomod (#66)
chewxy Apr 10, 2020
7e357ab
fix possible memory confusion in unsafe slice cast (#68)
jlauinger Jun 1, 2020
49e78e0
V0.9.6 performance (#67)
chewxy Jun 1, 2020
d970050
Merge branch 'master' into v0.10.0-working
chewxy Jun 18, 2020
a2c1134
Exported StandardEngine
chewxy Jun 23, 2020
ed5851a
Bezineb5 fix interface scalar (#73)
chewxy Jun 30, 2020
6b9a52f
fix 48 more possible memory confusion bugs (#72)
jlauinger Jun 30, 2020
ef379c5
slice with step fix + tests (#74)
cpllbstr Jul 8, 2020
cd80d2f
add conversion from arrow to tensor
poopoothegorilla Jul 20, 2020
0490bc4
add defer release for arrow array
poopoothegorilla Jul 20, 2020
de0920c
move arrow code to generators
poopoothegorilla Jul 21, 2020
040ea29
add binary types and fixed width types
poopoothegorilla Jul 21, 2020
ad41a32
update native iterator
poopoothegorilla Jul 21, 2020
40d2b9c
remove arrow specific files and fix arrow imports
poopoothegorilla Jul 21, 2020
2c590b5
add tests for arrow to tensor function
poopoothegorilla Jul 26, 2020
061a685
add checks for valid mask in arrow to tensor tests
poopoothegorilla Jul 26, 2020
9b3b7c7
small changes to address inconsistencies
poopoothegorilla Jul 26, 2020
e3dc770
add fixedwidth and binary types to arrow tensor tests
poopoothegorilla Jul 27, 2020
2b7d597
Merge pull request #75 from poopoothegorilla/jtw/arrow-to-tensor
cfgt Jul 27, 2020
942e6a5
add Arrow Tensor to Gorgonia Tensor conversion
poopoothegorilla Aug 3, 2020
e487844
take contiguous check out of every type in switch
poopoothegorilla Aug 3, 2020
d23e193
add masks to the FromArrowTensor conversion
poopoothegorilla Aug 3, 2020
0ac34d1
add transpose function for masks and add mask to fortran function
poopoothegorilla Aug 7, 2020
2a80da9
Merge pull request #76 from poopoothegorilla/jtw/arrow-tensor-to-gorg…
cfgt Aug 14, 2020
c10583c
Add complex support to linalg functionalities (#77)
chewxy Sep 8, 2020
11dd720
Gomod (#80)
chewxy Sep 9, 2020
714c7e5
fix: permute strides (#84)
strigi-form Oct 19, 2020
54b092c
Go1.15fix (#87)
chewxy Oct 20, 2020
d52bdbe
Fix#88 (#89)
chewxy Oct 20, 2020
58c18c3
Fixed #90
chewxy Oct 25, 2020
cf15c86
Fixed #90 (#91)
chewxy Oct 26, 2020
c49f9cd
Merge remote-tracking branch 'origin/master'
chewxy Oct 27, 2020
ff7c216
Fix#57 (#92)
chewxy Oct 28, 2020
912c427
fixed numpy shape issue for 1D vector (#93)
mlg556 Oct 28, 2020
f33449b
Merge remote-tracking branch 'origin/master'
chewxy Oct 30, 2020
ac5bb6d
Reshapefix (#94)
chewxy Oct 31, 2020
19cfa15
Merge remote-tracking branch 'origin/master'
chewxy Nov 21, 2020
eff3be2
Fmt h (#95)
chewxy Nov 24, 2020
ecb6a20
Merge remote-tracking branch 'origin/master'
chewxy Dec 1, 2020
19dd238
Indexselect (#96)
chewxy Dec 1, 2020
a54408f
Merge remote-tracking branch 'origin/master'
chewxy Dec 8, 2020
4c3771b
Clarify Semantics of how Shape and Data works. (#97)
chewxy Dec 8, 2020
e325ad9
Cuda11 (#99)
chewxy Dec 11, 2020
b5bfd53
Merge remote-tracking branch 'origin/master'
chewxy Dec 20, 2020
9a81588
Merge branch 'master' into v0.10.0-working
chewxy Dec 20, 2020
79d525f
Merge remote-tracking branch 'origin/v0.10.0-working' into v0.10.0-wo…
chewxy Dec 29, 2020
0364c45
Added an unsafe checker.
chewxy Dec 29, 2020
098c4c3
Use Github Actions for testing instead of travis (#101)
chewxy Dec 30, 2020
f750949
Merge remote-tracking branch 'origin/master'
chewxy Dec 30, 2020
ff9c22f
Clarifysemantics 2 (#100)
chewxy Dec 30, 2020
58d40f3
Merge remote-tracking branch 'origin/master'
chewxy Dec 30, 2020
a53dcb2
Fix slicing vectors with shape 1 (#103)
dcu Jan 4, 2021
e20e772
Merge remote-tracking branch 'origin/master'
chewxy Jan 4, 2021
537c389
Clarifysemantics2 (#104)
chewxy Jan 5, 2021
3ebf1ff
Merge remote-tracking branch 'origin/master'
chewxy Jan 5, 2021
e30cbd9
Fixed #90 (#105)
chewxy Jan 14, 2021
561c672
Merge remote-tracking branch 'origin/master'
chewxy Jan 14, 2021
41c1060
Fix by indices bug (#106)
chewxy Jan 14, 2021
85e5931
Merge remote-tracking branch 'origin/master'
chewxy Jan 14, 2021
e0e5b98
Merge branch 'master' into v0.10.0-working
chewxy Jan 17, 2021
ec6c53e
Merge branch 'master' into v0.10.0-working
chewxy Jan 17, 2021
0523aa4
Removed `standardEngine` requirement from the Tensor definition
chewxy Jan 18, 2021
ee1b614
Merge remote-tracking branch 'origin/v0.10.0-working' into v0.10.0-wo…
chewxy Jan 18, 2021
094bda9
Removed requirement for fmt.Stringer and fmt.Formatter
chewxy Jan 18, 2021
3b5b6f4
handleReuse: add `safe` flag to skip expensive call to BorrowInt (#107)
khezen Mar 11, 2021
196f7c9
Merge remote-tracking branch 'origin/master'
chewxy Mar 28, 2021
572a225
Fix#111 (#112)
chewxy Mar 28, 2021
2a53de8
Add subdirectories to tested folders in Github workflow (#108)
MarkKremer Mar 29, 2021
58db8c4
Remove redundant code from header copy func (#109)
MarkKremer Mar 29, 2021
656664e
Merge remote-tracking branch 'origin/master'
chewxy Apr 4, 2021
788f95a
Merge branch 'master' into v0.10.0-working
chewxy Apr 4, 2021
26ad713
Initial work to separate out View into its own type...
chewxy Apr 4, 2021
781e213
Finished moving View out. Now time to deal with the transposey views
chewxy Apr 5, 2021
82b7912
Move unused noopError to test. Simplify handleNoOp function (#110)
MarkKremer Apr 5, 2021
d7be7e7
Example iterators (#114)
chewxy Apr 6, 2021
7197e1d
Merge branch 'master' into v0.10.0-working
chewxy Apr 18, 2021
1cfb599
Started to move out Dtype to its own package.
chewxy Jul 9, 2021
8f33ec2
More work to move Dtype related stuff into its own package
chewxy Jul 9, 2021
da916ae
More work on moving Dtype to its own package
chewxy Jul 9, 2021
617557a
Finished move of Dtype to its own package
chewxy Jul 9, 2021
077808a
Moved Shapes out and use the shapes package
chewxy Jul 16, 2021
45690e6
Merge remote-tracking branch 'origin/master'
chewxy Jul 16, 2021
11ba056
Merge remote-tracking branch 'origin/master' into v0.10.0-working
chewxy Jul 16, 2021
ee280c6
Merge remote-tracking branch 'origin/v0.10.0-working' into v0.10.0-wo…
chewxy Jul 16, 2021
0c16384
Fixed iterator example
chewxy Jul 16, 2021
a20d134
More work to remove Shape stuff from this package
chewxy Jul 16, 2021
eaefaa7
Deifne equality for DenseTensor
chewxy Jul 21, 2021
2a7c40d
Fixed MatMul API to handle different Tensor types
chewxy Jul 21, 2021
ed054ac
Expanded OpOpt's methods to allow modification
chewxy Jul 21, 2021
a5bc18d
Added axial iterator
chewxy Jul 26, 2021
076a972
Added max example
chewxy Jul 26, 2021
f83f457
Added prelim sketch of Scatter
chewxy Jul 26, 2021
99f679c
Added some checks for gather scatter
chewxy Jul 26, 2021
d05b65f
Fixed the def'n of StandardEngine, added StandardEngine2
chewxy Jul 28, 2021
0e008e0
Moved funcopts into its own file because it should be in its own file.
chewxy Jul 28, 2021
cc327c0
Added more support for context.Context. Now the API functions can be …
chewxy Jul 28, 2021
848a2d9
Generated tests for context func opts
chewxy Jul 28, 2021
1c8a114
Unexported OpOpt.
chewxy Jul 28, 2021
2432a67
Moved native iterators into package `tensor` proper.
chewxy Jul 29, 2021
d1906c9
Moved native select into package `tensor` as well.
chewxy Jul 29, 2021
e5c930c
Added lazy native select
chewxy Jul 29, 2021
d113c2b
renamed the files
chewxy Jul 29, 2021
b3d2336
Renamed LazyNativeSelectF64 to BatchedNativeSelectF64
chewxy Jul 29, 2021
c588e45
Playing with the API a bit to see if I can make it nicer
chewxy Jul 29, 2021
2194ae8
Playing with API a bit more.
chewxy Jul 29, 2021
63c57ae
I am finally satisfied with the API. Added a lot more documentation
chewxy Jul 29, 2021
7a4060a
fixed the WithBacking funcopt to actually play nicer with CUDA.
chewxy Aug 4, 2021
082061f
Added a temporary range based iter...
chewxy Aug 4, 2021
94622fd
Fixed a bug in the ElNe API
chewxy Aug 5, 2021
a7c5545
Added some funcopts to Inner to allow for context handling
chewxy Aug 18, 2021
0f1ea5e
Added some more support for context.Context
chewxy Aug 19, 2021
519fa04
Changed almost all the engine interface definitions to also include c…
chewxy Aug 19, 2021
b0b4747
Converted transpose and concat to use context.
chewxy Aug 19, 2021
f6a3a04
added some notes clarifying the API design of the tensor package. Loo…
chewxy Aug 19, 2021
47dcee9
Fixed up Stack, Repeat and Diag
chewxy Aug 20, 2021
084762d
Fixed the linear algebra methods to include context.Context
chewxy Aug 20, 2021
f39319c
Fixed reduction methods to use context
chewxy Aug 20, 2021
2ce32f7
Fixed argmethods to use context
chewxy Aug 20, 2021
a5388ef
Fixed up a missing FMA fix for handling contexts
chewxy Aug 20, 2021
695f4ec
Fixed most of the APIs. Some of them like the reduction-related packa…
chewxy Aug 20, 2021
c745b2d
Fixed up argmethods. Now to work on actually fixing the API
chewxy Aug 20, 2021
b6b33e3
Fixed the API for Inner
chewxy Sep 2, 2021
1395018
Fixed the StdEng's definition of Trace to actually implement Tracer
chewxy Sep 3, 2021
5efcf9a
Changed the shape definition of Outer such that it only checks for th…
chewxy Sep 9, 2021
c08a781
Added Min/Max Between (#117)
chewxy Sep 16, 2021
fb89257
Merge remote-tracking branch 'origin/master'
chewxy Oct 4, 2021
d2eed73
Merge remote-tracking branch 'origin/master' into v0.10.0-working
chewxy Oct 4, 2021
8bf05a8
Fixed minmaxbetween for 0.10.0
chewxy Oct 4, 2021
47f11bd
Working on a bug on selbyidxB function
chewxy Oct 12, 2021
11a940e
Softmax backwards (#119)
dcu Oct 16, 2021
bac7595
Merge remote-tracking branch 'origin/master' into optimizations
chewxy Oct 18, 2021
f2726a5
Implement the Narrow operation for Dense tensors. (#120)
dcu Oct 18, 2021
d4a3cbd
Merge branch 'master' into optimizations
chewxy Oct 18, 2021
60b4835
Narrow op (#122)
chewxy Oct 18, 2021
5d6a7eb
Merge branch 'master' into optimizations
chewxy Oct 18, 2021
2c194a8
fix a bug in ByIdx
chewxy Oct 18, 2021
37fa72d
Added some logging to the Narrow test to ensure sanity
chewxy Oct 18, 2021
0dd0c0a
Added comments and documentation to softmax
chewxy Oct 18, 2021
fde293b
Renamed the variables in SelectByIndicesB and SelectByIndices for bet…
chewxy Oct 18, 2021
32c82b5
Added example of ByIndices
chewxy Oct 19, 2021
e546815
Removed the allocation as suggested by @dcu
chewxy Oct 19, 2021
32e4381
Switch to using `getFloat64s` and `getFloat32s` (new utility func) to…
chewxy Oct 19, 2021
923510b
Removed unnecessary calls to .Clone() which reduces the number of all…
chewxy Oct 19, 2021
8e71232
Parallelized the softmax code
chewxy Oct 21, 2021
0aa7e64
Optimizations (#121)
chewxy Oct 22, 2021
be27ed5
Merge remote-tracking branch 'origin/master'
chewxy Oct 22, 2021
f0a7b0e
Merge branch 'master' into optimizations
chewxy Nov 15, 2021
160896e
Made the Slice type = shapes.Slice
chewxy Mar 21, 2022
2442276
Merge branch 'optimizations'
chewxy Mar 28, 2022
e3db7f8
Bump github.com/gogo/protobuf from 1.3.1 to 1.3.2 (#125)
dependabot[bot] Apr 4, 2022
c20848f
Fixed a major bug when reusing an operand (#126)
chewxy Apr 4, 2022
5911a45
Fixed error messages to have a consistent error message for NYIs
chewxy May 4, 2022
0591e7d
Merge remote-tracking branch 'origin/master' into v0.10.0-working
chewxy May 4, 2022
81d74ca
Fixed a bunch of issues due to merging from origin/master.
chewxy May 4, 2022
61aec53
Added documentation for Transpose and T()
chewxy May 4, 2022
1ec5b89
Added examples for SliceInto
chewxy May 4, 2022
0fa100d
Wipsel 128 upgrade asume no moving gc to latest version (#130)
chewxy Jul 18, 2022
ba86e34
Merge remote-tracking branch 'origin/master' into v0.10.0-working
Jul 18, 2022
a09f99f
Merge remote-tracking branch 'origin/master' into v0.10.0-working
chewxy Jul 22, 2022
6bc6f46
Some corrections to the tests of selbyidx. Prepping for the larger ch…
chewxy Sep 26, 2023
21ee6b1
Merge remote-tracking branch 'origin/v0.10.0-working' into v0.10.0-wo…
Sep 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# These are supported funding model platforms

github: [chewxy, owulveryck, dcu] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
109 changes: 109 additions & 0 deletions .github/workflows/.go.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
on:
push:
branches: [ master ]
pull_request:
name: test and build
env:
GOPROXY: "https://proxy.golang.org"
CI_NO_PYTHON: "true"
jobs:
test:
strategy:
matrix:
go: [1.18.x, 1.17.x, 1.16.x, 1.15.x]
os: [ubuntu-latest, macos-latest, windows-latest]
tags: [avx, sse]
allowfail: [false]
include:
- go: tip
os: ubuntu-latest
allowfail: true
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.allowfail }}
timeout-minutes: 5
steps:
- name: Install Go ${{ matrix.go }} on ${{ matrix.os }}
if: matrix.go != 'tip'
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
# tempoary hack:
# https://github.com/actions/setup-go/issues/21#issuecomment-565704236
- name: Install Go ${{ matrix.go }} on ${{ matrix.os }}
if: matrix.go == 'tip'
run: |
git clone --depth=1 https://go.googlesource.com/go $HOME/gotip
cd $HOME/gotip/src
./make.bash
echo "GOROOT=$HOME/gotip" >> $GITHUB_ENV
echo "$HOME/gotip/bin" >> $GITHUB_PATH
- name: Checkout code
uses: actions/checkout@v2
- name: Run tests
run: |
go test ./... -v -race
go test ./... -race -tags=${{ matrix.tags }}

coverage:
env:
CI_NO_PYTHON: "false"
PYTHON_COMMAND: python
strategy:
matrix:
tags: [avx, sse]
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: 1.14.x
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
architecture: 'x64'
- name: Install Pip
uses: BSFishy/pip-action@v1
with:
packages: numpy
- name: Checkout code
uses: actions/checkout@v2
- name: Calc coverage
run: |
export PATH=$PATH:$(go env GOPATH)/bin
go test ./... -v -covermode=atomic -coverprofile=coverage.out
- name: Convert coverage to lcov
uses: jandelgado/[email protected]
with:
infile: coverage.out
outfile: coverage.lcov
- name: Coveralls
uses: coverallsapp/[email protected]
with:
github-token: ${{ secrets.github_token }}
path-to-lcov: coverage.lcov

build:
strategy:
matrix:
go: [1.13, 1.14]
goos: [linux, darwin]
goarch: [amd64, arm]
exclude:
# windows/386 and darwin/386 seems useless
- goarch: "arm"
goos: darwin
runs-on: ubuntu-latest
needs: [test]
steps:
- name: Install Go ${{ matrix.go }}
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Checkout code
uses: actions/checkout@v2
- name: build
run: go build .
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
31 changes: 0 additions & 31 deletions .travis.yml

This file was deleted.

4 changes: 3 additions & 1 deletion CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
* Xuanyi Chew (@chewxy) - initial package
* Naseer Dari (@ndari) - errors and error handling
* Joe Kabaka (@kabaka0) - masked array functionality
* Stuart Carnie (@stuartcarnie) - performance optimization for iterators
* Jorge Landivar (@docmerlin) - performance optimization for `*Dense`

# Contributors

Expand All @@ -12,8 +14,8 @@
* David Soller | @3ygun
* Davor Kapsa | @dvrkps
* James Michael DuPont | @h4ck3rm1k3
* Jorge Landivar | @docmerlin
* Yuanlin Lian | @alienchow
* Andrew SnodGrass | @pointlander



Expand Down
75 changes: 0 additions & 75 deletions Gopkg.lock

This file was deleted.

54 changes: 0 additions & 54 deletions Gopkg.toml

This file was deleted.

Loading