Linux thermal_zone_device温度监测与governor调控
Linux thermal框架通过struct thermal_zone_device管理每个温度传感器governor算法根据温度变化做出冷却决策。核心注册API是thermal_zone_device_register()温度更新由thermal_zone_device_update()驱动。thermal_zone_device结构体包含温度监测所需的核心数据cstruct thermal_zone_device {int id;char type[THERMAL_NAME_LENGTH];struct device device;void *devdata;int trips; // 温度阈值点数struct thermal_trip trips_desc[THERMAL_MAX_TRIPS]; // 阈值描述const struct thermal_zone_params *tzp;struct thermal_governor *governor; // 当前governorstruct list_head thermal_instances; // 冷却设备实例列表struct mutex lock;int temperature; // 当前温度单位mCint emul_temperature; // 仿真温度调试用int passive;unsigned int forced_passive;struct thermal_zone_device_ops *ops; // 操作函数集enum thermal_device_mode mode;struct delayed_work poll_queue; // 轮询工作队列};温度阈值trip point定义struct thermal_trip包含触发温度、类型active/passive/hot/critical和 hysteresis迟滞值cstruct thermal_trip {struct list_head list;int temperature; // 触发温度单位mCint hysteresis; // 迟滞温度enum thermal_trip_type type; // 阈值类型};enum thermal_trip_type {THERMAL_TRIP_ACTIVE, // 主动冷却风扇THERMAL_TRIP_PASSIVE, // 被动冷却降频THERMAL_TRIP_HOT, // 高温告警THERMAL_TRIP_CRITICAL, // 临界温度触发关机};thermal_zone_device_update()是温度更新的入口函数由轮询定时器或中断触发。它执行governor的throttle回调cvoid thermal_zone_device_update(struct thermal_zone_device *tz,enum thermal_notify_event event){int temp, ret;int trip_temp;int trip_id;enum thermal_trip_type trip_type;// 1. 读取当前温度ret tz-ops-get_temp(tz, temp);if (ret) {dev_warn(tz-device, failed to read temperature\n);return;}tz-temperature temp;// 2. 更新温度趋势thermal_trip_crossed(tz, temp, trip_id, trip_temp, trip_type);// 3. 遍历所有trip point调用governorfor (trip_id 0; trip_id tz-trips; trip_id) {trip_temp tz-trips_desc[trip_id].temperature;trip_type tz-trips_desc[trip_id].type;// 检查当前温度是否超过阈值if (temp trip_temp) {// 调用governor的throttle方法if (tz-governor-throttle)tz-governor-throttle(tz, trip_id);} else {// 温度回落调用governor的control方法解除冷却if (tz-governor-throttle)tz-governor-throttle(tz, -1);}}// 4. 安排下次轮询if (tz-ops-get_temp !tz-passive)mod_delayed_work(system_freezable_power_efficient_wq,tz-poll_queue,msecs_to_jiffies(tz-polling_delay));}step_wise governor是最常用的governor之一其算法逐级别调整冷却状态cstatic int step_wise_throttle(struct thermal_zone_device *tz, int trip){struct thermal_instance *instance;int trend get_tz_trend(tz, trip);// 遍历所有关联此trip的冷却设备list_for_each_entry(instance, tz-thermal_instances, tz_node) {if (instance-trip ! trip)continue;// 根据温度趋势决定冷却级别增减switch (trend) {case THERMAL_TREND_RAISING: // 温度上升// 提高冷却级别instance-target min(instance-target 1,instance-upper);break;case THERMAL_TREND_DROPPING: // 温度下降// 降低冷却级别instance-target max(instance-target - 1,instance-lower);break;case THERMAL_TREND_STABLE: // 稳定// 维持当前级别break;default:break;}// 调用冷却设备的set_cur_stateinstance-cdev-ops-set_cur_state(instance-cdev,instance-target);}return 0;}governor的注册和选择通过thermal_register_governor()完成内核内置step_wise、power_allocator、fair_share、bang_bang和user_space五种governor。其中power_allocator使用PID控制器计算冷却需求适用于精细化的温度控制场景。thermal_zone_device_unregister()释放所有资源包括取消轮询work、断开与所有冷却设备的绑定、释放trip点数据。governor在注销时通过thermal_governor的unbind回调断开与thermal zone的连接。etd.ikfhoq.cn/88286.Docetd.ikfhoq.cn/79395.Docetd.ikfhoq.cn/31951.Docetd.ikfhoq.cn/99571.Docetd.ikfhoq.cn/31597.Docetd.ikfhoq.cn/66426.Docetd.ikfhoq.cn/35773.Docetd.ikfhoq.cn/80862.Docetd.ikfhoq.cn/20666.Docetd.ikfhoq.cn/39939.Docets.ikfhoq.cn/79119.Docets.ikfhoq.cn/51919.Docets.ikfhoq.cn/73113.Docets.ikfhoq.cn/31199.Docets.ikfhoq.cn/35933.Docets.ikfhoq.cn/59955.Docets.ikfhoq.cn/82808.Docets.ikfhoq.cn/00824.Docets.ikfhoq.cn/24682.Docets.ikfhoq.cn/31551.Doceta.ikfhoq.cn/71177.Doceta.ikfhoq.cn/64704.Doceta.ikfhoq.cn/25816.Doceta.ikfhoq.cn/15821.Doceta.ikfhoq.cn/97622.Doceta.ikfhoq.cn/47421.Doceta.ikfhoq.cn/65593.Doceta.ikfhoq.cn/20845.Doceta.ikfhoq.cn/92683.Doceta.ikfhoq.cn/32167.Docetp.ikfhoq.cn/90242.Docetp.ikfhoq.cn/40855.Docetp.ikfhoq.cn/19520.Docetp.ikfhoq.cn/06904.Docetp.ikfhoq.cn/94722.Docetp.ikfhoq.cn/01443.Docetp.ikfhoq.cn/51701.Docetp.ikfhoq.cn/78137.Docetp.ikfhoq.cn/92150.Docetp.ikfhoq.cn/13850.Doceto.ikfhoq.cn/55324.Doceto.ikfhoq.cn/67404.Doceto.ikfhoq.cn/22224.Doceto.ikfhoq.cn/95079.Doceto.ikfhoq.cn/53492.Doceto.ikfhoq.cn/65769.Doceto.ikfhoq.cn/16657.Doceto.ikfhoq.cn/94510.Doceto.ikfhoq.cn/73689.Doceto.ikfhoq.cn/98571.Doceti.ikfhoq.cn/81219.Doceti.ikfhoq.cn/15927.Doceti.ikfhoq.cn/53346.Doceti.ikfhoq.cn/61917.Doceti.ikfhoq.cn/04193.Doceti.ikfhoq.cn/36995.Doceti.ikfhoq.cn/04719.Doceti.ikfhoq.cn/97817.Doceti.ikfhoq.cn/38936.Doceti.ikfhoq.cn/89130.Docetu.ikfhoq.cn/34413.Docetu.ikfhoq.cn/26092.Docetu.ikfhoq.cn/48763.Docetu.ikfhoq.cn/15136.Docetu.ikfhoq.cn/46748.Docetu.ikfhoq.cn/95579.Docetu.ikfhoq.cn/68886.Docetu.ikfhoq.cn/02553.Docetu.ikfhoq.cn/56649.Docetu.ikfhoq.cn/98482.Docety.ikfhoq.cn/62308.Docety.ikfhoq.cn/50038.Docety.ikfhoq.cn/86027.Docety.ikfhoq.cn/48495.Docety.ikfhoq.cn/82206.Docety.ikfhoq.cn/20578.Docety.ikfhoq.cn/87731.Docety.ikfhoq.cn/82071.Docety.ikfhoq.cn/70785.Docety.ikfhoq.cn/30642.Docett.ikfhoq.cn/51813.Docett.ikfhoq.cn/56930.Docett.ikfhoq.cn/36269.Docett.ikfhoq.cn/11513.Docett.ikfhoq.cn/83366.Docett.ikfhoq.cn/52740.Docett.ikfhoq.cn/41019.Docett.ikfhoq.cn/21313.Docett.ikfhoq.cn/02649.Docett.ikfhoq.cn/76796.Docetr.ikfhoq.cn/97158.Docetr.ikfhoq.cn/94659.Docetr.ikfhoq.cn/47092.Docetr.ikfhoq.cn/67105.Docetr.ikfhoq.cn/38991.Docetr.ikfhoq.cn/41693.Docetr.ikfhoq.cn/55566.Docetr.ikfhoq.cn/36043.Docetr.ikfhoq.cn/77621.Docetr.ikfhoq.cn/84167.Docete.ikfhoq.cn/61232.Docete.ikfhoq.cn/12472.Docete.ikfhoq.cn/96614.Docete.ikfhoq.cn/85494.Docete.ikfhoq.cn/30855.Docete.ikfhoq.cn/61983.Docete.ikfhoq.cn/74369.Docete.ikfhoq.cn/28913.Docete.ikfhoq.cn/18914.Docete.ikfhoq.cn/52822.Docetw.ikfhoq.cn/41357.Docetw.ikfhoq.cn/57660.Docetw.ikfhoq.cn/86418.Docetw.ikfhoq.cn/33417.Docetw.ikfhoq.cn/68969.Docetw.ikfhoq.cn/76524.Docetw.ikfhoq.cn/88132.Docetw.ikfhoq.cn/60299.Docetw.ikfhoq.cn/40746.Docetw.ikfhoq.cn/78995.Docetq.ikfhoq.cn/69813.Docetq.ikfhoq.cn/82469.Docetq.ikfhoq.cn/55990.Docetq.ikfhoq.cn/64401.Docetq.ikfhoq.cn/43117.Docetq.ikfhoq.cn/53252.Docetq.ikfhoq.cn/29431.Docetq.ikfhoq.cn/90265.Docetq.ikfhoq.cn/89807.Docetq.ikfhoq.cn/58294.Docerm.ikfhoq.cn/56146.Docerm.ikfhoq.cn/06771.Docerm.ikfhoq.cn/13695.Docerm.ikfhoq.cn/86882.Docerm.ikfhoq.cn/32339.Docerm.ikfhoq.cn/81401.Docerm.ikfhoq.cn/78037.Docerm.ikfhoq.cn/00402.Docerm.ikfhoq.cn/56579.Docerm.ikfhoq.cn/49912.Docern.ikfhoq.cn/21044.Docern.ikfhoq.cn/39080.Docern.ikfhoq.cn/32382.Docern.ikfhoq.cn/80113.Docern.ikfhoq.cn/34294.Docern.ikfhoq.cn/16574.Docern.ikfhoq.cn/03195.Docern.ikfhoq.cn/73633.Docern.ikfhoq.cn/10843.Docern.ikfhoq.cn/24485.Docerb.ikfhoq.cn/11601.Docerb.ikfhoq.cn/85522.Docerb.ikfhoq.cn/09316.Docerb.ikfhoq.cn/91153.Docerb.ikfhoq.cn/74438.Docerb.ikfhoq.cn/97974.Docerb.ikfhoq.cn/85287.Docerb.ikfhoq.cn/13743.Docerb.ikfhoq.cn/11155.Docerb.ikfhoq.cn/24246.Docerv.ikfhoq.cn/66088.Docerv.ikfhoq.cn/13739.Docerv.ikfhoq.cn/11599.Docerv.ikfhoq.cn/79339.Docerv.ikfhoq.cn/75395.Docerv.ikfhoq.cn/40846.Docerv.ikfhoq.cn/44862.Docerv.ikfhoq.cn/24608.Docerv.ikfhoq.cn/40262.Docerv.ikfhoq.cn/66868.Docerc.ikfhoq.cn/11935.Docerc.ikfhoq.cn/00842.Docerc.ikfhoq.cn/53775.Docerc.ikfhoq.cn/20204.Docerc.ikfhoq.cn/06268.Docerc.ikfhoq.cn/26668.Docerc.ikfhoq.cn/19517.Docerc.ikfhoq.cn/86602.Docerc.ikfhoq.cn/40682.Docerc.ikfhoq.cn/59957.Docerx.ikfhoq.cn/93799.Docerx.ikfhoq.cn/39315.Docerx.ikfhoq.cn/15771.Docerx.ikfhoq.cn/84846.Docerx.ikfhoq.cn/02448.Docerx.ikfhoq.cn/00422.Docerx.ikfhoq.cn/97795.Docerx.ikfhoq.cn/57777.Docerx.ikfhoq.cn/73793.Docerx.ikfhoq.cn/55731.Docerz.ikfhoq.cn/75513.Docerz.ikfhoq.cn/02820.Docerz.ikfhoq.cn/57773.Docerz.ikfhoq.cn/19515.Docerz.ikfhoq.cn/57391.Docerz.ikfhoq.cn/33375.Docerz.ikfhoq.cn/80868.Docerz.ikfhoq.cn/28420.Docerz.ikfhoq.cn/48644.Docerz.ikfhoq.cn/42602.Docerl.ikfhoq.cn/31375.Docerl.ikfhoq.cn/02064.Docerl.ikfhoq.cn/00840.Docerl.ikfhoq.cn/04006.Docerl.ikfhoq.cn/84042.Docerl.ikfhoq.cn/11139.Docerl.ikfhoq.cn/37111.Docerl.ikfhoq.cn/40080.Docerl.ikfhoq.cn/60862.Docerl.ikfhoq.cn/73519.Docerk.ikfhoq.cn/08042.Docerk.ikfhoq.cn/20824.Docerk.ikfhoq.cn/91593.Docerk.ikfhoq.cn/91519.Docerk.ikfhoq.cn/99131.Docerk.ikfhoq.cn/60482.Docerk.ikfhoq.cn/06840.Docerk.ikfhoq.cn/19731.Docerk.ikfhoq.cn/86420.Docerk.ikfhoq.cn/57375.Docerj.ikfhoq.cn/82060.Docerj.ikfhoq.cn/62480.Docerj.ikfhoq.cn/39355.Docerj.ikfhoq.cn/82804.Docerj.ikfhoq.cn/93797.Docerj.ikfhoq.cn/82804.Docerj.ikfhoq.cn/40046.Docerj.ikfhoq.cn/15513.Docerj.ikfhoq.cn/79177.Docerj.ikfhoq.cn/95313.Docerh.ikfhoq.cn/75133.Docerh.ikfhoq.cn/11719.Docerh.ikfhoq.cn/91799.Docerh.ikfhoq.cn/91973.Docerh.ikfhoq.cn/13131.Docerh.ikfhoq.cn/37391.Docerh.ikfhoq.cn/00022.Docerh.ikfhoq.cn/95737.Docerh.ikfhoq.cn/37759.Docerh.ikfhoq.cn/11595.Docerg.ikfhoq.cn/97395.Docerg.ikfhoq.cn/75975.Docerg.ikfhoq.cn/71133.Docerg.ikfhoq.cn/37795.Docerg.ikfhoq.cn/91199.Docerg.ikfhoq.cn/73757.Docerg.ikfhoq.cn/44662.Docerg.ikfhoq.cn/84406.Docerg.ikfhoq.cn/88668.Docerg.ikfhoq.cn/31977.Docerf.ikfhoq.cn/04246.Docerf.ikfhoq.cn/00066.Docerf.ikfhoq.cn/82286.Docerf.ikfhoq.cn/57575.Docerf.ikfhoq.cn/42488.Docerf.ikfhoq.cn/46680.Docerf.ikfhoq.cn/28804.Docerf.ikfhoq.cn/93117.Docerf.ikfhoq.cn/84884.Docerf.ikfhoq.cn/55139.Docerd.ikfhoq.cn/04460.Docerd.ikfhoq.cn/44486.Docerd.ikfhoq.cn/88828.Docerd.ikfhoq.cn/24626.Docerd.ikfhoq.cn/55559.Docerd.ikfhoq.cn/73159.Docerd.ikfhoq.cn/77371.Docerd.ikfhoq.cn/99539.Docerd.ikfhoq.cn/15173.Docerd.ikfhoq.cn/35513.Docers.ikfhoq.cn/57551.Docers.ikfhoq.cn/77719.Docers.ikfhoq.cn/51353.Docers.ikfhoq.cn/79311.Docers.ikfhoq.cn/53919.Docers.ikfhoq.cn/37379.Docers.ikfhoq.cn/75739.Docers.ikfhoq.cn/42440.Docers.ikfhoq.cn/51937.Docers.ikfhoq.cn/86466.Docera.ikfhoq.cn/64886.Docera.ikfhoq.cn/95117.Docera.ikfhoq.cn/68028.Docera.ikfhoq.cn/19755.Docera.ikfhoq.cn/55577.Docera.ikfhoq.cn/62260.Docera.ikfhoq.cn/17119.Docera.ikfhoq.cn/28822.Docera.ikfhoq.cn/73551.Docera.ikfhoq.cn/95373.Docerp.ikfhoq.cn/77599.Docerp.ikfhoq.cn/93131.Docerp.ikfhoq.cn/53531.Docerp.ikfhoq.cn/06040.Docerp.ikfhoq.cn/44626.Docerp.ikfhoq.cn/95533.Docerp.ikfhoq.cn/33739.Docerp.ikfhoq.cn/73957.Docerp.ikfhoq.cn/71935.Docerp.ikfhoq.cn/71597.Docero.ikfhoq.cn/15713.Docero.ikfhoq.cn/15359.Docero.ikfhoq.cn/13755.Docero.ikfhoq.cn/35715.Docero.ikfhoq.cn/40262.Docero.ikfhoq.cn/40464.Docero.ikfhoq.cn/19955.Docero.ikfhoq.cn/02846.Docero.ikfhoq.cn/04482.Docero.ikfhoq.cn/39551.Doceri.ikfhoq.cn/19759.Doceri.ikfhoq.cn/46202.Doceri.ikfhoq.cn/79159.Doceri.ikfhoq.cn/44048.Doceri.ikfhoq.cn/51759.Doceri.ikfhoq.cn/37573.Doceri.ikfhoq.cn/84680.Doceri.ikfhoq.cn/42462.Doceri.ikfhoq.cn/20886.Doceri.ikfhoq.cn/59151.Doceru.ikfhoq.cn/79397.Doceru.ikfhoq.cn/80444.Doceru.ikfhoq.cn/48284.Doceru.ikfhoq.cn/91173.Doceru.ikfhoq.cn/57515.Doceru.ikfhoq.cn/73935.Doceru.ikfhoq.cn/53739.Doceru.ikfhoq.cn/84884.Doceru.ikfhoq.cn/35579.Doceru.ikfhoq.cn/75333.Docery.ikfhoq.cn/28648.Docery.ikfhoq.cn/79539.Docery.ikfhoq.cn/99337.Docery.ikfhoq.cn/04888.Docery.ikfhoq.cn/60244.Docery.ikfhoq.cn/33599.Docery.ikfhoq.cn/99191.Docery.ikfhoq.cn/11137.Docery.ikfhoq.cn/22020.Docery.ikfhoq.cn/37137.Docert.ikfhoq.cn/71959.Docert.ikfhoq.cn/59111.Docert.ikfhoq.cn/57131.Docert.ikfhoq.cn/46082.Docert.ikfhoq.cn/02020.Docert.ikfhoq.cn/62424.Docert.ikfhoq.cn/11955.Docert.ikfhoq.cn/91975.Docert.ikfhoq.cn/26044.Docert.ikfhoq.cn/86260.Docerr.ikfhoq.cn/99937.Docerr.ikfhoq.cn/60486.Docerr.ikfhoq.cn/51955.Docerr.ikfhoq.cn/59173.Docerr.ikfhoq.cn/33135.Docerr.ikfhoq.cn/04022.Docerr.ikfhoq.cn/53399.Docerr.ikfhoq.cn/15399.Docerr.ikfhoq.cn/04882.Docerr.ikfhoq.cn/84282.Docere.ikfhoq.cn/13131.Docere.ikfhoq.cn/00688.Docere.ikfhoq.cn/33115.Docere.ikfhoq.cn/17135.Docere.ikfhoq.cn/19337.Docere.ikfhoq.cn/00066.Docere.ikfhoq.cn/40828.Docere.ikfhoq.cn/80628.Docere.ikfhoq.cn/19315.Docere.ikfhoq.cn/33557.Docerw.ikfhoq.cn/77775.Docerw.ikfhoq.cn/75173.Docerw.ikfhoq.cn/44226.Docerw.ikfhoq.cn/77535.Docerw.ikfhoq.cn/91131.Docerw.ikfhoq.cn/26808.Docerw.ikfhoq.cn/33755.Docerw.ikfhoq.cn/17731.Docerw.ikfhoq.cn/28606.Docerw.ikfhoq.cn/40262.Docerq.ikfhoq.cn/51371.Docerq.ikfhoq.cn/42806.Docerq.ikfhoq.cn/51139.Docerq.ikfhoq.cn/06688.Docerq.ikfhoq.cn/37339.Docerq.ikfhoq.cn/31533.Docerq.ikfhoq.cn/04246.Docerq.ikfhoq.cn/97737.Docerq.ikfhoq.cn/55133.Docerq.ikfhoq.cn/46486.Doceem.ikfhoq.cn/33915.Doceem.ikfhoq.cn/73173.Doceem.ikfhoq.cn/02884.Doceem.ikfhoq.cn/91971.Doceem.ikfhoq.cn/71197.Doceem.ikfhoq.cn/08424.Doceem.ikfhoq.cn/64084.Doceem.ikfhoq.cn/35977.Doceem.ikfhoq.cn/73517.Doceem.ikfhoq.cn/31759.Doceen.ikfhoq.cn/22284.Doceen.ikfhoq.cn/04624.Doceen.ikfhoq.cn/44880.Doceen.ikfhoq.cn/20206.Doceen.ikfhoq.cn/75999.Doceen.ikfhoq.cn/71731.Doceen.ikfhoq.cn/95397.Doceen.ikfhoq.cn/04244.Doceen.ikfhoq.cn/26004.Doceen.ikfhoq.cn/51993.Doceeb.ikfhoq.cn/02846.Doceeb.ikfhoq.cn/82224.Doceeb.ikfhoq.cn/55179.Doceeb.ikfhoq.cn/31917.Doceeb.ikfhoq.cn/28286.Doceeb.ikfhoq.cn/60422.Doceeb.ikfhoq.cn/13911.Doceeb.ikfhoq.cn/13199.Doceeb.ikfhoq.cn/71397.Doceeb.ikfhoq.cn/28642.Doceev.ikfhoq.cn/20246.Doceev.ikfhoq.cn/00062.Doceev.ikfhoq.cn/53737.Doceev.ikfhoq.cn/28468.Doceev.ikfhoq.cn/57139.Doceev.ikfhoq.cn/91391.Doceev.ikfhoq.cn/57737.Doceev.ikfhoq.cn/11139.Doceev.ikfhoq.cn/13939.Doceev.ikfhoq.cn/33397.Doceec.ikfhoq.cn/71351.Doceec.ikfhoq.cn/95551.Doceec.ikfhoq.cn/71317.Doceec.ikfhoq.cn/59335.Doceec.ikfhoq.cn/37315.Doceec.ikfhoq.cn/75195.Doceec.ikfhoq.cn/86020.Doceec.ikfhoq.cn/68800.Doceec.ikfhoq.cn/51799.Doceec.ikfhoq.cn/44220.Doceex.ikfhoq.cn/13977.Doceex.ikfhoq.cn/39179.Doceex.ikfhoq.cn/60800.Doceex.ikfhoq.cn/26082.Doceex.ikfhoq.cn/88204.Doceex.ikfhoq.cn/28642.Doceex.ikfhoq.cn/86064.Doceex.ikfhoq.cn/19599.Doceex.ikfhoq.cn/17395.Doceex.ikfhoq.cn/39717.Doceez.ikfhoq.cn/51575.Doceez.ikfhoq.cn/79599.Doceez.ikfhoq.cn/19319.Doceez.ikfhoq.cn/26248.Doceez.ikfhoq.cn/71171.Doceez.ikfhoq.cn/19351.Doceez.ikfhoq.cn/24880.Doceez.ikfhoq.cn/57791.Doceez.ikfhoq.cn/53733.Doceez.ikfhoq.cn/31197.Doceel.ikfhoq.cn/97393.Doceel.ikfhoq.cn/00602.Doceel.ikfhoq.cn/95377.Doceel.ikfhoq.cn/62640.Doceel.ikfhoq.cn/55131.Doceel.ikfhoq.cn/37335.Doceel.ikfhoq.cn/73595.Doceel.ikfhoq.cn/99559.Doceel.ikfhoq.cn/73915.Doceel.ikfhoq.cn/19597.Doceek.ikfhoq.cn/11753.Doceek.ikfhoq.cn/51917.Doceek.ikfhoq.cn/57375.Doceek.ikfhoq.cn/79391.Doceek.ikfhoq.cn/02020.Doceek.ikfhoq.cn/46042.Doceek.ikfhoq.cn/75553.Doceek.ikfhoq.cn/11335.Doceek.ikfhoq.cn/19999.Doceek.ikfhoq.cn/64002.Doceej.ikfhoq.cn/94659.Doceej.ikfhoq.cn/73915.Doceej.ikfhoq.cn/59533.Doceej.ikfhoq.cn/53315.Doceej.ikfhoq.cn/64226.Doceej.ikfhoq.cn/13311.Doceej.ikfhoq.cn/77151.Doceej.ikfhoq.cn/35965.Doceej.ikfhoq.cn/88682.Doceej.ikfhoq.cn/31933.Doceeh.ikfhoq.cn/73171.Doceeh.ikfhoq.cn/31777.Doceeh.ikfhoq.cn/17133.Doceeh.ikfhoq.cn/73777.Doceeh.ikfhoq.cn/99553.Doceeh.ikfhoq.cn/08468.Doceeh.ikfhoq.cn/39537.Doceeh.ikfhoq.cn/93713.Doceeh.ikfhoq.cn/75793.Doceeh.ikfhoq.cn/31955.Doceeg.ikfhoq.cn/19955.Doceeg.ikfhoq.cn/43558.Doceeg.ikfhoq.cn/08482.Doceeg.ikfhoq.cn/19733.Doceeg.ikfhoq.cn/31937.Doceeg.ikfhoq.cn/47356.Doceeg.ikfhoq.cn/35751.Doceeg.ikfhoq.cn/80080.Doceeg.ikfhoq.cn/53195.Doceeg.ikfhoq.cn/40248.Doceef.ikfhoq.cn/15399.Doceef.ikfhoq.cn/64844.Doceef.ikfhoq.cn/37331.Doceef.ikfhoq.cn/02482.Doceef.ikfhoq.cn/91359.Doceef.ikfhoq.cn/91953.Doceef.ikfhoq.cn/60088.Doceef.ikfhoq.cn/65037.Doceef.ikfhoq.cn/02464.Doceef.ikfhoq.cn/59195.Doceed.ikfhoq.cn/59111.Doceed.ikfhoq.cn/39317.Doceed.ikfhoq.cn/73775.Doceed.ikfhoq.cn/88775.Doceed.ikfhoq.cn/39733.Doceed.ikfhoq.cn/06486.Doceed.ikfhoq.cn/46626.Doceed.ikfhoq.cn/93779.Doceed.ikfhoq.cn/00024.Doceed.ikfhoq.cn/53379.Docees.ikfhoq.cn/93791.Docees.ikfhoq.cn/70884.Docees.ikfhoq.cn/28844.Docees.ikfhoq.cn/95155.Docees.ikfhoq.cn/19515.Docees.ikfhoq.cn/02442.Docees.ikfhoq.cn/13355.Docees.ikfhoq.cn/84280.Docees.ikfhoq.cn/37179.Docees.ikfhoq.cn/71553.Doceea.ikfhoq.cn/71751.Doceea.ikfhoq.cn/55371.Doceea.ikfhoq.cn/82640.Doceea.ikfhoq.cn/60224.Doceea.ikfhoq.cn/84022.Doceea.ikfhoq.cn/84280.Doceea.ikfhoq.cn/55977.Doceea.ikfhoq.cn/35911.Doceea.ikfhoq.cn/26246.Doceea.ikfhoq.cn/11715.Doceep.ikfhoq.cn/71975.Doceep.ikfhoq.cn/91357.Doceep.ikfhoq.cn/99339.Doceep.ikfhoq.cn/15193.Doceep.ikfhoq.cn/13119.Doceep.ikfhoq.cn/08228.Doceep.ikfhoq.cn/93173.Doceep.ikfhoq.cn/17951.Doceep.ikfhoq.cn/75151.Doceep.ikfhoq.cn/06206.Doceeo.ikfhoq.cn/08884.Doceeo.ikfhoq.cn/97571.Doceeo.ikfhoq.cn/97999.Doceeo.ikfhoq.cn/35399.Doceeo.ikfhoq.cn/44888.Doceeo.ikfhoq.cn/51735.Doceeo.ikfhoq.cn/55979.Doceeo.ikfhoq.cn/17999.Doceeo.ikfhoq.cn/35353.Doceeo.ikfhoq.cn/48820.Doceei.ikfhoq.cn/20042.Doceei.ikfhoq.cn/15971.Doceei.ikfhoq.cn/37391.Doceei.ikfhoq.cn/93199.Doceei.ikfhoq.cn/68460.Doceei.ikfhoq.cn/20664.Doceei.ikfhoq.cn/75557.Doceei.ikfhoq.cn/91337.Doceei.ikfhoq.cn/55797.Doceei.ikfhoq.cn/44680.Doceeu.ikfhoq.cn/33177.Doceeu.ikfhoq.cn/77777.Doceeu.ikfhoq.cn/59733.Doceeu.ikfhoq.cn/24604.Doceeu.ikfhoq.cn/86486.Doceeu.ikfhoq.cn/24840.Doceeu.ikfhoq.cn/15953.Doceeu.ikfhoq.cn/62842.Doceeu.ikfhoq.cn/95375.Doceeu.ikfhoq.cn/24808.Doceey.ikfhoq.cn/99595.Doceey.ikfhoq.cn/88402.Doceey.ikfhoq.cn/13315.Doceey.ikfhoq.cn/00446.Doceey.ikfhoq.cn/91137.Doceey.ikfhoq.cn/64248.Doceey.ikfhoq.cn/41162.Doceey.ikfhoq.cn/36835.Doceey.ikfhoq.cn/98349.Doceey.ikfhoq.cn/38610.Doceet.ikfhoq.cn/53068.Doceet.ikfhoq.cn/74318.Doceet.ikfhoq.cn/97422.Doceet.ikfhoq.cn/09364.Doceet.ikfhoq.cn/92251.Doceet.ikfhoq.cn/02277.Doceet.ikfhoq.cn/80106.Doceet.ikfhoq.cn/15946.Doceet.ikfhoq.cn/59381.Doceet.ikfhoq.cn/73731.Doceer.ikfhoq.cn/18085.Doceer.ikfhoq.cn/16733.Doceer.ikfhoq.cn/24750.Doceer.ikfhoq.cn/56251.Doceer.ikfhoq.cn/78768.Doceer.ikfhoq.cn/09727.Doceer.ikfhoq.cn/45613.Doceer.ikfhoq.cn/05251.Doceer.ikfhoq.cn/59621.Doceer.ikfhoq.cn/28075.Doceee.ikfhoq.cn/12493.Doceee.ikfhoq.cn/20639.Doceee.ikfhoq.cn/79240.Doceee.ikfhoq.cn/37379.Doceee.ikfhoq.cn/88448.Doceee.ikfhoq.cn/15570.Doceee.ikfhoq.cn/43584.Doceee.ikfhoq.cn/99513.Doceee.ikfhoq.cn/56447.Doceee.ikfhoq.cn/21705.Doceew.ikfhoq.cn/42005.Doceew.ikfhoq.cn/95728.Doceew.ikfhoq.cn/07910.Doceew.ikfhoq.cn/72940.Doceew.ikfhoq.cn/22903.Doceew.ikfhoq.cn/34453.Doceew.ikfhoq.cn/90998.Doceew.ikfhoq.cn/12711.Doceew.ikfhoq.cn/81683.Doceew.ikfhoq.cn/38261.Doceeq.ikfhoq.cn/93324.Doceeq.ikfhoq.cn/98380.Doceeq.ikfhoq.cn/53504.Doceeq.ikfhoq.cn/79761.Doceeq.ikfhoq.cn/23171.Doceeq.ikfhoq.cn/77788.Doceeq.ikfhoq.cn/63587.Doceeq.ikfhoq.cn/92714.Doceeq.ikfhoq.cn/05642.Doceeq.ikfhoq.cn/03092.Docewm.ikfhoq.cn/04089.Docewm.ikfhoq.cn/50386.Docewm.ikfhoq.cn/86072.Docewm.ikfhoq.cn/25608.Docewm.ikfhoq.cn/51757.Docewm.ikfhoq.cn/08906.Docewm.ikfhoq.cn/22967.Docewm.ikfhoq.cn/67783.Docewm.ikfhoq.cn/52311.Docewm.ikfhoq.cn/30264.Docewn.ikfhoq.cn/39206.Docewn.ikfhoq.cn/62053.Docewn.ikfhoq.cn/72097.Docewn.ikfhoq.cn/85748.Docewn.ikfhoq.cn/10946.Docewn.ikfhoq.cn/29186.Docewn.ikfhoq.cn/28777.Docewn.ikfhoq.cn/78996.Docewn.ikfhoq.cn/24184.Docewn.ikfhoq.cn/86482.Docewb.ikfhoq.cn/58436.Docewb.ikfhoq.cn/30996.Docewb.ikfhoq.cn/17362.Docewb.ikfhoq.cn/96102.Docewb.ikfhoq.cn/78789.Docewb.ikfhoq.cn/95284.Docewb.ikfhoq.cn/02050.Docewb.ikfhoq.cn/16504.Docewb.ikfhoq.cn/95648.Docewb.ikfhoq.cn/21136.Docewv.ikfhoq.cn/09126.Docewv.ikfhoq.cn/60271.Docewv.ikfhoq.cn/66787.Docewv.ikfhoq.cn/82576.Docewv.ikfhoq.cn/69735.Docewv.ikfhoq.cn/39140.Docewv.ikfhoq.cn/57763.Docewv.ikfhoq.cn/73781.Docewv.ikfhoq.cn/96884.Docewv.ikfhoq.cn/05361.Docewc.ikfhoq.cn/30959.Docewc.ikfhoq.cn/17406.Docewc.ikfhoq.cn/87268.Docewc.ikfhoq.cn/31921.Docewc.ikfhoq.cn/21881.Docewc.ikfhoq.cn/59865.Docewc.ikfhoq.cn/84873.Docewc.ikfhoq.cn/72756.Docewc.ikfhoq.cn/90850.Docewc.ikfhoq.cn/90958.Docewx.ikfhoq.cn/20215.Docewx.ikfhoq.cn/03521.Docewx.ikfhoq.cn/39195.Docewx.ikfhoq.cn/64937.Docewx.ikfhoq.cn/73163.Docewx.ikfhoq.cn/37105.Docewx.ikfhoq.cn/91796.Docewx.ikfhoq.cn/79670.Docewx.ikfhoq.cn/44982.Docewx.ikfhoq.cn/81685.Docewz.ikfhoq.cn/99492.Docewz.ikfhoq.cn/47703.Docewz.ikfhoq.cn/48389.Docewz.ikfhoq.cn/80703.Docewz.ikfhoq.cn/20813.Docewz.ikfhoq.cn/33694.Docewz.ikfhoq.cn/48514.Docewz.ikfhoq.cn/57438.Docewz.ikfhoq.cn/87764.Docewz.ikfhoq.cn/33437.Docewl.ikfhoq.cn/97131.Docewl.ikfhoq.cn/02706.Docewl.ikfhoq.cn/77240.Docewl.ikfhoq.cn/95083.Docewl.ikfhoq.cn/25462.Docewl.ikfhoq.cn/82916.Docewl.ikfhoq.cn/90346.Docewl.ikfhoq.cn/42310.Docewl.ikfhoq.cn/64292.Docewl.ikfhoq.cn/97161.Docewk.ikfhoq.cn/76745.Docewk.ikfhoq.cn/60034.Docewk.ikfhoq.cn/33305.Docewk.ikfhoq.cn/92560.Docewk.ikfhoq.cn/50000.Docewk.ikfhoq.cn/55764.Docewk.ikfhoq.cn/32225.Docewk.ikfhoq.cn/07475.Docewk.ikfhoq.cn/62104.Docewk.ikfhoq.cn/75128.Docewj.ikfhoq.cn/02276.Docewj.ikfhoq.cn/28892.Docewj.ikfhoq.cn/36769.Docewj.ikfhoq.cn/02389.Docewj.ikfhoq.cn/12260.Docewj.ikfhoq.cn/33277.Docewj.ikfhoq.cn/86218.Docewj.ikfhoq.cn/80674.Docewj.ikfhoq.cn/80004.Docewj.ikfhoq.cn/54939.Docewh.ikfhoq.cn/26949.Docewh.ikfhoq.cn/86496.Docewh.ikfhoq.cn/24449.Docewh.ikfhoq.cn/52039.Docewh.ikfhoq.cn/45749.Docewh.ikfhoq.cn/50619.Docewh.ikfhoq.cn/96746.Docewh.ikfhoq.cn/11889.Docewh.ikfhoq.cn/16073.Docewh.ikfhoq.cn/56873.Docewg.ikfhoq.cn/24817.Docewg.ikfhoq.cn/45338.Docewg.ikfhoq.cn/61206.Docewg.ikfhoq.cn/33375.Docewg.ikfhoq.cn/62205.Docewg.ikfhoq.cn/25394.Docewg.ikfhoq.cn/56709.Docewg.ikfhoq.cn/98969.Docewg.ikfhoq.cn/78033.Docewg.ikfhoq.cn/83196.Docewf.ikfhoq.cn/46547.Docewf.ikfhoq.cn/76525.Docewf.ikfhoq.cn/81207.Docewf.ikfhoq.cn/10615.Docewf.ikfhoq.cn/22408.Docewf.ikfhoq.cn/47726.Docewf.ikfhoq.cn/49897.Docewf.ikfhoq.cn/88895.Docewf.ikfhoq.cn/53867.Docewf.ikfhoq.cn/49447.Docewd.ikfhoq.cn/27563.Docewd.ikfhoq.cn/76464.Docewd.ikfhoq.cn/63837.Docewd.ikfhoq.cn/92357.Docewd.ikfhoq.cn/64773.Docewd.ikfhoq.cn/13894.Docewd.ikfhoq.cn/44743.Docewd.ikfhoq.cn/40021.Docewd.ikfhoq.cn/55233.Docewd.ikfhoq.cn/43005.Doc

相关新闻

8000行代码实现ChatGPT级模型:minGPT技术解析

8000行代码实现ChatGPT级模型:minGPT技术解析

1. 项目背景与核心价值8000行代码实现ChatGPT级模型?这个标题确实足够吸引眼球。作为一名长期从事NLP开发的工程师,我第一反应是怀疑——毕竟OpenAI的GPT-3用了1750亿参数,而Meta的LLaMA-2也有700亿参数规模。但仔细研究Karpathy的minGPT项目…

2026/7/21 2:28:15阅读更多 →
WWDC26揭秘:苹果AI开发平台与Claude Code技术解析

WWDC26揭秘:苹果AI开发平台与Claude Code技术解析

1. WWDC26 与苹果的 AI 战略布局2026 年苹果全球开发者大会(WWDC26)最引人注目的发布,莫过于 Apple Intelligence 平台的全面升级。作为苹果 AI 战略的核心载体,这个平台正在经历从辅助功能到开发基石的转变。其中最关键的突破是 …

2026/7/21 2:28:15阅读更多 →
Windows 11效率工具精选:12款提升生产力的神器

Windows 11效率工具精选:12款提升生产力的神器

1. Windows 11效率工具精选指南作为每天与Windows系统打交道的资深用户,我深刻理解操作系统原生功能的局限性。经过长达三个月的实测筛选,从128款候选工具中精选出12款真正能提升Windows 11使用体验的效率神器。这些工具覆盖了文件管理、系统优化、生产力…

2026/7/21 2:28:15阅读更多 →
国民级App Skill集成指南:从API到SDK的高效开发实践

国民级App Skill集成指南:从API到SDK的高效开发实践

在日常开发中,我们经常会遇到需要集成各种第三方功能的需求,比如地图定位、支付接口、社交分享等。面对众多国民级App提供的开放能力,如何快速找到合适的Skill合集并高效集成到自己的项目中,是每个开发者都需要掌握的技能。本文将…

2026/7/21 20:25:03阅读更多 →
mimalloc内存分配器实战指南:解决高并发场景下的内存管理难题

mimalloc内存分配器实战指南:解决高并发场景下的内存管理难题

mimalloc内存分配器实战指南:解决高并发场景下的内存管理难题 【免费下载链接】mimalloc mimalloc is a compact general purpose allocator with excellent performance. 项目地址: https://gitcode.com/GitHub_Trending/mi/mimalloc 在当今高性能计算和大规…

2026/7/21 20:25:03阅读更多 →
当传统笔记软件无法满足深度思考需求时:思源笔记的块级知识管理解决方案

当传统笔记软件无法满足深度思考需求时:思源笔记的块级知识管理解决方案

当传统笔记软件无法满足深度思考需求时:思源笔记的块级知识管理解决方案 【免费下载链接】siyuan A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang. 项目地址: https://gitcode.com/…

2026/7/21 20:25:03阅读更多 →
5分钟上手TwitchDropsMiner:自动化获取游戏奖励的智能助手

5分钟上手TwitchDropsMiner:自动化获取游戏奖励的智能助手

5分钟上手TwitchDropsMiner:自动化获取游戏奖励的智能助手 【免费下载链接】TwitchDropsMiner An app that allows you to AFK mine timed Twitch drops, with automatic drop claiming and channel switching. 项目地址: https://gitcode.com/GitHub_Trending/tw…

2026/7/21 20:25:03阅读更多 →
如何快速创建专业等距图表:FossFLOW完整实战指南

如何快速创建专业等距图表:FossFLOW完整实战指南

如何快速创建专业等距图表:FossFLOW完整实战指南 【免费下载链接】FossFLOW Make beautiful isometric infrastructure diagrams 项目地址: https://gitcode.com/GitHub_Trending/openflow1/FossFLOW FossFLOW是一款功能强大的开源等距图表工具,专…

2026/7/21 20:25:03阅读更多 →
用AI写工作总结到底靠不靠谱?资深IT总监实测17种提示词结构,准确率提升63%!

用AI写工作总结到底靠不靠谱?资深IT总监实测17种提示词结构,准确率提升63%!

更多请点击: https://intelliparadigm.com 第一章:用AI写工作总结到底靠不靠谱?资深IT总监实测17种提示词结构,准确率提升63%! 在某头部金融科技公司年度复盘中,CTO团队将AI生成的工作总结与人工撰写版本进…

2026/7/21 20:23:02阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/21 0:51:49阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 0:51:49阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 0:51:49阅读更多 →
Windows+macOS 通用 OpenClaw 部署流程,内置依赖一键启动智能桌面助手

Windows+macOS 通用 OpenClaw 部署流程,内置依赖一键启动智能桌面助手

📌教程适配:OpenClaw v2.7.9 | 兼容 Windows10/11、macOS 双系统 📖前言 当下各类本地 AI 工具层出不穷,多数产品仅能完成文字问答交互,很难直接操控电脑执行实际操作。OpenClaw,业内常称小龙虾 AI&#…

2026/7/21 0:01:46阅读更多 →
Codex 接入后 Bug 反增?复盘从个人演示到团队协作的“流程陷阱”

Codex 接入后 Bug 反增?复盘从个人演示到团队协作的“流程陷阱”

聊《一次Codex项目复盘,问题最后出在流程而不是模型》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要先把这篇文章的目标说清楚:看完之后,你应该能判断这件事值不值得做&…

2026/7/21 0:01:46阅读更多 →
手把手搓一个五子棋游戏,零代码也能当“游戏开发者”

手把手搓一个五子棋游戏,零代码也能当“游戏开发者”

大家好,还是我。前几期带大家做了心情日记本和可视化大屏,后台有朋友留言:“能不能教点好玩的?我想做游戏,但一行代码都不会。”行,这期就安排。今天的目标:从零做一个五子棋游戏。 带AI对战、三…

2026/7/21 0:03:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/20 22:51:39阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/21 18:53:30阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/21 18:53:30阅读更多 →