{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2013:6BSOG2DO4F6OA7HUFJYQR7CRZN","short_pith_number":"pith:6BSOG2DO","canonical_record":{"source":{"id":"1311.2404","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"physics.comp-ph","submitted_at":"2013-11-11T10:15:43Z","cross_cats_sorted":["physics.flu-dyn"],"title_canon_sha256":"0e3f89329d0619d435951a92a66bd963d4cf38428ca5c6a6b0d8e65c029f28cc","abstract_canon_sha256":"240d327c3a1ae8992ef3143db279beaf0c8f59bb04a680530e40d1b992cbb098"},"schema_version":"1.0"},"canonical_sha256":"f064e3686ee17ce07cf42a7108fc51cb4cfbe7144ed7fbea457511995254a871","source":{"kind":"arxiv","id":"1311.2404","version":1},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1311.2404","created_at":"2026-05-18T01:46:32Z"},{"alias_kind":"arxiv_version","alias_value":"1311.2404v1","created_at":"2026-05-18T01:46:32Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1311.2404","created_at":"2026-05-18T01:46:32Z"},{"alias_kind":"pith_short_12","alias_value":"6BSOG2DO4F6O","created_at":"2026-05-18T12:27:36Z"},{"alias_kind":"pith_short_16","alias_value":"6BSOG2DO4F6OA7HU","created_at":"2026-05-18T12:27:36Z"},{"alias_kind":"pith_short_8","alias_value":"6BSOG2DO","created_at":"2026-05-18T12:27:36Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2013:6BSOG2DO4F6OA7HUFJYQR7CRZN","target":"record","payload":{"canonical_record":{"source":{"id":"1311.2404","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"physics.comp-ph","submitted_at":"2013-11-11T10:15:43Z","cross_cats_sorted":["physics.flu-dyn"],"title_canon_sha256":"0e3f89329d0619d435951a92a66bd963d4cf38428ca5c6a6b0d8e65c029f28cc","abstract_canon_sha256":"240d327c3a1ae8992ef3143db279beaf0c8f59bb04a680530e40d1b992cbb098"},"schema_version":"1.0"},"canonical_sha256":"f064e3686ee17ce07cf42a7108fc51cb4cfbe7144ed7fbea457511995254a871","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T01:46:32.464088Z","signature_b64":"JGbUCWCt1i8CYOR8dBOP1fLd8F0NtGVZHzV/pAO/JQSln6Eiz1Gr/s06fyMAFIca+dhFaWvD2m8xSVufxR7ZAQ==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"f064e3686ee17ce07cf42a7108fc51cb4cfbe7144ed7fbea457511995254a871","last_reissued_at":"2026-05-18T01:46:32.463556Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T01:46:32.463556Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1311.2404","source_version":1,"attestation_state":"computed"},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-18T01:46:32Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"Qhp3NJiIG1XD9Donw+7JI7mgVy0p7NgD7H5+/ehqNDaqXId1o/naN019MwuAfv85n3sRXARAtfaj8qnBawVgDQ==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-29T17:21:35.558091Z"},"content_sha256":"008d2d03b561ef22b08d21964703c5851b10c8788af46c38cb0b6f4893074722","schema_version":"1.0","event_id":"sha256:008d2d03b561ef22b08d21964703c5851b10c8788af46c38cb0b6f4893074722"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2013:6BSOG2DO4F6OA7HUFJYQR7CRZN","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"Sailfish: a flexible multi-GPU implementation of the lattice Boltzmann method","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":["physics.flu-dyn"],"primary_cat":"physics.comp-ph","authors_text":"Marcin Kostur, Michal Januszewski","submitted_at":"2013-11-11T10:15:43Z","abstract_excerpt":"We present Sailfish, an open source fluid simulation package implementing the lattice Boltzmann method (LBM) on modern Graphics Processing Units (GPUs) using CUDA/OpenCL. We take a novel approach to GPU code implementation and use run-time code generation techniques and a high level programming language (Python) to achieve state of the art performance, while allowing easy experimentation with different LBM models and tuning for various types of hardware. We discuss the general design principles of the code, scaling to multiple GPUs in a distributed environment, as well as the GPU implementatio"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1311.2404","kind":"arxiv","version":1},"verdict":{"id":null,"model_set":{},"created_at":null,"strongest_claim":"","one_line_summary":"","pipeline_version":null,"weakest_assumption":"","pith_extraction_headline":""},"references":{"count":0,"sample":[],"resolved_work":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","internal_anchors":0},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"author_claims":{"count":0,"strong_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"builder_version":"pith-number-builder-2026-05-17-v1"},"verdict_id":null},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-18T01:46:32Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"Iaur6xwGu2KRPVSV6kZSsHZ+nDKUmyf4C1OVhRWU1W4Aw3Inv0lrMxfsqZDOxUAJysedmPgRP5wLqnk8riYVCw==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-29T17:21:35.558451Z"},"content_sha256":"27a8da464896cc9f024386c8e972521fa386888e387d1b72ad61cb84b09b94c6","schema_version":"1.0","event_id":"sha256:27a8da464896cc9f024386c8e972521fa386888e387d1b72ad61cb84b09b94c6"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/6BSOG2DO4F6OA7HUFJYQR7CRZN/bundle.json","state_url":"https://pith.science/pith/6BSOG2DO4F6OA7HUFJYQR7CRZN/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/6BSOG2DO4F6OA7HUFJYQR7CRZN/bundle.json","status":"primary"}],"public_keys":[{"key_id":"pith-v1-2026-05","algorithm":"ed25519","format":"raw","public_key_b64":"stVStoiQhXFxp4s2pdzPNoqVNBMojDU/fJ2db5S3CbM=","public_key_hex":"b2d552b68890857171a78b36a5dccf368a953413288c353f7c9d9d6f94b709b3","fingerprint_sha256_b32_first128bits":"RVFV5Z2OI2J3ZUO7ERDEBCYNKS","fingerprint_sha256_hex":"8d4b5ee74e4693bcd1df2446408b0d54","rotates_at":null,"url":"https://pith.science/pith-signing-key.json","notes":"Pith uses this Ed25519 key to sign canonical record SHA-256 digests. Verify with: ed25519_verify(public_key, message=canonical_sha256_bytes, signature=base64decode(signature_b64))."}],"merge_version":"pith-open-graph-merge-v1","built_at":"2026-06-29T17:21:35Z","links":{"resolver":"https://pith.science/pith/6BSOG2DO4F6OA7HUFJYQR7CRZN","bundle":"https://pith.science/pith/6BSOG2DO4F6OA7HUFJYQR7CRZN/bundle.json","state":"https://pith.science/pith/6BSOG2DO4F6OA7HUFJYQR7CRZN/state.json","well_known_bundle":"https://pith.science/.well-known/pith/6BSOG2DO4F6OA7HUFJYQR7CRZN/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2013:6BSOG2DO4F6OA7HUFJYQR7CRZN","merge_version":"pith-open-graph-merge-v1","event_count":2,"valid_event_count":2,"invalid_event_count":0,"equivocation_count":0,"current":{"canonical_record":{"metadata":{"abstract_canon_sha256":"240d327c3a1ae8992ef3143db279beaf0c8f59bb04a680530e40d1b992cbb098","cross_cats_sorted":["physics.flu-dyn"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"physics.comp-ph","submitted_at":"2013-11-11T10:15:43Z","title_canon_sha256":"0e3f89329d0619d435951a92a66bd963d4cf38428ca5c6a6b0d8e65c029f28cc"},"schema_version":"1.0","source":{"id":"1311.2404","kind":"arxiv","version":1}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1311.2404","created_at":"2026-05-18T01:46:32Z"},{"alias_kind":"arxiv_version","alias_value":"1311.2404v1","created_at":"2026-05-18T01:46:32Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1311.2404","created_at":"2026-05-18T01:46:32Z"},{"alias_kind":"pith_short_12","alias_value":"6BSOG2DO4F6O","created_at":"2026-05-18T12:27:36Z"},{"alias_kind":"pith_short_16","alias_value":"6BSOG2DO4F6OA7HU","created_at":"2026-05-18T12:27:36Z"},{"alias_kind":"pith_short_8","alias_value":"6BSOG2DO","created_at":"2026-05-18T12:27:36Z"}],"graph_snapshots":[{"event_id":"sha256:27a8da464896cc9f024386c8e972521fa386888e387d1b72ad61cb84b09b94c6","target":"graph","created_at":"2026-05-18T01:46:32Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"graph_snapshot":{"author_claims":{"count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","strong_count":0},"builder_version":"pith-number-builder-2026-05-17-v1","claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"paper":{"abstract_excerpt":"We present Sailfish, an open source fluid simulation package implementing the lattice Boltzmann method (LBM) on modern Graphics Processing Units (GPUs) using CUDA/OpenCL. We take a novel approach to GPU code implementation and use run-time code generation techniques and a high level programming language (Python) to achieve state of the art performance, while allowing easy experimentation with different LBM models and tuning for various types of hardware. We discuss the general design principles of the code, scaling to multiple GPUs in a distributed environment, as well as the GPU implementatio","authors_text":"Marcin Kostur, Michal Januszewski","cross_cats":["physics.flu-dyn"],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"physics.comp-ph","submitted_at":"2013-11-11T10:15:43Z","title":"Sailfish: a flexible multi-GPU implementation of the lattice Boltzmann method"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1311.2404","kind":"arxiv","version":1},"verdict":{"created_at":null,"id":null,"model_set":{},"one_line_summary":"","pipeline_version":null,"pith_extraction_headline":"","strongest_claim":"","weakest_assumption":""}},"verdict_id":null}}],"author_attestations":[],"timestamp_anchors":[],"storage_attestations":[],"citation_signatures":[],"replication_records":[],"corrections":[],"mirror_hints":[],"record_created":{"event_id":"sha256:008d2d03b561ef22b08d21964703c5851b10c8788af46c38cb0b6f4893074722","target":"record","created_at":"2026-05-18T01:46:32Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"attestation_state":"computed","canonical_record":{"metadata":{"abstract_canon_sha256":"240d327c3a1ae8992ef3143db279beaf0c8f59bb04a680530e40d1b992cbb098","cross_cats_sorted":["physics.flu-dyn"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"physics.comp-ph","submitted_at":"2013-11-11T10:15:43Z","title_canon_sha256":"0e3f89329d0619d435951a92a66bd963d4cf38428ca5c6a6b0d8e65c029f28cc"},"schema_version":"1.0","source":{"id":"1311.2404","kind":"arxiv","version":1}},"canonical_sha256":"f064e3686ee17ce07cf42a7108fc51cb4cfbe7144ed7fbea457511995254a871","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"f064e3686ee17ce07cf42a7108fc51cb4cfbe7144ed7fbea457511995254a871","first_computed_at":"2026-05-18T01:46:32.463556Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-18T01:46:32.463556Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"JGbUCWCt1i8CYOR8dBOP1fLd8F0NtGVZHzV/pAO/JQSln6Eiz1Gr/s06fyMAFIca+dhFaWvD2m8xSVufxR7ZAQ==","signature_status":"signed_v1","signed_at":"2026-05-18T01:46:32.464088Z","signed_message":"canonical_sha256_bytes"},"source_id":"1311.2404","source_kind":"arxiv","source_version":1}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:008d2d03b561ef22b08d21964703c5851b10c8788af46c38cb0b6f4893074722","sha256:27a8da464896cc9f024386c8e972521fa386888e387d1b72ad61cb84b09b94c6"],"state_sha256":"5fd43b04ccb994f21bfdde59de0d9fcebb6345f24fbe6eb73301da2d56710464"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"Q15EXrYOI50GsrVdtnVZWqKlh4n8WIYldqtmL4+Sr9DTvvfm824AAaBbeV3oqQ0zBkZCGTQVpDPzj/SDf1wBBw==","signed_message":"bundle_sha256_bytes","signed_at":"2026-06-29T17:21:35.560588Z","bundle_sha256":"92e49be19baede08f4e4a93e3d6102dce2259b0acc43e89a9f07ee3dbd96f1dc"}}