gorgonia.org/gorgonia@v0.9.17/noextern_test.go (about)

     1  // +build !cuda
     2  
     3  package gorgonia
     4  
     5  import (
     6  	"runtime"
     7  	"testing"
     8  
     9  	"gorgonia.org/tensor"
    10  )
    11  
    12  func BenchmarkOneMil(b *testing.B) {
    13  	xT := tensor.New(tensor.WithShape(1000000), tensor.WithBacking(tensor.Random(tensor.Float32, 1000000)))
    14  	g := NewGraph()
    15  	x := NewVector(g, Float32, WithShape(1000000), WithName("x"), WithValue(xT))
    16  	Must(Sigmoid(x))
    17  
    18  	m := NewTapeMachine(g)
    19  	defer m.Close()
    20  	for n := 0; n < b.N; n++ {
    21  		if err := m.RunAll(); err != nil {
    22  			b.Fatalf("Failed at n: %d. Error: %v", n, err)
    23  			break
    24  		}
    25  		m.Reset()
    26  	}
    27  	runtime.GC()
    28  }