- 实现一个 RDMA 用户态驱动程序
写在前面随着DeepSeek的火爆,当众人将目光集中到模型优化时,底层网络通信基础设施的重要性往往容易被忽略。实际上,高性能、易维护、易定制的网络基础设施对于提升AI训练、推理的效率是至关重要的一环。目前,主流的高性能网络通信方案基本被几家头部公司垄断,其提供的标准API接口也已经被精心封装,绝大多数开发者无需关心底层实现细节。达坦科技始终致力于国产高性能网络基础设施解决方案的研发,深知网络通信基
- DeepSeek开源周第二弹:DeepEP如何用RDMA+FP8让MoE模型飞起来?
曦紫沐
大模型deepseek
一、引言:MoE模型的通信瓶颈与DeepEP的诞生在混合专家(MoE)模型训练中,专家间的全对全(All-to-All)通信成为性能瓶颈。传统方案在跨节点传输时带宽利用率不足50%,延迟高达300μs以上。DeepSeek推出的DeepEP作为首个开源EP通信库,通过软硬件协同优化,将节点内通信带宽压榨至158GB/s(接近NVLink极限),跨节点RDMA延迟降至46GB/s,成为大模型训练/推
- 智算中心的核心硬件是什么?
Imagination官方博客
本文来源:游方AI智算中心,作为人工智能时代的关键基础设施,其核心硬件的构成与性能直接影响着智能计算的效率与质量。以下是对智算中心核心硬件的详细阐述:一、AI芯片AI芯片是专门为加速人工智能计算而设计的硬件,能够与各种AI算法协同工作,满足对算力的极高需求。当前主流的AI加速计算芯片包括:1、GPU(图形处理器)GPU是智算中心的算力担当,其强大的并行计算能力使其在深度学习领域大放异彩。GPU芯片
- Spark之PySpark
james二次元
大数据SparkPythonPySpark
PySpark是ApacheSpark的PythonAPI,它允许开发者使用Python编程语言进行大规模数据处理和分析。ApacheSpark是一个快速、通用、可扩展的大数据处理引擎,支持批处理、流处理、机器学习、图计算等多种数据处理模式。PySpark使得Python开发者能够利用Spark强大的分布式计算能力,处理大数据集,并执行高效的并行计算。一、PySpark核心概念1.RDD(弹性分布
- DeepEP:开源通信库的高效专家并行计算解决方案
耶耶Norsea
网络杂烩人工智能
摘要DeepEP是一个专为Mixture-of-Experts(MoE)和专家并行计算设计的开源通信库。它提供高效的all-to-all通信模式,支持GPU之间的高吞吐量和低延迟数据交换。DeepEP旨在优化专家并行计算中的通信效率,确保在大规模分布式系统中实现高性能的数据处理。关键词开源通信库,专家并行,MoE计算,GPU交换,高效通信一、大纲11.1DeepEP开源通信库概述DeepEP是一个
- DeepSeek开源周合集
Vip.Gong
人工智能transformerchatgpt文心一言pythonscikit-learn深度学习
周一:FlashMLA,核心成就:GPU带宽利用接近理论极限,算力利用效率翻倍;周二:DeepEP,一个高效的MOE架构专家并行通信库:支持高效且优化后的全对全通信使用NVlink和RDMA进行节点内和节点间通信用于训练和推理填充的高吞吐量内核用于推理解码的低延迟内核原生支持FP8操作实现灵活的GPU资源控制,实现计算与通信重叠周三:DeepGEMM,一个通用的GEMM广义矩阵乘法库,支持FP8精
- oneAPI介绍
Cindy020506
oneapi人工智能
什么是InteloneAPI?InteloneAPI是由英特尔公司推出的跨平台编程模型和工具集合。它旨在简化异构计算环境下的软件开发,使开发人员能够在多种处理器架构上编写高性能应用程序。InteloneAPI的设计理念是提供统一的编程接口,让开发人员能够利用不同类型的处理器实现高效并行计算。InteloneAPI中有什么?InteloneAPI是基于标准的开发工具集合和库,其中最重要的组件是Dat
- DeepSeep开源周,第三天:DeepGEMM是啥?
程序员差不多先生
pytorch
DeepGEMM是Deepseek开源的一个高性能矩阵乘法优化库,专为深度学习场景设计。矩阵乘法(GEMM)是深度学习模型的核心运算(如全连接层、卷积层等),其性能直接影响训练和推理效率。DeepGEMM通过算法优化、硬件指令集加速和并行计算技术,显著提升计算速度,适用于GPU、CPU等硬件平台。对开发者的用处性能提升优化计算密集型任务(如LLM训练/推理),降低延迟,提升吞吐量。支持混合精度计算
- RDMA原理
完颜振江
网络服务器运维RDMA
RDMA(远程直接内存访问)技术通过绕过操作系统内核和CPU干预,实现高效的低延迟数据传输。以下是对其原理的系统性解析:1.核心原理零拷贝(Zero-copy):数据直接在应用内存与网卡间传输,无需内核缓冲区的复制。内核旁路(KernelBypass):应用程序通过用户态驱动直接操作网卡,减少上下文切换开销。CPU卸载(CPUOffload):数据传输由支持RDMA的智能网卡(RNIC)处理,释放
- ATB概念之:算子tiling
人工智能深度学习
1什么是算子tiling在计算机科学和深度学习领域,算子tiling(有时也被称作操作符tiling或者循环tiling)是一种优化技术,主要用于提高计算效率,尤其是在处理大规模张量运算时。Tiling技术通常用于将大的计算任务分解成更小的块,这些小块可以在内存中更高效地处理,或者更适合并行计算环境。在深度学习框架中,算子tiling可以应用于不同的场景:内存优化:通过将大的张量切分成更小的部分,
- [15] 使用Opencv_CUDA 模块实现基本计算机视觉程序
明月醉窗台
CUDA-Opencv计算机视觉opencv人工智能图像处理CUDA
使用Opencv_CUDA模块实现基本计算机视觉程序CUDA提供了出色的接口,发挥GPU的并行计算能力来加速复杂的计算应用程序利用CUDA和Opencv的功能实现计算机视觉应用1.对图像的算术和逻辑运算两个图像相加#include#include"opencv2/opencv.hpp"#include
- GPU和FPGA的区别
Florence23
fpga开发
GPU(GraphicsProcessingUnit,图形处理器)和FPGA(Field-ProgrammableGateArray,现场可编程门阵列)不是同一种硬件。我的理解是,虽然都可以用于并行计算,但是GPU是纯计算的硬件,FPGA是控制+计算的可编程的硬件。FPGA有点像CPU,区别在于,CPU的硬件是固定的,而FPGA的硬件是可编程的。FPGA:由大量的可编程逻辑块(CLB)、查找表(L
- Linux下RDMA驱动程序探索系列-2
硬件硬件加速
本系列文章将带领读者逐步了解Linux操作系统下的RDMA子系统。本篇文章作为系列的第二篇,将深入内核态驱动程序的代码,主要介绍如下内容:Driver的初始化流程几个重要verbs回调函数的简介01、KernelDriver的初始化流程由于不同厂商的驱动程序千差万别,在此不以具体厂商的驱动程序进行介绍,而是以Kernel中核心的API调用为锚点进行介绍。读者在阅读完本篇文章后,可以在自己感兴趣的厂
- Python的那些事第三十篇:并行计算库在大数据分析中的应用Dask
暮雨哀尘
Python的那些事python数据分析开发语言运维服务器数据挖掘
Dask:并行计算库在大数据分析中的应用摘要随着数据量的爆炸性增长,传统的数据分析工具(如Pandas和NumPy)在处理大规模数据集时面临内存限制和计算效率低下的问题。Dask作为一种开源的并行计算库,通过动态任务调度和分布式计算,能够高效处理超出内存容量的大数据集,并与Python生态系统中的Pandas、NumPy和scikit-learn等库无缝集成。本文将详细介绍Dask的架构、功能、优
- DeepSeek的架构设计
程序猿000001号
DeepSeek架构设计
DeepSeek的架构设计一、基础架构层1.超大规模算力集群跨地域异构计算:南京/临港等多地超算中心构建混合集群,10万+GPU卡规模(含H100/A100等),通过自研RDMA网络实现μs级延迟能效优化:采用液冷+余热回收技术,PUE<1.1,算力密度达50kW/机柜故障自愈:基于强化学习的节点健康预测系统,实现硬件故障30秒内隔离2.数据工场体系多模态处理管道:文本:20PB语料库,支持164
- RDMA ibverbs_API功能说明
小湿哥
Network学习笔记RDMAibverbs
设备管理获取当前活动网卡返回当前rdma设备列表structibv_device**ibv_get_device_list(int*num_devices);//使用structibv_device**dev_list=ibv_get_device_list(NULL);获取网卡名返回网卡名字字符串:如"mlx5_0",一般通过网卡名字确定将要使用的网卡constchar*ibv_get_devi
- 深入理解DAG任务调度系统:核心原理与实现
AI天才研究院
计算Python实战编程实践python算法dag
1.背景介绍随着大数据、人工智能等领域的发展,任务调度系统的重要性日益凸显。DirectedAcyclicGraph(DAG)任务调度系统是一种常见的任务调度系统,它可以有效地解决多个依赖关系复杂的任务调度问题。本文将深入探讨DAG任务调度系统的核心原理和实现,为读者提供一个深入的理解。1.1背景介绍1.1.1任务调度系统简介任务调度系统是计算机科学中一个重要的研究领域,它主要关注于在并行计算系统
- Java平台上的多线程与多核处理研究
向哆哆
Java入门到精通javapython开发语言
Java平台上的多线程与多核处理研究在现代计算机架构中,多核处理器已成为主流。随着硬件性能的提升,如何有效利用多核处理器的计算能力成为开发者面临的重要问题之一。Java作为一种广泛使用的编程语言,提供了多线程编程的强大支持,使得开发者能够在多核环境下实现并行计算。本篇文章将深入探讨Java平台上的多线程与多核处理,探讨其工作原理、应用场景,并通过代码实例进行演示。1.多线程与多核处理的基本概念1.
- 深入浅出:CUDA是什么,如何利用它进行高效并行计算
码上飞扬
CUDA
在当今这个数据驱动的时代,计算能力的需求日益增加,特别是在深度学习、科学计算和图像处理等领域。为了满足这些需求,NVIDIA推出了CUDA(ComputeUnifiedDeviceArchitecture),这是一种并行计算平台和编程模型。本文将带你全面了解CUDA的基本概念、工作原理及其应用场景。一、什么是CUDA?CUDA(ComputeUnifiedDeviceArchitecture)是由
- 【深度学习pytorch-93】Transformer 相比 RNN 的优势
华东算法王
DL-pytorch深度学习pytorchtransformer
Transformer相比RNN的优势Transformer和RNN(循环神经网络)都是自然语言处理(NLP)领域的重要架构,但它们的工作原理和应用方式有很大不同。Transformer由于其独特的结构和机制,在多个方面优于RNN。以下是Transformer相比RNN的主要优势:1.并行计算能力RNN的局限性RNN是按顺序处理输入的,即每个时间步的输出都依赖于前一个时间步的输出。这意味着,在训练
- 函数式编程倡导的「不可变数据结构」如何保证性能
编程
在函数式编程(FunctionalProgramming,简称FP)中,不可变数据结构(ImmutableDataStructures)是一个核心概念。与传统的可变数据结构相比,不可变数据结构不可修改,而是通过创建新的数据结构来表达数据的变更。这一特点使得函数式编程能够简化并行计算、避免副作用,进而提高程序的可靠性和可维护性。然而,不可变数据结构可能带来的性能问题,例如内存的使用、数据复制的成本等
- GPU通信革命:跨平面网络效率提升300%的秘密武器
CodePatentMaster
人工智能深度学习机器学习自然语言处理微服务服务器AIGC
「无需CPU中转,多平面网络RDMA通信时延降低50%」——Deepseek专利CN118612157A一、技术解析:突破AI算力瓶颈的底层创新1.技术背景:终结多平面网络CPU中转困境传统多平面网络中,跨平面GPU通信必须经过CPU内存拷贝,导致两大痛点:20-30%的通信带宽浪费在CPU中转环节大规模集群训练时,网络拥塞引发训练任务停滞该专利通过构建GPU直连通道,实现跨平面网络的零拷贝通信,
- 常用的高性能计算工具有哪些
这题有点难度
人工智能学习
在当今数字化时代,高性能计算(HPC)已成为推动科学、工程、技术以及商业创新的核心力量。无论是模拟宇宙的起源、设计新型航空器,还是训练复杂的人工智能模型,HPC都扮演着不可或缺的角色。本文将深入探讨高性能计算的定义、其背后的强大工具,以及它们如何助力各领域的突破性发展。一、高性能计算:定义与意义高性能计算(HPC)是一种利用超级计算机或大规模集群来处理复杂计算任务的技术。它通过并行计算和优化算法,
- 【nvidia】NCCL禁用P2P后果权衡
x66ccff
linuxp2p服务器网络协议
通信bound还是计算bound?计算bound场景:模型参数量较小(如参数量未超出单卡显存容量,使用纯数据并行)或计算密度极高(如大batchsize下的矩阵运算)时,A100的计算能力(FP16/FP32算力)可能被充分利用,此时训练是计算bound。某些优化技术(如梯度累积、算子融合)可能掩盖通信开销,使计算成为主要瓶颈。通信bound场景:模型参数量极大(如千亿级以上),需采用模型并行或流
- InfiniBand包头与ibverbs接口实现(一)—— RDMA WRITE分析
网络编程code数据数据库
InfiniBand是一种高性能网络技术,其数据包格式设计对实现高效可靠的网络传输至关重要。本文将详细介绍InfiniBand数据包的头部结构,分析它们在实际应用中的作用和实现机制。并且我们会讨论可靠连接(RC)服务类型下的传输头格式,以及RDMAWRITE等典型操作场景,以及它们在ibverbs接口中的对应关系。TableofContents:两类包头格式RoutingHeaders2.1.源码
- cuda编程入门——并行归约(五)
我不会打代码啊啊
cuda编程算法c++gpu算力
CUDA编程入门—并行归约(数组求和为例)在并行计算中,归约(Reduction)是一种将多个数据通过特定操作(如求和、求最大值等)合并为单一结果的并行算法。其核心目标是通过并行化加速大规模数据集的聚合计算。关键概念操作类型:可结合且可交换的操作(如加法、乘法、最大值、最小值、逻辑与/或等)适合并行归约。若操作不可结合(如减法或除法),需特殊处理或无法直接并行化。并行实现方式:树形结构归约:将数据
- cuda编程入门——并行性与异构性概念
我不会打代码啊啊
cuda编程gpu算力c++
CUDA编程入门一基于cuda的异构并行计算并行性一、并行性的概念与分类概念并行性旨在通过同时处理多个任务或数据元素来提高计算速度和效率。它可以在不同的层次上实现,包括指令级并行、数据级并行和任务级并行等。分类指令级并行(Instruction-LevelParallelism,ILP):在处理器的指令执行层面,通过硬件技术(如流水线、超标量技术等)让多条指令在不同阶段同时执行,从而提高处理器的指
- 【Stable Diffusion部署至GNU/Linux】安装流程
星星点点洲
stablediffusion
以下是安装StableDiffusion的步骤,以Ubuntu22.04LTS为例子。显卡与计算架构介绍CUDA是NVIDIAGPU的专用并行计算架构技术层级说明CUDAToolkit提供GPU编译器(nvcc)、数学库(cuBLAS)等开发工具cuDNN深度神经网络加速库(需单独下载)GPU驱动包含CUDADriver(需与CUDAToolkit版本匹配)CUDA与NIDIA:硬件指令集绑定:N
- 深度学习基础知识
namelijink
深度学习人工智能
cuda简介:CUDA(ComputeUnifiedDeviceArchitecture)是由NVIDIA开发的一种并行计算平台和应用程序编程接口(API)。它允许开发人员利用NVIDIA的GPU(图形处理器)来加速各种计算任务,包括科学计算、机器学习、深度学习、数据分析等。NVIDIA是一个全球领先的计算技术公司,专注于设计和制造高性能计算设备。除了生产强大的GPU,NVIDIA还提供与其GPU
- 【笔记】使用 Pytorch 进行分布式训练
LittleNyima
人工智能深度学习pytorch分布式
本文原文以CCBY-NC-SA4.0许可协议发布于技术相关|使用Pytorch进行分布式训练,转载请注明出处。其实Pytorch分布式训练已经不算什么新技术了,之所以专门写一篇blog是因为今天训模型的时候出现了一个没见过的问题,在调试的时候发现自己平时都是用别人写好的分布式代码,没有深入研究过其中的实现细节,因此感觉有必要整理吸收一下。最简单的数据并行作为最简单的并行计算方式,使用nn.Data
- mysql主从数据同步
林鹤霄
mysql主从数据同步
配置mysql5.5主从服务器(转)
教程开始:一、安装MySQL
说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL 5.5.22
二、配置MySQL主服务器(192.168.21.169)mysql -uroot -p &nb
- oracle学习笔记
caoyong
oracle
1、ORACLE的安装
a>、ORACLE的版本
8i,9i : i是internet
10g,11g : grid (网格)
12c : cloud (云计算)
b>、10g不支持win7
&
- 数据库,SQL零基础入门
天子之骄
sql数据库入门基本术语
数据库,SQL零基础入门
做网站肯定离不开数据库,本人之前没怎么具体接触SQL,这几天起早贪黑得各种入门,恶补脑洞。一些具体的知识点,可以让小白不再迷茫的术语,拿来与大家分享。
数据库,永久数据的一个或多个大型结构化集合,通常与更新和查询数据的软件相关
- pom.xml
一炮送你回车库
pom.xml
1、一级元素dependencies是可以被子项目继承的
2、一级元素dependencyManagement是定义该项目群里jar包版本号的,通常和一级元素properties一起使用,既然有继承,也肯定有一级元素modules来定义子元素
3、父项目里的一级元素<modules>
<module>lcas-admin-war</module>
<
- sql查地区省市县
3213213333332132
sqlmysql
-- db_yhm_city
SELECT * FROM db_yhm_city WHERE class_parent_id = 1 -- 海南 class_id = 9 港、奥、台 class_id = 33、34、35
SELECT * FROM db_yhm_city WHERE class_parent_id =169
SELECT d1.cla
- 关于监听器那些让人头疼的事
宝剑锋梅花香
画图板监听器鼠标监听器
本人初学JAVA,对于界面开发我只能说有点蛋疼,用JAVA来做界面的话确实需要一定的耐心(不使用插件,就算使用插件的话也没好多少)既然Java提供了界面开发,老师又要求做,只能硬着头皮上啦。但是监听器还真是个难懂的地方,我是上了几次课才略微搞懂了些。
- JAVA的遍历MAP
darkranger
map
Java Map遍历方式的选择
1. 阐述
对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?
为了解遍历性能的真实差距,包括在遍历ke
- POJ 2312 Battle City 优先多列+bfs
aijuans
搜索
来源:http://poj.org/problem?id=2312
题意:题目背景就是小时候玩的坦克大战,求从起点到终点最少需要多少步。已知S和R是不能走得,E是空的,可以走,B是砖,只有打掉后才可以通过。
思路:很容易看出来这是一道广搜的题目,但是因为走E和走B所需要的时间不一样,因此不能用普通的队列存点。因为对于走B来说,要先打掉砖才能通过,所以我们可以理解为走B需要两步,而走E是指需要1
- Hibernate与Jpa的关系,终于弄懂
avords
javaHibernate数据库jpa
我知道Jpa是一种规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。
在play中定义Model时,使用的是jpa的annotations,比如javax.persistence.Entity, Table, Column, OneToMany
- 酸爽的console.log
bee1314
console
在前端的开发中,console.log那是开发必备啊,简直直观。通过写小函数,组合大功能。更容易测试。但是在打版本时,就要删除console.log,打完版本进入开发状态又要添加,真不够爽。重复劳动太多。所以可以做些简单地封装,方便开发和上线。
/**
* log.js hufeng
* The safe wrapper for `console.xxx` functions
*
- 哈佛教授:穷人和过于忙碌的人有一个共同思维特质
bijian1013
时间管理励志人生穷人过于忙碌
一个跨学科团队今年完成了一项对资源稀缺状况下人的思维方式的研究,结论是:穷人和过于忙碌的人有一个共同思维特质,即注意力被稀缺资源过分占据,引起认知和判断力的全面下降。这项研究是心理学、行为经济学和政策研究学者协作的典范。
这个研究源于穆来纳森对自己拖延症的憎恨。他7岁从印度移民美国,很快就如鱼得水,哈佛毕业
- other operate
征客丶
OSosx
一、Mac Finder 设置排序方式,预览栏 在显示-》查看显示选项中
二、有时预览显示时,卡死在那,有可能是一些临时文件夹被删除了,如:/private/tmp[有待验证]
--------------------------------------------------------------------
若有其他凝问或文中有错误,请及时向我指出,
我好及时改正,同时也让我们一
- 【Scala五】分析Spark源代码总结的Scala语法三
bit1129
scala
1. If语句作为表达式
val properties = if (jobIdToActiveJob.contains(jobId)) {
jobIdToActiveJob(stage.jobId).properties
} else {
// this stage will be assigned to "default" po
- ZooKeeper 入门
BlueSkator
中间件zk
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。
值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利
- MySQL取得当前时间的函数是什么 格式化日期的函数是什么
BreakingBad
mysqlDate
取得当前时间用 now() 就行。
在数据库中格式化时间 用DATE_FORMA T(date, format) .
根据格式串format 格式化日期或日期和时间值date,返回结果串。
可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date值:
%S, %s 两位数字形式的秒( 00,01,
- 读《研磨设计模式》-代码笔记-组合模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
abstract class Component {
public abstract void printStruct(Str
- 4_JAVA+Oracle面试题(有答案)
chenke
oracle
基础测试题
卷面上不能出现任何的涂写文字,所有的答案要求写在答题纸上,考卷不得带走。
选择题
1、 What will happen when you attempt to compile and run the following code? (3)
public class Static {
static {
int x = 5; // 在static内有效
}
st
- 新一代工作流系统设计目标
comsci
工作算法脚本
用户只需要给工作流系统制定若干个需求,流程系统根据需求,并结合事先输入的组织机构和权限结构,调用若干算法,在流程展示版面上面显示出系统自动生成的流程图,然后由用户根据实际情况对该流程图进行微调,直到满意为止,流程在运行过程中,系统和用户可以根据情况对流程进行实时的调整,包括拓扑结构的调整,权限的调整,内置脚本的调整。。。。。
在这个设计中,最难的地方是系统根据什么来生成流
- oracle 行链接与行迁移
daizj
oracle行迁移
表里的一行对于一个数据块太大的情况有二种(一行在一个数据块里放不下)
第一种情况:
INSERT的时候,INSERT时候行的大小就超一个块的大小。Oracle把这行的数据存储在一连串的数据块里(Oracle Stores the data for the row in a chain of data blocks),这种情况称为行链接(Row Chain),一般不可避免(除非使用更大的数据
- [JShop]开源电子商务系统jshop的系统缓存实现
dinguangx
jshop电子商务
前言
jeeshop中通过SystemManager管理了大量的缓存数据,来提升系统的性能,但这些缓存数据全部都是存放于内存中的,无法满足特定场景的数据更新(如集群环境)。JShop对jeeshop的缓存机制进行了扩展,提供CacheProvider来辅助SystemManager管理这些缓存数据,通过CacheProvider,可以把缓存存放在内存,ehcache,redis,memcache
- 初三全学年难记忆单词
dcj3sjt126com
englishword
several 儿子;若干
shelf 架子
knowledge 知识;学问
librarian 图书管理员
abroad 到国外,在国外
surf 冲浪
wave 浪;波浪
twice 两次;两倍
describe 描写;叙述
especially 特别;尤其
attract 吸引
prize 奖品;奖赏
competition 比赛;竞争
event 大事;事件
O
- sphinx实践
dcj3sjt126com
sphinx
安装参考地址:http://briansnelson.com/How_to_install_Sphinx_on_Centos_Server
yum install sphinx
如果失败的话使用下面的方式安装
wget http://sphinxsearch.com/files/sphinx-2.2.9-1.rhel6.x86_64.rpm
yum loca
- JPA之JPQL(三)
frank1234
ormjpaJPQL
1 什么是JPQL
JPQL是Java Persistence Query Language的简称,可以看成是JPA中的HQL, JPQL支持各种复杂查询。
2 检索单个对象
@Test
public void querySingleObject1() {
Query query = em.createQuery("sele
- Remove Duplicates from Sorted Array II
hcx2013
remove
Follow up for "Remove Duplicates":What if duplicates are allowed at most twice?
For example,Given sorted array nums = [1,1,1,2,2,3],
Your function should return length
- Spring4新特性——Groovy Bean定义DSL
jinnianshilongnian
spring 4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- CentOS安装Mysql5.5
liuxingguome
centos
CentOS下以RPM方式安装MySQL5.5
首先卸载系统自带Mysql:
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
查看是否还有mysql软件:
rpm -qa|grep mysql
去http://dev.mysql.c
- 第14章 工具函数(下)
onestopweb
函数
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- POJ 1050
SaraWon
二维数组子矩阵最大和
POJ ACM第1050题的详细描述,请参照
http://acm.pku.edu.cn/JudgeOnline/problem?id=1050
题目意思:
给定包含有正负整型的二维数组,找出所有子矩阵的和的最大值。
如二维数组
0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2
中和最大的子矩阵是
9 2
-4 1
-1 8
且最大和是15
- [5]设计模式——单例模式
tsface
java单例设计模式虚拟机
单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点
安全的单例模式:
/*
* @(#)Singleton.java 2014-8-1
*
* Copyright 2014 XXXX, Inc. All rights reserved.
*/
package com.fiberhome.singleton;
- Java8全新打造,英语学习supertool
yangshangchuan
javasuperword闭包java8函数式编程
superword是一个Java实现的英文单词分析软件,主要研究英语单词音近形似转化规律、前缀后缀规律、词之间的相似性规律等等。Clean code、Fluent style、Java8 feature: Lambdas, Streams and Functional-style Programming。
升学考试、工作求职、充电提高,都少不了英语的身影,英语对我们来说实在太重要