File size: 2,015 Bytes
26d5b81
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# NeuroFlow C++ Core

高性能C++底层实现,提供Python绑定接口。

## 特点

- **轻量化**: 相比原Python版本减少80%+内存占用
- **SIMD优化**: AVX2/ARM NEON加速矩阵运算
- **量化支持**: INT8/FP8量化,4x内存压缩
- **MLA技术**: DeepSeek KV压缩,87.5%+内存节省
- **长记忆**: 分页记忆系统,支持磁盘溢出
- **零依赖**: 单静态库,无外部依赖

## 构建

```bash
cd cpp_core
chmod +x build.sh
./build.sh build    # 构建核心库
./build.sh test     # 构建并测试
./build.sh python   # 构建Python绑定
```

## 目录结构

```
cpp_core/
├── include/neuroflow/
│   ├── tensor.hpp      # 张量运算引擎 (SIMD)
│   ├── networks.hpp    # ECN/DMN/SN网络
│   ├── memory.hpp      # MLA/记忆模块
│   └── model.hpp       # 主模型类
├── src/
│   ├── tensor.cpp
│   └── model.cpp
├── bindings/
│   └── python_bindings.cpp  # pybind11绑定
├── tests/
│   ├── test_tensor.cpp
│   └── test_model.cpp
├── CMakeLists.txt
└── build.sh
```

## Python使用

```python
import neuroflow_cpp as nf

# 创建模型
config = nf.ModelConfig(
    input_dim=512,
    hidden_dim=256,
    output_dim=10,
    use_quantization=True
)
model = nf.NeuroFlowModel(config)

# 前向传播
import numpy as np
x = np.random.randn(32, 512).astype(np.float32)
output = model.forward(x)

print(output.output.shape)  # (32, 10)
print(output.decision.shape)
print(output.manifold.shape)  # 如果return_manifold=True

# 性能对比
stats = nf.benchmark()
print(f"Size reduction: {stats['size_reduction']*100:.1f}%")
```

## 性能对比

| 版本 | 参数量 | 内存 | 推理时间 | 相比原版 |
|------|--------|------|----------|----------|
| C++ Original | 1.25M | 5 MB | 2.5 ms | baseline |
| C++ Optimized | 171K | 0.7 MB | 1.2 ms | 2x加速 |
| C++ Lite | 79K | 0.3 MB | 0.8 ms | 3x加速 |
| C++ Quantized | 79K | 0.08 MB | 0.6 ms | 4x加速 |