Spaces:
Runtime error
Runtime error
| class PCIeInterface: | |
| def __init__(self, version='4.0', lanes=4, max_gbps=15): | |
| self.version = version | |
| self.lanes = lanes | |
| self.max_gbps = max_gbps # GB/s | |
| self.latency_us = 2 # microseconds, typical for PCIe 4.0 | |
| def transfer_time(self, size_bytes): | |
| # Calculate time to transfer size_bytes at max_gbps (in seconds) | |
| gb = size_bytes / 1e9 | |
| time_s = gb / self.max_gbps | |
| return time_s | |
| def simulate_transfer(self, size_bytes, direction='write'): | |
| t = self.transfer_time(size_bytes) | |
| print(f"[PCIe] {direction.title()} {size_bytes/1e6:.2f} MB over PCIe {self.version} x{self.lanes} at {self.max_gbps} GB/s: {t*1e3:.3f} ms + {self.latency_us} us latency") | |
| return t + self.latency_us / 1e6 | |