Fix concurrency issue in newTensor

This commit is contained in:
pjongy 2023-10-19 03:17:21 +00:00
parent cd0565716f
commit 7533f43c2e

View File

@ -60,7 +60,6 @@ func newTensor(ctensor lib.Ctensor, nameOpt ...string) *Tensor {
if len(nameOpt) == 0 {
nameOpt = []string{}
}
name := newName(nameOpt...)
x := new(Tensor)
x.ctensor = ctensor
@ -70,6 +69,7 @@ func newTensor(ctensor lib.Ctensor, nameOpt ...string) *Tensor {
nbytes := x.nbytes()
atomic.AddInt64(&AllocatedMem, nbytes)
lock.Lock()
name := newName(nameOpt...)
if _, ok := ExistingTensors[name]; ok {
name = fmt.Sprintf("%s_%09d", name, TensorCount)
}