@isidorus/cpu 0.0.0-alpha.0 → 0.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -47
- package/binding.gyp +115 -102
- package/dist/_native.d.ts.map +1 -0
- package/dist/_native.js.map +1 -0
- package/dist/graph.d.ts.map +1 -0
- package/dist/graph.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/inference-pool.d.ts.map +1 -0
- package/dist/inference-pool.js.map +1 -0
- package/dist/install-libtensorflow.d.ts.map +1 -0
- package/dist/{ts/install-libtensorflow.js → install-libtensorflow.js} +6 -6
- package/dist/install-libtensorflow.js.map +1 -0
- package/dist/ops/array_ops.d.ts.map +1 -0
- package/dist/ops/array_ops.js.map +1 -0
- package/dist/ops/index.d.ts.map +1 -0
- package/dist/ops/index.js.map +1 -0
- package/dist/ops/math_ops.d.ts.map +1 -0
- package/dist/ops/math_ops.js.map +1 -0
- package/dist/ops/nn_ops.d.ts.map +1 -0
- package/dist/ops/nn_ops.js.map +1 -0
- package/dist/ops/variable_ops.d.ts.map +1 -0
- package/dist/ops/variable_ops.js.map +1 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +63 -63
- package/scripts/install.js +100 -100
- package/scripts/test-install.js +82 -82
- package/scripts/test.js +45 -45
- package/src/native/addon.cc +11 -11
- package/src/native/graph.cc +442 -442
- package/src/native/graph.h +51 -51
- package/src/native/platform_tf.h +7 -7
- package/src/native/session.cc +796 -715
- package/src/native/session.h +91 -91
- package/dist/ts/_native.d.ts.map +0 -1
- package/dist/ts/_native.js.map +0 -1
- package/dist/ts/graph.d.ts.map +0 -1
- package/dist/ts/graph.js.map +0 -1
- package/dist/ts/index.d.ts.map +0 -1
- package/dist/ts/index.js.map +0 -1
- package/dist/ts/inference-pool.d.ts.map +0 -1
- package/dist/ts/inference-pool.js.map +0 -1
- package/dist/ts/inference_pool.d.ts +0 -99
- package/dist/ts/inference_pool.d.ts.map +0 -1
- package/dist/ts/inference_pool.js +0 -370
- package/dist/ts/inference_pool.js.map +0 -1
- package/dist/ts/install-libtensorflow.d.ts.map +0 -1
- package/dist/ts/install-libtensorflow.js.map +0 -1
- package/dist/ts/ops/array_ops.d.ts.map +0 -1
- package/dist/ts/ops/array_ops.js.map +0 -1
- package/dist/ts/ops/index.d.ts.map +0 -1
- package/dist/ts/ops/index.js.map +0 -1
- package/dist/ts/ops/math_ops.d.ts.map +0 -1
- package/dist/ts/ops/math_ops.js.map +0 -1
- package/dist/ts/ops/nn_ops.d.ts.map +0 -1
- package/dist/ts/ops/nn_ops.js.map +0 -1
- package/dist/ts/ops/variable_ops.d.ts.map +0 -1
- package/dist/ts/ops/variable_ops.js.map +0 -1
- package/dist/ts/session.d.ts.map +0 -1
- package/dist/ts/session.js.map +0 -1
- /package/dist/{ts/_native.d.ts → _native.d.ts} +0 -0
- /package/dist/{ts/_native.js → _native.js} +0 -0
- /package/dist/{ts/graph.d.ts → graph.d.ts} +0 -0
- /package/dist/{ts/graph.js → graph.js} +0 -0
- /package/dist/{ts/index.d.ts → index.d.ts} +0 -0
- /package/dist/{ts/index.js → index.js} +0 -0
- /package/dist/{ts/inference-pool.d.ts → inference-pool.d.ts} +0 -0
- /package/dist/{ts/inference-pool.js → inference-pool.js} +0 -0
- /package/dist/{ts/install-libtensorflow.d.ts → install-libtensorflow.d.ts} +0 -0
- /package/dist/{ts/ops → ops}/array_ops.d.ts +0 -0
- /package/dist/{ts/ops → ops}/array_ops.js +0 -0
- /package/dist/{ts/ops → ops}/index.d.ts +0 -0
- /package/dist/{ts/ops → ops}/index.js +0 -0
- /package/dist/{ts/ops → ops}/math_ops.d.ts +0 -0
- /package/dist/{ts/ops → ops}/math_ops.js +0 -0
- /package/dist/{ts/ops → ops}/nn_ops.d.ts +0 -0
- /package/dist/{ts/ops → ops}/nn_ops.js +0 -0
- /package/dist/{ts/ops → ops}/variable_ops.d.ts +0 -0
- /package/dist/{ts/ops → ops}/variable_ops.js +0 -0
- /package/dist/{ts/session.d.ts → session.d.ts} +0 -0
- /package/dist/{ts/session.js → session.js} +0 -0
package/src/native/session.h
CHANGED
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
#include <napi.h>
|
|
3
|
-
#include "platform_tf.h"
|
|
4
|
-
#include <string>
|
|
5
|
-
#include <vector>
|
|
6
|
-
#include <cstdint>
|
|
7
|
-
|
|
8
|
-
// ----------------------------------------------------------------------------
|
|
9
|
-
// Platform CPU affinity abstractions
|
|
10
|
-
//
|
|
11
|
-
// AffinityMask: bitmask where bit N = 1 means "this thread may run on core N"
|
|
12
|
-
// Supports up to 64 cores. Sytems with > 64 cores need processor groups
|
|
13
|
-
// (Windows) or cpu_set_t extension (Linux) - not handled here
|
|
14
|
-
// ----------------------------------------------------------------------------
|
|
15
|
-
#ifdef _WIN32
|
|
16
|
-
#ifndef WIN32_LEAN_AND_MEAN
|
|
17
|
-
#define WIN32_LEAN_AND_MEAN
|
|
18
|
-
#endif
|
|
19
|
-
#include <windows.h>
|
|
20
|
-
using AffinityMask = DWORD_PTR;
|
|
21
|
-
#else
|
|
22
|
-
#include <sched.h>
|
|
23
|
-
#include <pthread.h>
|
|
24
|
-
using AffinityMask = uint64_t;
|
|
25
|
-
#endif // _WIN32
|
|
26
|
-
|
|
27
|
-
#ifndef ISIDORUS_STATUS_GUARD_DEFINED
|
|
28
|
-
#define ISIDORUS_STATUS_GUARD_DEFINED
|
|
29
|
-
struct StatusGuard
|
|
30
|
-
{
|
|
31
|
-
TF_Status *s;
|
|
32
|
-
StatusGuard() : s(TF_NewStatus()) {}
|
|
33
|
-
~StatusGuard()
|
|
34
|
-
{
|
|
35
|
-
if (s)
|
|
36
|
-
TF_DeleteStatus(s);
|
|
37
|
-
}
|
|
38
|
-
bool ok() const { return TF_GetCode(s) == TF_OK; }
|
|
39
|
-
std::string message() const { return TF_Message(s); }
|
|
40
|
-
};
|
|
41
|
-
#endif
|
|
42
|
-
|
|
43
|
-
// ----------------------------------------------------------------------------
|
|
44
|
-
// Affinity helpers - declared here, defined in session.cc
|
|
45
|
-
// ----------------------------------------------------------------------------
|
|
46
|
-
|
|
47
|
-
// Get the affinity mask of the calling thread.
|
|
48
|
-
AffinityMask affinity_get();
|
|
49
|
-
|
|
50
|
-
// Set the affinity mask of the calling thread.
|
|
51
|
-
// Returns true on success.
|
|
52
|
-
bool affinity_set(AffinityMask mask);
|
|
53
|
-
|
|
54
|
-
// Build a mask covering cores [first_core, num_cores).
|
|
55
|
-
// e.g. affinity_mask_range(2, 6) = cores 2,3,4,5 (bits 2..5 set)
|
|
56
|
-
AffinityMask affinity_mask_range(int first_core, int num_cores);
|
|
57
|
-
|
|
58
|
-
// Build a mask covering all online cores.
|
|
59
|
-
AffinityMask affinity_mask_all();
|
|
60
|
-
|
|
61
|
-
// ----------------------------------------------------------------------------
|
|
62
|
-
// SessionWrap
|
|
63
|
-
// ----------------------------------------------------------------------------
|
|
64
|
-
class SessionWrap : public Napi::ObjectWrap<SessionWrap>
|
|
65
|
-
{
|
|
66
|
-
public:
|
|
67
|
-
static Napi::Object Init(Napi::Env env, Napi::Object exports);
|
|
68
|
-
|
|
69
|
-
explicit SessionWrap(const Napi::CallbackInfo &info);
|
|
70
|
-
~SessionWrap() override;
|
|
71
|
-
|
|
72
|
-
// Affinity masks used by RunCtx - set in constructor, read in OnRunWork.
|
|
73
|
-
AffinityMask tf_affinity_mask_ = 0; // 0 = no restriction
|
|
74
|
-
AffinityMask full_affinity_mask_ = 0;
|
|
75
|
-
|
|
76
|
-
private:
|
|
77
|
-
TF_Graph *graph_ = nullptr;
|
|
78
|
-
TF_Session *session_ = nullptr;
|
|
79
|
-
Napi::ObjectReference graph_ref_;
|
|
80
|
-
int intra_op_threads_ = 1;
|
|
81
|
-
int inter_op_threads_ = 1;
|
|
82
|
-
|
|
83
|
-
void cleanup();
|
|
84
|
-
|
|
85
|
-
Napi::Value Run(const Napi::CallbackInfo &info);
|
|
86
|
-
Napi::Value RunAsync(const Napi::CallbackInfo &info);
|
|
87
|
-
Napi::Value Destroy(const Napi::CallbackInfo &info);
|
|
88
|
-
Napi::Value IntraOpThreads(const Napi::CallbackInfo &info);
|
|
89
|
-
Napi::Value InterOpThreads(const Napi::CallbackInfo &info);
|
|
90
|
-
Napi::Value TfAffinityMask(const Napi::CallbackInfo &info);
|
|
91
|
-
Napi::Value FullAffinityMask(const Napi::CallbackInfo &info);
|
|
1
|
+
#pragma once
|
|
2
|
+
#include <napi.h>
|
|
3
|
+
#include "platform_tf.h"
|
|
4
|
+
#include <string>
|
|
5
|
+
#include <vector>
|
|
6
|
+
#include <cstdint>
|
|
7
|
+
|
|
8
|
+
// ----------------------------------------------------------------------------
|
|
9
|
+
// Platform CPU affinity abstractions
|
|
10
|
+
//
|
|
11
|
+
// AffinityMask: bitmask where bit N = 1 means "this thread may run on core N"
|
|
12
|
+
// Supports up to 64 cores. Sytems with > 64 cores need processor groups
|
|
13
|
+
// (Windows) or cpu_set_t extension (Linux) - not handled here
|
|
14
|
+
// ----------------------------------------------------------------------------
|
|
15
|
+
#ifdef _WIN32
|
|
16
|
+
#ifndef WIN32_LEAN_AND_MEAN
|
|
17
|
+
#define WIN32_LEAN_AND_MEAN
|
|
18
|
+
#endif
|
|
19
|
+
#include <windows.h>
|
|
20
|
+
using AffinityMask = DWORD_PTR;
|
|
21
|
+
#else
|
|
22
|
+
#include <sched.h>
|
|
23
|
+
#include <pthread.h>
|
|
24
|
+
using AffinityMask = uint64_t;
|
|
25
|
+
#endif // _WIN32
|
|
26
|
+
|
|
27
|
+
#ifndef ISIDORUS_STATUS_GUARD_DEFINED
|
|
28
|
+
#define ISIDORUS_STATUS_GUARD_DEFINED
|
|
29
|
+
struct StatusGuard
|
|
30
|
+
{
|
|
31
|
+
TF_Status *s;
|
|
32
|
+
StatusGuard() : s(TF_NewStatus()) {}
|
|
33
|
+
~StatusGuard()
|
|
34
|
+
{
|
|
35
|
+
if (s)
|
|
36
|
+
TF_DeleteStatus(s);
|
|
37
|
+
}
|
|
38
|
+
bool ok() const { return TF_GetCode(s) == TF_OK; }
|
|
39
|
+
std::string message() const { return TF_Message(s); }
|
|
40
|
+
};
|
|
41
|
+
#endif
|
|
42
|
+
|
|
43
|
+
// ----------------------------------------------------------------------------
|
|
44
|
+
// Affinity helpers - declared here, defined in session.cc
|
|
45
|
+
// ----------------------------------------------------------------------------
|
|
46
|
+
|
|
47
|
+
// Get the affinity mask of the calling thread.
|
|
48
|
+
AffinityMask affinity_get();
|
|
49
|
+
|
|
50
|
+
// Set the affinity mask of the calling thread.
|
|
51
|
+
// Returns true on success.
|
|
52
|
+
bool affinity_set(AffinityMask mask);
|
|
53
|
+
|
|
54
|
+
// Build a mask covering cores [first_core, num_cores).
|
|
55
|
+
// e.g. affinity_mask_range(2, 6) = cores 2,3,4,5 (bits 2..5 set)
|
|
56
|
+
AffinityMask affinity_mask_range(int first_core, int num_cores);
|
|
57
|
+
|
|
58
|
+
// Build a mask covering all online cores.
|
|
59
|
+
AffinityMask affinity_mask_all();
|
|
60
|
+
|
|
61
|
+
// ----------------------------------------------------------------------------
|
|
62
|
+
// SessionWrap
|
|
63
|
+
// ----------------------------------------------------------------------------
|
|
64
|
+
class SessionWrap : public Napi::ObjectWrap<SessionWrap>
|
|
65
|
+
{
|
|
66
|
+
public:
|
|
67
|
+
static Napi::Object Init(Napi::Env env, Napi::Object exports);
|
|
68
|
+
|
|
69
|
+
explicit SessionWrap(const Napi::CallbackInfo &info);
|
|
70
|
+
~SessionWrap() override;
|
|
71
|
+
|
|
72
|
+
// Affinity masks used by RunCtx - set in constructor, read in OnRunWork.
|
|
73
|
+
AffinityMask tf_affinity_mask_ = 0; // 0 = no restriction
|
|
74
|
+
AffinityMask full_affinity_mask_ = 0;
|
|
75
|
+
|
|
76
|
+
private:
|
|
77
|
+
TF_Graph *graph_ = nullptr;
|
|
78
|
+
TF_Session *session_ = nullptr;
|
|
79
|
+
Napi::ObjectReference graph_ref_;
|
|
80
|
+
int intra_op_threads_ = 1;
|
|
81
|
+
int inter_op_threads_ = 1;
|
|
82
|
+
|
|
83
|
+
void cleanup();
|
|
84
|
+
|
|
85
|
+
Napi::Value Run(const Napi::CallbackInfo &info);
|
|
86
|
+
Napi::Value RunAsync(const Napi::CallbackInfo &info);
|
|
87
|
+
Napi::Value Destroy(const Napi::CallbackInfo &info);
|
|
88
|
+
Napi::Value IntraOpThreads(const Napi::CallbackInfo &info);
|
|
89
|
+
Napi::Value InterOpThreads(const Napi::CallbackInfo &info);
|
|
90
|
+
Napi::Value TfAffinityMask(const Napi::CallbackInfo &info);
|
|
91
|
+
Napi::Value FullAffinityMask(const Napi::CallbackInfo &info);
|
|
92
92
|
};
|
package/dist/ts/_native.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_native.d.ts","sourceRoot":"","sources":["../../src/ts/_native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAEzC;AAED,wBAAgB,QAAQ,IAAI,GAAG,CAQ9B"}
|
package/dist/ts/_native.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_native.js","sourceRoot":"","sources":["../../src/ts/_native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,IAAI,MAAM,GAAQ,IAAI,CAAC;AAEvB,MAAM,UAAU,QAAQ,CAAC,KAAU;IACjC,MAAM,GAAG,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,2CAA2C;YACzC,yEAAyE,CAC5E,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/ts/graph.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/ts/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAA2B,MAAM,gBAAgB,CAAC;AAGhE,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,KAAK,EAAE,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,qBAAa,KAAK;IAChB,gBAAgB;IAChB,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;gBAEV,MAAM,EAAE,GAAG;IAIvB;;;;;;;;OAQG;IACH,KAAK,CACH,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,QAAQ,EAAE,EAClB,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAM,EACrC,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,EAAE;IAkCX,8DAA8D;IAC9D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI5B,wCAAwC;IACxC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKpC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,GAAG,IAAI;CAW9C"}
|
package/dist/ts/graph.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/ts/graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAqBhE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,KAAK;IAChB,gBAAgB;IACP,OAAO,CAAM;IAEtB,YAAY,MAAW;QACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CACH,IAAY,EACZ,MAAkB,EAClB,QAAmC,EAAE,EACrC,IAAa;QAEb,MAAM,WAAW,GAAwB,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC3B,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACrE,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7B,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAG9B,CAAC;QAEF,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAkB,CAAC;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAoB,CAAC;YACzE,OAAO,CAAC,IAAI,CACV,UAAU,CACR,MAAM,EACN,CAAC,EACD,OAAO,IAAI,IAAI,CAAC,CAAC,CAAE,OAAiB,CAAC,CAAC,CAAC,IAAI,EAC3C,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAC9C,CACF,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IAC7C,CAAC;IAED,wCAAwC;IACxC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAY,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAY,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,MAAc;QAC3B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,WAAW;IACX,KAAK,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAkB,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAoB,CAAC;QAC3E,OAAO,UAAU,CACf,IAAI,EACJ,KAAK,EACL,OAAO,IAAI,IAAI,CAAC,CAAC,CAAE,OAAiB,CAAC,CAAC,CAAC,IAAI,EAC3C,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAC9C,CAAC;IACJ,CAAC;CACF"}
|
package/dist/ts/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,KAAK,EACL,aAAa,EACb,SAAS,EACT,UAAU,EACV,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,KAAK,IAAI,KAAK,CAE7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,KAAK,EACR,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACA,OAAO,CAET;AAGD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AAGtC,YAAY,EACV,WAAW,EACX,UAAU,EACV,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/ts/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,gFAAgF;AAChF,yEAAyE;AACzE,qEAAqE;AACrE,sDAAsD;AACtD,MAAM,QAAQ,EAAE,CAAC;AAEjB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAQ,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAIhB,OAAO,EACL,KAAK,EACL,aAAa,EACb,SAAS,EACT,UAAU,EACV,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,iFAAiF;AAEjF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,KAAK;IACnB,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,OAAO,CACrB,CAAQ,EACR,OAKC;IAED,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,iFAAiF;AACjF,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AAQtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inference-pool.d.ts","sourceRoot":"","sources":["../../src/ts/inference-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAqBH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,GAAG,aAAa,CAAC;IACxC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,WAAW,EAAE,MAAM,CAAC;CACrB;AAiLD,qBAAa,aAAa;IACxB,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAOnD,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAE/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAErC,OAAO;WA4BM,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;mBAmFzC,gBAAgB;mBAyEhB,gBAAgB;IAmErC,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,SAAI,GACb,OAAO,CAAC,UAAU,CAAC;IAMtB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,gBAAgB;IAgExB,oEAAoE;IACpE,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,aAAa;IA8IrB,IAAI,SAAS,IAAI,MAAM,CAItB;IAED,IAAI,UAAU,IAAI,MAAM,CAIvB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAIK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAkD/B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inference-pool.js","sourceRoot":"","sources":["../../src/ts/inference-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* InferencePool — strategy-aware inference execution with CPU affinity.
|
|
3
|
-
*
|
|
4
|
-
* Strategies:
|
|
5
|
-
*
|
|
6
|
-
* worker-pool N Workers × Session(intra=1, inter=1)
|
|
7
|
-
* JS controls parallelism. Each Worker owns one Session.
|
|
8
|
-
* N concurrent requests run on N cores simultaneously.
|
|
9
|
-
* Best: small/medium models, high concurrency.
|
|
10
|
-
*
|
|
11
|
-
* tf-parallel 1 Session × Session(intra=hw, inter=1)
|
|
12
|
-
* TF's eigen threadpool owns all TF cores for one request.
|
|
13
|
-
* Concurrent requests queue behind each other.
|
|
14
|
-
* Best: large models where one matmul fills all cores.
|
|
15
|
-
*
|
|
16
|
-
* auto Probe-based selection (see below).
|
|
17
|
-
*
|
|
18
|
-
* CPU affinity (reserveCores):
|
|
19
|
-
*
|
|
20
|
-
* reserveCores = R pins TF computation to the LAST (N-R) cores.
|
|
21
|
-
* The FIRST R cores are left free for the event loop, libuv I/O,
|
|
22
|
-
* opencv4nodejs, and other native libs.
|
|
23
|
-
*
|
|
24
|
-
* Without reservation, TF's eigen threads compete with the event loop
|
|
25
|
-
* and other native work for all cores. Under a large model this causes
|
|
26
|
-
* timer jitter, delayed I/O callbacks, and starvation of other addons.
|
|
27
|
-
*
|
|
28
|
-
* Example on an 8-core machine:
|
|
29
|
-
* reserveCores: 2 → cores 0-1: event loop + opencv
|
|
30
|
-
* cores 2-7: TF eigen threadpool
|
|
31
|
-
*
|
|
32
|
-
* The affinity fence is applied in OnRunWork (the libuv thread pool
|
|
33
|
-
* thread) immediately before TF_SessionRun and restored immediately
|
|
34
|
-
* after, so the libuv worker returns to unrestricted scheduling between
|
|
35
|
-
* inference calls.
|
|
36
|
-
*/
|
|
37
|
-
export type ExecutionStrategy = "worker-pool" | "tf-parallel" | "auto";
|
|
38
|
-
export interface PoolOptions {
|
|
39
|
-
modelPath: string;
|
|
40
|
-
inputOp: string;
|
|
41
|
-
outputOps: string[];
|
|
42
|
-
/**
|
|
43
|
-
* Number of CPU cores to reserve for the event loop and other native libs
|
|
44
|
-
* (opencv, sharp, etc.). TF inference is pinned to the remaining cores.
|
|
45
|
-
*
|
|
46
|
-
* Default: 0 (no reservation — TF may use any core).
|
|
47
|
-
*
|
|
48
|
-
* Recommended: 1–2 on a dedicated inference server.
|
|
49
|
-
* Example: reserveCores=2 on an 8-core machine gives TF cores 2-7 and
|
|
50
|
-
* leaves cores 0-1 for the event loop and other work.
|
|
51
|
-
*/
|
|
52
|
-
reserveCores?: number;
|
|
53
|
-
/** Execution strategy. Default: "auto". */
|
|
54
|
-
strategy?: ExecutionStrategy;
|
|
55
|
-
/** Worker thread count (worker-pool). Default: os.availableParallelism(). */
|
|
56
|
-
concurrency?: number;
|
|
57
|
-
/** Input shape for auto probe run. Required when strategy="auto" and
|
|
58
|
-
* model size >= 150MB. */
|
|
59
|
-
probeShape?: number[];
|
|
60
|
-
/** Auto-detection threshold (ms). Default: 20ms. */
|
|
61
|
-
autoThresholdMs?: number;
|
|
62
|
-
}
|
|
63
|
-
export interface PoolResult {
|
|
64
|
-
workerId: number;
|
|
65
|
-
strategy: "worker-pool" | "tf-parallel";
|
|
66
|
-
outputs: {
|
|
67
|
-
dtype: number;
|
|
68
|
-
shape: number[];
|
|
69
|
-
data: Buffer;
|
|
70
|
-
}[];
|
|
71
|
-
inferenceMs: number;
|
|
72
|
-
}
|
|
73
|
-
export declare class InferencePool {
|
|
74
|
-
readonly strategy: "worker-pool" | "tf-parallel";
|
|
75
|
-
readonly reserveCores: number;
|
|
76
|
-
private readonly workerSlots;
|
|
77
|
-
private readonly queue;
|
|
78
|
-
private readonly ctrlSab;
|
|
79
|
-
private tfParallelSess;
|
|
80
|
-
private tfParallelBusy;
|
|
81
|
-
private readonly tfParallelQueue;
|
|
82
|
-
private readonly modelPath;
|
|
83
|
-
private readonly inputOp;
|
|
84
|
-
private readonly outputOps;
|
|
85
|
-
private constructor();
|
|
86
|
-
static create(opts: PoolOptions): Promise<InferencePool>;
|
|
87
|
-
private static createWorkerPool;
|
|
88
|
-
private static createTfParallel;
|
|
89
|
-
infer(inputBuf: Buffer, inputShape: number[], inputDtype?: number): Promise<PoolResult>;
|
|
90
|
-
private inferWorkerPool;
|
|
91
|
-
private dispatchToWorker;
|
|
92
|
-
private inferTfParallel;
|
|
93
|
-
private runTfParallel;
|
|
94
|
-
get busyCount(): number;
|
|
95
|
-
get queueDepth(): number;
|
|
96
|
-
get size(): number;
|
|
97
|
-
destroy(): Promise<void>;
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=inference_pool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inference_pool.d.ts","sourceRoot":"","sources":["../../src/ts/inference_pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAoBH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;+BAC2B;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,GAAG,aAAa,CAAC;IACxC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,WAAW,EAAE,MAAM,CAAC;CACrB;AAuFD,qBAAa,aAAa;IACxB,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAErC,OAAO;WA0BM,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;mBAmEzC,gBAAgB;mBAkDhB,gBAAgB;IAmCrC,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,SAAI,GACb,OAAO,CAAC,UAAU,CAAC;IAMtB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,gBAAgB;IA4CxB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,aAAa;IAiDrB,IAAI,SAAS,IAAI,MAAM,CAItB;IAED,IAAI,UAAU,IAAI,MAAM,CAIvB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAIK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA6C/B"}
|