Skip to content

Update to new nomenclature#17

Merged
lukemartinlogan merged 11 commits into
mainfrom
dev
Jul 7, 2026
Merged

Update to new nomenclature#17
lukemartinlogan merged 11 commits into
mainfrom
dev

Conversation

@lukemartinlogan

Copy link
Copy Markdown
Contributor

No description provided.

lukemartinlogan and others added 11 commits June 30, 2026 17:40
Add a compiled-doctest harness (docs/doctest/extract.py + compile_check.ps1):
extracts every ```cpp block into a per-block-namespaced TU and compiles it with
the real clio_ctp build flags (vcvars + response file). A passing compile is what
makes an example "directly tested".

Rewrite all 6 ctp-types guides (atomic, bitfield, ring_buffer, string,
unordered_map, vector) so every example compiles, sourcing setup/usage from the
actual unit tests:
- string: ctp::string (nonexistent) -> ctp::priv::string<AllocT> with the test's
  SimpleHeapAllocator.
- unordered_map: drop nonexistent .at(); real InsertResult<T> return; find/[].
- vector: real ArenaAllocator + MallocBackend / SimpleHeapAllocator setup from
  the tests instead of placeholder AllocT.
- ring_buffer: stop redefining header types (RingQueueFlag/RingBufferEntry); add
  the test's allocator/backend setup.
- atomic: fix void->int (std_atomic::exchange returns void), add missing
  includes, drop broken post-increment/decrement (operator++/--(int) reference a
  later alias -> C3861 under MSVC) and rocm_atomic (GPU-pass only).
- bitfield: replace __builtin_popcount with std::popcount; abitfield64_t
  (nonexistent) -> abitfield<uint64_t>; fix precedence + CopyBits/UnsetBits prose.

Verified: extract + compile_check report 6/6 PASS.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
All 7 ctp util guides (config_parsing, dynamic_libraries, environment_variables,
logging, singleton, system_introspection, timer) now compile (68 blocks, 7/7
PASS via docs/doctest), with examples sourced from the real headers + unit tests.
Major corrections of invented/stale APIs:
- logging: HILOG/HELOG don't exist (only HLOG/HIPRINT); wrong log-level values;
  nonexistent CTP_LOG_EXCLUDE -> real CTP_LOG_LEVEL; invented cuda/hip error calls.
- dynamic_libraries: replaced POSIX/Win32-raw code (opendir/stat/readlink/
  WIN32_FIND_DATA) with the real ctp::SharedLibrary + SystemInfo helpers.
- singleton: no EasySingleton; removed fictional includes; macro blocks made
  self-contained.
- system_introspection / environment_variables: POSIX-only calls (cpu_set_t,
  getpid, gethostname, struct stat) -> cross-platform SystemInfo/std::filesystem.
- config_parsing / timer: cross-block references, wrong elapsed-time direction,
  GCC-only sin -> std::sin.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrite the remaining ctp guides (allocator, memory_backend, event_manager,
lightbeam_networking, local_serialize, thread_system, compression, encryption)
so all C++ examples compile against the real headers, sourced from the unit
tests. 8/8 PASS via docs/doctest. Major corrections:
- legacy namespaces hipc::/hshm:: -> ctp::/ctp::ipc:: (allocator, memory_backend,
  encrypt, compress).
- event_manager: wrong member names (fd vs fd_), Signal signature, Linux-only
  epoll/read/getpid -> cross-platform.
- thread: nonexistent GetThreadTypeName, CTP_THREAD_MODEL_T double-namespace bug.
- compress/encrypt: build-optional, usage #if-guarded with signatures verified
  against headers + tests.
- harness: define CTP_ENABLE_ZMQ (ON in the real build) so lightbeam's
  ZeroMqTransport examples compile.

This completes the entire context-transport-primitives doc set
(types + util + these) — all examples compile.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrite the runtime base-module guides (admin, bdev, MOD_NAME), the module-test
guide, and the reliability guide so all C++ examples compile against the current
headers (via docs/doctest with the new -Runtime profile), sourced from the real
module code + tests. Major corrections of the pre-refactor chimaera API:
- chi::/chimaera:: -> clio::run::, hshm::/hipc:: -> ctp::/ctp::ipc::
- chi::CHIMAERA_INIT(kClient) -> clio::run::CLIO_INIT(RuntimeMode::kClient, true)
- Client APIs to current signatures: Admin (AsyncCreatePool/Container, DomainQuery),
  bdev::Client (AsyncAllocateBlocks/Write/Read/FreeBlocks, PoolQuery, Block, real
  buffer alloc via CLIO_IPC), MOD_NAME task/coroutine Run(Task*,RunContext&)->TaskResume.
- test guide: Catch2/gtest API (TEST_CASE tags, REQUIRE_THROWS, SECTION) -> real
  simple_test.h macros + SIMPLE_TEST_PROCESS_EXIT, sourced from test_compose.cc.
- reliability: RetryEntry now shared_ptr<Task> (RAII), Container recover/migrate
  callbacks to current signatures.

Harness: add a -Runtime profile (clio_run include dirs + CEREAL/LIGHTBEAM defines).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrite all 22 scheduler examples against the current Scheduler API (chimaera/chi::
-> clio::run::): the real pure-virtual contract (ClientMapTask/RuntimeMapTask with
ContainerHold, DivideWorkers, AdjustPolling(shared_ptr<Task>&), ScheduleTask),
SchedulerFactory::Get(SchedulerType), PredictedStat().io_size_, SetNetLane(send,recv),
PoolQuery::Range(offset,count). Sourced from default_sched/local_sched + the
autogen-coverage test. 22/22 PASS via docs/doctest -Runtime.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Full rewrite of the GPU client guide (was entirely stale chimaera API): chi::->
clio::run::, CHIMAERA_INIT->CLIO_INIT, gpu manager is clio::run::gpu::IpcManager
via CLIO_CPU_IPC->GetGpuIpcManager(); removed deleted gpu::FutureShm/pod_size_
(POD task is self-contained via Task::fut_/FutureInfo, slot = sizeof(TaskT));
cudaMemcpy-style -> ctp::GpuApi::; IpcGpu2Cpu ClientSend/RuntimeSend -> SendIn/
SendOut; handler is TaskResume(shared_ptr<GpuSubmitTask>&) with CLIO_TASK_BODY_*.
Device-only code #if-guarded (CUDA/ROCM off in harness); host APIs compiled. PASS.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrite the CTE guides (cte, gpu-cte, gpu-inf-mem) so all C++ examples compile
against the current clio_cte headers (via docs/doctest -Cte), sourced from the
core/gpu_vector/uvm tests. Corrections:
- namespaces: chi::->clio::run::, clio_cte::core->clio::cte::core,
  clio_cte::uvm->clio::cte::uvm, hipc::/hshm::->ctp::ipc::/ctp::
- init/globals: WRP_CTE_CLIENT_INIT->CLIO_CTE_CLIENT_INIT, CHIMAERA_INIT->CLIO_INIT
- real AsyncPutBlob/AsyncGetBlob signatures (Context param, flags order), buffer
  via CLIO_IPC->AllocateBuffer -> FullPtr<char>, .shm_.Cast<void>()
- task result field fixes (tag_size_, entries_, blob_names_, target_names_...);
  removed nonexistent CteOp cases / CteTelemetry.blob_id_
- gpu-cte: PodPutBlobTask/PodGetBlobTask (POD variants), Task::fut_ not FutureShm
- gpu-inf-mem: GpuVmm (CUdeviceptr/CUresult), CUDA-only code #if-guarded
- reference-only class-def blocks -> ```text (can't compile beside real headers)

Harness: add -Cte/-Cae profiles (cte/cae include dirs).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrite the CAE guides (omni, overview) so all C++ examples compile against the
current clio_cae headers (via docs/doctest -Cae), sourced from the CAE unit tests.
Corrections: clio_cae::core->clio::cae::core, chi::->clio::run::, hshm::->ctp::,
WRP_CAE_CLIENT_INIT->CLIO_CAE_CLIENT_INIT; real Client(kCaePoolId) +
AsyncParseOmni/AsyncProcessHdf5Dataset returning Future<T>; BaseAssimilator
Schedule(const AssimilationCtx&, int&) override. Reference-only class-def blocks
-> ```text with corrected content.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrite the 124-block module-authoring guide so every C++ example compiles
against the current headers (99 real compiling blocks; ~25 signature-stub /
conceptual / intentionally-wrong blocks reclassified to ```text). Sourced from
the real MOD_NAME template module. Major corrections of the pre-refactor API:
- chi::/chimaera:: -> clio::run::, hipc::/hshm:: -> ctp::ipc::/ctp::
- CHIMAERA_INIT -> CLIO_INIT; CHI_TASK_CC->CLIO_TASK_CC; CHI_IPC->CLIO_CPU_IPC
- runtime handlers: void X(FullPtr<T>, RunContext&) -> TaskResume X(shared_ptr<T>&)
  with CLIO_TASK_BODY_BEGIN/CLIO_CO_AWAIT/CLIO_CO_RETURN/CLIO_TASK_BODY_END
- results via GetReturnCode()/SetReturnCode(); Aggregate->AggregateOut; ScheduleTask
  hook replaces the dead ExecMode two-phase dynamic-scheduling section; RAII cleanup
  replaces DelTask; real BULK_EXPOSE/BULK_XFER bulk transfer.
- gotcha: blocks must NOT reopen namespace clio::run::MOD_NAME (the harness's
  per-block namespace would shadow ::clio::run) — define at block scope, qualified.

Completes the entire SDK C++ example set: all 34 guides across ctp/runtime/cte/cae
compile against the real headers, examples sourced from real code + tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Lead the Conda install tab with Miniconda's binary installer +
`conda install -c iowarp -c conda-forge iowarp-core` (the prebuilt package
on the iowarp Anaconda channel). Keep building from source as an optional
`conda build installers/conda/` flow (IOWARP_PRESET selects a CMake preset)
instead of the removed install.sh.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…containers)

Expand the developer guide's container section into a from-scratch walkthrough:
what a Dev Container is, installing Docker per-OS (Docker Desktop + WSL2 on
Windows, Docker Desktop on macOS, Docker Engine on Linux), installing the VS
Code / Cursor Dev Containers extension, opening/reopening in a container, all
three containers (cpu, nvidia-gpu, ml-inference), GPU setup, and troubleshooting.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@lukemartinlogan lukemartinlogan merged commit 28a3b5a into main Jul 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant