StoneTough

一只银杏独傲,悠悠灰鸟单飞

概述

   WatchDog 是一种软件或硬件定时器,用于检测计算机故障或者从故障中恢复。它还可以用于保护计算机免受出错程序或者恶意程序的破坏。
   在正常操作期间,计算机周期性的重置 WatchDog 以防止它超时(“elapsing”)。如果因为硬件故障或者软件错误导致重置WatchDog失败,WatchDog就会超时并且会生成超时信号。这个信号可以被用于重新初始化系统到正确、安全的状态。

阅读全文 »

概述

   MicroPython 是为 MCU 等资源受限环境提供精简和高效的 Python3 实现。它包括了 Python3 标准库的一个子集并且针对 MCU 进行了优化。

   MicroPython 提供了完全的 Python 解析器环境,用户可以在 REPL 中 直接执行命令,也可以导入并运行内置文件系统中的脚本。REPL 提供了命令行环境的通用特性,包括自动补全自动缩进历史记录复制粘贴等。

阅读全文 »

概述

   Linux 内核内建了常用的数据结构,并鼓励开发者尽可能地重用这些数据结构,而不是重新发明轮子。这些数据结构包括链表(list_head)队列散列表(hlist)二叉树

阅读全文 »

概述

   OpenGL(OpenGL Utility Toolkit) 。freeglutGLUT 的一个完全开源替代库。

概述

   CUDA 是专门为提高并行程序效率而开发的计算架构。它提供了对编程人员友好的编程模型,并支持多种高级编程语言(如 C/C++、Fortran、Python、Java)或者 OpenACC

参考 CUDA C++ Programming Guide
参考 CUDA C++ Best Practices Guide
参考 《CUDA By Example : An introduction to General-Purpose GPU Programming》 By Jason Sanders & Edward Kandrot.

阅读全文 »

概述

   GMP 是一个执行任意精度数值计算的可移植 C/C++ 库,它支持整数、有理数和浮点数。无论是对于低精度还是高精度计算,GMP 都可以提供很好的性能。

   GMP 的高性能来自于以下几点特性:使用字符串(fullword)作为基础数据类型;使用精心设计的算法;在底层,针对通用内部循环使用精心优化的汇编代码(支持不同的 CPU )。

参考 GMP Manual

阅读全文 »

概述

   N-Body 问题 是一个非常著名的物理问题。在天文学上,它具体指对于多个可以通过引力(基于经典牛顿力学)相互作用的天体,预测其中任意一个天体的运动(即在任意时刻的位置和速度)。在化学中,则可以是预测多个相互作用的分子或原子的运动。
  当 N=2 时的二体问题已经完全解决;但对于 N=3 时的三体问题,除了在一些特殊条件下可以得到解析解外,一般的三体问题依然没有解析解。
  N-Body 问题的模拟(Solver) 是指对于一组输入初始状态(各粒子的质量、位置和速度),输出在用户指定时刻的状态。我们先关注牛顿力学下二维空间的 N-Body 问题,然后再扩展到三维空间。

阅读全文 »
0%