@platforma-sdk/workflow-tengo 5.13.2 → 5.14.0

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.
Files changed (45) hide show
  1. package/dist/tengo/lib/exec.delayed-compute-allocation.lib.tengo +3 -3
  2. package/dist/tengo/lib/exec.lib.tengo +12 -7
  3. package/dist/tengo/lib/exec.limits.lib.tengo +11 -6
  4. package/dist/tengo/tpl/annotations.compute.plj.gz +0 -0
  5. package/dist/tengo/tpl/anonymize.deanonymize.plj.gz +0 -0
  6. package/dist/tengo/tpl/anonymize.impl.plj.gz +0 -0
  7. package/dist/tengo/tpl/check_network.create_workdir_from_storage.plj.gz +0 -0
  8. package/dist/tengo/tpl/check_network.download_blob.plj.gz +0 -0
  9. package/dist/tengo/tpl/check_network.run_hello_world.plj.gz +0 -0
  10. package/dist/tengo/tpl/check_network.run_hello_world_py.plj.gz +0 -0
  11. package/dist/tengo/tpl/check_network.upload_blob.plj.gz +0 -0
  12. package/dist/tengo/tpl/check_network.upload_template.plj.gz +0 -0
  13. package/dist/tengo/tpl/check_network.workdir_type_name_extractor.plj.gz +0 -0
  14. package/dist/tengo/tpl/exec.conda.create-env.plj.gz +0 -0
  15. package/dist/tengo/tpl/exec.delayed-compute-allocation.impl.plj.gz +0 -0
  16. package/dist/tengo/tpl/exec.exec-impl.plj.gz +0 -0
  17. package/dist/tengo/tpl/exec.exec.plj.gz +0 -0
  18. package/dist/tengo/tpl/exec.load-software.impl.plj.gz +0 -0
  19. package/dist/tengo/tpl/exec.monetization_info.plj.gz +0 -0
  20. package/dist/tengo/tpl/exec.monetization_to_json.plj.gz +0 -0
  21. package/dist/tengo/tpl/exec.python.create-venv.plj.gz +0 -0
  22. package/dist/tengo/tpl/exec.python.install-deps.plj.gz +0 -0
  23. package/dist/tengo/tpl/exec.python.venv-bin-path.plj.gz +0 -0
  24. package/dist/tengo/tpl/ll.get-field.plj.gz +0 -0
  25. package/dist/tengo/tpl/pframes.export-multiple-pcolumns.plj.gz +0 -0
  26. package/dist/tengo/tpl/pframes.export-parquet-pcolumn-chunk.plj.gz +0 -0
  27. package/dist/tengo/tpl/pframes.export-pframe-for-ui.plj.gz +0 -0
  28. package/dist/tengo/tpl/pframes.export-pframe.plj.gz +0 -0
  29. package/dist/tengo/tpl/pframes.export-single-pcolumn.plj.gz +0 -0
  30. package/dist/tengo/tpl/pframes.import-dir.plj.gz +0 -0
  31. package/dist/tengo/tpl/pframes.parse-to-json.plj.gz +0 -0
  32. package/dist/tengo/tpl/pframes.process-pcolumn-data.plj.gz +0 -0
  33. package/dist/tengo/tpl/pframes.remove-nulls.plj.gz +0 -0
  34. package/dist/tengo/tpl/pframes.slice-data.plj.gz +0 -0
  35. package/dist/tengo/tpl/pframes.xsv-export-pframe.plj.gz +0 -0
  36. package/dist/tengo/tpl/pframes.xsv-import-if-not-null.plj.gz +0 -0
  37. package/dist/tengo/tpl/pframes.xsv-import-map.plj.gz +0 -0
  38. package/dist/tengo/tpl/pt.import-dir.plj.gz +0 -0
  39. package/dist/tengo/tpl/pt.workflow-run.plj.gz +0 -0
  40. package/dist/tengo/tpl/waiter.waiter.plj.gz +0 -0
  41. package/dist/tengo/tpl/workdir.save.plj.gz +0 -0
  42. package/dist/tengo/tpl/workflow.build-ctx.plj.gz +0 -0
  43. package/dist/tengo/tpl/workflow.query-anchored.plj.gz +0 -0
  44. package/dist/tengo/tpl/workflow.query-context-filter.plj.gz +0 -0
  45. package/package.json +4 -4
@@ -22,7 +22,7 @@ create := func(workdir, req) {
22
22
  "queue": "string",
23
23
  "cpu,?": "number",
24
24
  "ram,?": ["or", "number", "string"],
25
- "gpu,?": "number"
25
+ "gpuMemory,?": "string"
26
26
  }, "request must be a valid request")
27
27
 
28
28
  reqMap := { queue: req.queue }
@@ -32,8 +32,8 @@ create := func(workdir, req) {
32
32
  if !is_undefined(req.ram) {
33
33
  reqMap.ram = req.ram
34
34
  }
35
- if !is_undefined(req.gpu) && req.gpu > 0 {
36
- reqMap.gpu = req.gpu
35
+ if !is_undefined(req.gpuMemory) {
36
+ reqMap.gpuMemory = req.gpuMemory
37
37
  }
38
38
 
39
39
  delayedComputeAllocation := render.createEphemeral(tpl, {
@@ -51,7 +51,7 @@ builder := func() {
51
51
  queue := execConstants.HEAVY_QUEUE
52
52
  cpuRequest := undefined
53
53
  ramRequest := undefined
54
- gpuCount := 0
54
+ gpuMemory := undefined
55
55
 
56
56
  commandName := ""
57
57
  cache := 0
@@ -443,10 +443,15 @@ builder := func() {
443
443
 
444
444
 
445
445
 
446
- gpu: func(count) {
447
- validation.assertType(count, "number", "exec.builder.gpu: count must be a number")
448
- ll.assert(count > 0, "exec.builder.gpu: count must be greater than 0")
449
- gpuCount = count
446
+
447
+ gpuMemory: func(...args) {
448
+ ll.assert(len(args) <= 1, "exec.builder.gpuMemory: accepts 0 or 1 argument")
449
+ if len(args) == 0 {
450
+ gpuMemory = "1GiB"
451
+ } else {
452
+ validation.assertType(args[0], "string", "exec.builder.gpuMemory: argument must be a size string like '16GiB'")
453
+ gpuMemory = args[0]
454
+ }
450
455
  return self
451
456
  },
452
457
 
@@ -1039,8 +1044,8 @@ builder := func() {
1039
1044
  cpu: cpuRequest,
1040
1045
  ram: ramRequest
1041
1046
  }
1042
- if gpuCount > 0 {
1043
- quotaData.gpu = gpuCount
1047
+ if !is_undefined(gpuMemory) {
1048
+ quotaData.gpuMemory = gpuMemory
1044
1049
  }
1045
1050
  metaExecInputs := {
1046
1051
  quota: smart.createJsonResource(quotaData)
@@ -105,11 +105,16 @@ quotaBuilder := func() {
105
105
 
106
106
 
107
107
 
108
- gpu: func(amount) {
109
- validation.assertType(amount, ["or", "number", "null"], "exec.quota.builder.gpu: GPU amount should be a number")
110
- ll.assert(is_undefined(amount) || amount > 0, "exec.quota.builder.gpu: amount should be greater than 0")
111
- gpu_request = amount
112
108
 
109
+ gpuMemory: func(...args) {
110
+ if len(args) == 0 {
111
+ gpu_request = "1GiB"
112
+ } else if len(args) == 1 {
113
+ validation.assertType(args[0], "string", "exec.quota.builder.gpuMemory: argument must be a size string")
114
+ gpu_request = args[0]
115
+ } else {
116
+ ll.panic("exec.quota.builder.gpuMemory: accepts 0 or 1 argument")
117
+ }
113
118
  return self
114
119
  },
115
120
 
@@ -130,8 +135,8 @@ quotaBuilder := func() {
130
135
  if !is_undefined(ram_request) {
131
136
  data.memory = ram_request
132
137
  }
133
- if !is_undefined(gpu_request) && gpu_request > 0 {
134
- data.gpu = gpu_request
138
+ if !is_undefined(gpu_request) {
139
+ data.gpuMemory = gpu_request
135
140
  }
136
141
 
137
142
  return smart.ephemeralBuilder(_RTYPE_QUOTA, json.encode(data)).lockAndBuild()
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-sdk/workflow-tengo",
3
- "version": "5.13.2",
3
+ "version": "5.14.0",
4
4
  "description": "Tengo SDK library",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -18,11 +18,11 @@
18
18
  "dependencies": {
19
19
  "@milaboratories/software-pframes-conv": "2.2.9",
20
20
  "@platforma-open/milaboratories.software-small-binaries": "^2.0.3",
21
- "@platforma-open/milaboratories.software-ptexter": "1.2.2",
22
- "@platforma-open/milaboratories.software-ptabler": "1.15.1"
21
+ "@platforma-open/milaboratories.software-ptabler": "1.15.2",
22
+ "@platforma-open/milaboratories.software-ptexter": "1.2.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@platforma-sdk/tengo-builder": "2.5.8"
25
+ "@platforma-sdk/tengo-builder": "2.5.9"
26
26
  },
27
27
  "scripts": {
28
28
  "type-check": "pl-tengo check",