This is an automated email from the ASF dual-hosted git repository.

CRZbulabula pushed a commit to branch remove-pin-memory
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 80339eab035858a8db013c943f407b14a50fe1c0
Author: Yongzao <[email protected]>
AuthorDate: Tue Jun 2 21:48:26 2026 +0800

    Remove Chronos2 pin memory option
---
 .../iotdb/ainode/it/AINodeSharedClusterIT.java     | 22 ++++++++++++++++++++++
 .../core/model/chronos2/pipeline_chronos2.py       |  1 -
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git 
a/integration-test/src/test/java/org/apache/iotdb/ainode/it/AINodeSharedClusterIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/ainode/it/AINodeSharedClusterIT.java
index 4ea2b4af41a..27dab22a580 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/ainode/it/AINodeSharedClusterIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/ainode/it/AINodeSharedClusterIT.java
@@ -50,6 +50,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
+import static org.apache.iotdb.ainode.utils.AINodeTestUtils.BUILTIN_LTSM_MAP;
 import static org.apache.iotdb.ainode.utils.AINodeTestUtils.BUILTIN_MODEL_MAP;
 import static org.apache.iotdb.ainode.utils.AINodeTestUtils.checkHeader;
 import static 
org.apache.iotdb.ainode.utils.AINodeTestUtils.checkModelNotOnSpecifiedDevice;
@@ -438,6 +439,27 @@ public class AINodeSharedClusterIT {
 
   // ========== Concurrent forecast tests ==========
 
+  @Test
+  public void largeTimeSeriesModelLoadDevicePlacementTest()
+      throws SQLException, InterruptedException {
+    try (Connection connection = 
EnvFactory.getEnv().getConnection(BaseEnv.TABLE_SQL_DIALECT);
+        Statement statement = connection.createStatement()) {
+      for (FakeModelInfo modelInfo : BUILTIN_LTSM_MAP.values()) {
+        loadAndUnloadModelOnDevices(statement, modelInfo.getModelId(), "cpu");
+        loadAndUnloadModelOnDevices(statement, modelInfo.getModelId(), "0");
+        loadAndUnloadModelOnDevices(statement, modelInfo.getModelId(), 
"cpu,0");
+      }
+    }
+  }
+
+  private void loadAndUnloadModelOnDevices(Statement statement, String 
modelId, String devices)
+      throws SQLException, InterruptedException {
+    statement.execute(String.format("LOAD MODEL %s TO DEVICES '%s'", modelId, 
devices));
+    checkModelOnSpecifiedDevice(statement, modelId, devices);
+    statement.execute(String.format("UNLOAD MODEL %s FROM DEVICES '%s'", 
modelId, devices));
+    checkModelNotOnSpecifiedDevice(statement, modelId, devices);
+  }
+
   @Test
   public void concurrentForecastTest() throws SQLException, 
InterruptedException {
     for (FakeModelInfo modelInfo : CONCURRENT_FORECAST_MODELS) {
diff --git 
a/iotdb-core/ainode/iotdb/ainode/core/model/chronos2/pipeline_chronos2.py 
b/iotdb-core/ainode/iotdb/ainode/core/model/chronos2/pipeline_chronos2.py
index 01ff78ba48d..083125e4b99 100644
--- a/iotdb-core/ainode/iotdb/ainode/core/model/chronos2/pipeline_chronos2.py
+++ b/iotdb-core/ainode/iotdb/ainode/core/model/chronos2/pipeline_chronos2.py
@@ -309,7 +309,6 @@ class Chronos2Pipeline(ForecastPipeline):
         test_loader = DataLoader(
             test_dataset,
             batch_size=None,
-            pin_memory=True,
             shuffle=False,
             drop_last=False,
         )

Reply via email to