लोकल XLS परिणाम स्टोर करें, उनकी सूची देखें और उन्हें फिर खोलें

नेटिव XLS अनुरोध चलाकर परिणाम प्रोजेक्ट के रिज़ल्ट स्टोर में रखें, सहेजे गए परिणामों की सूची देखें और एक परिणाम को उसकी सामग्री ID से फिर खोलें।

Linux पर Altifigence CLI 0.1.9 से नेटिव XLS परिणाम किसी लोकल प्रोजेक्ट में सहेजें। हर सहेजे गए परिणाम को स्टोर, सूचीबद्ध और फिर खोले जाने पर CPU पर उसके अंतर्निहित अनुरोध को दोबारा चलाकर जाँचा जाता है।

परिणाम स्टोर करें

अपने लोकल प्रोजेक्ट का पूर्ण पाथ इस्तेमाल करें। इस उदाहरण में $HOME/alti-projects/demo-project का उपयोग किया गया है। नेटिव ऑपरेशन अनुरोध सहेजें:

set -euo pipefail
PROJECT="$(cd "$HOME/alti-projects/demo-project" && pwd -P)"
WORK="$(mktemp -d)"
cat > "$WORK/eval.json" <<'JSON'
{
  "schema": "altifigence.xls.operation-request.v1",
  "operation": "eval",
  "input_kind": "dslx",
  "source": "fn compute(x: u8, y: u8) -> u8 { x + y }",
  "top": "compute",
  "backend": "cpu",
  "vectors": [["1", "2"]]
}
JSON
alti xls artifact store --project "$PROJECT" --request "$WORK/eval.json" > "$WORK/ref.json"
jq '{schema, result_schema, replay_verified}' "$WORK/ref.json"
ID="$(jq -r .id "$WORK/ref.json")"

store अनुरोध में बताया गया ऑपरेशन चलाता है, परिणाम को रीप्ले करता है और उसे सहेजता है। सुनिश्चित करें कि एग्ज़िट स्टेटस 0 हो। चुने हुए रेफ़रेंस फ़ील्ड ये हैं:

{
  "schema": "altifigence.xls.artifact-ref.v1",
  "result_schema": "altifigence.xls.operation-result.v1",
  "replay_verified": true
}

id और sha256 में एक ही मान होता है: सहेजे गए परिणाम का SHA-256, 64 लोअरकेस हेक्साडेसिमल अक्षर। परिणाम --project से दिए गए फ़ोल्डर के भीतर .altifigence/xls/artifacts/<id>.json के रूप में सहेजा जाता है। --project के बिना वर्तमान फ़ोल्डर इस्तेमाल होता है। Optimize और codegen अनुरोध compilation वाले altifigence.xls.operation-result.v2 परिणाम स्टोर करते हैं। वही अनुरोध दोबारा स्टोर करने पर वही id लौटता है।

सहेजे गए परिणामों की सूची देखें

alti xls artifact list --project "$PROJECT" > "$WORK/list.json"
jq '{schema, limit, replay_verified, ids}' "$WORK/list.json"

ids में सहेजे गए ID क्रमबद्ध रूप में होते हैं। सूची बनाने से पहले हर सहेजे गए परिणाम को उसके ID से मिलाकर जाँचा जाता है और दोबारा चलाया जाता है। सूची में अधिकतम 256 प्रविष्टियाँ आती हैं। सहेजे गए परिणामों के बिना प्रोजेक्ट खाली ids ऐरे लौटाता है। alti xls run द्वारा प्रकाशित परिणाम उसी स्टोर में रखे जाते हैं और उसी सूची में दिखते हैं।

परिणाम फिर खोलें

alti xls artifact show --project "$PROJECT" "$ID" > "$WORK/result.json"
jq '{schema, status, outputs}' "$WORK/result.json"

एग्ज़िट स्टेटस 0 के बाद चुने हुए फ़ील्ड ये हैं:

{
  "schema": "altifigence.xls.operation-result.v1",
  "status": "succeeded",
  "outputs": [
    "bits[8]:0x3"
  ]
}

show पूरा सहेजा गया परिणाम लौटाता है, जिसमें request, source_sha256, request_sha256 और parameters शामिल हैं। वह पहले जाँचता है कि फ़ाइल का SHA-256 ID के बराबर है और फ़ाइल 65536 बाइट के भीतर है, फिर अंतर्निहित अनुरोध को दोबारा चलाता है और हर फ़ील्ड की तुलना करता है।

त्रुटियों के बाद सुधार करें

जब XLS इंजन स्टोर ऑपरेशन अस्वीकार करता है, तो कमांड स्टेटस 2 के साथ समाप्त होता है और स्टैंडर्ड आउटपुट में altifigence.xls.error.v1 ऑब्जेक्ट लिखता है। उसका कोड और संदेश पढ़ें:

alti xls artifact show --project "$PROJECT" "$ID" > "$WORK/show.json" || true
jq -r '.error.code + ": " + .error.message' "$WORK/show.json"

CLI इंजन चलाने से पहले स्टैंडर्ड एरर में error: प्रीफ़िक्स के साथ XLS artifact id must be 64 lowercase hexadecimal characters संदेश देता है और स्टेटस 1 के साथ समाप्त होता है। यह संदेश स्टैंडर्ड एरर में पढ़ें। id को store से या list के ids से बिना बदले कॉपी करें।

artifact-not-found: XLS store does not exist आने पर वही --project दें जो आपने store के साथ इस्तेमाल किया था।

show से artifact-io: cannot access local XLS artifact store आने पर उसी --project के साथ list चलाएँ और ids में से कोई ID इस्तेमाल करें।

resource-limit: store listing exceeds 256 entries; use artifact-show with a known id आने पर परिणाम show से और store से सहेजे गए ID की मदद से फिर खोलें।

नेटिव XLS से जाँचें, मूल्यांकन करें और RTL बनाएँ