----赖格英-----

记忆不好了,记录工作中的点点滴滴....

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2014年1月1日

摘要: OpenMP for Fortran OpenMP Directive Syntax of OpenMP compiler directive for Fortran: !$OMP DirectiveName Optional_CLAUSES... ... ... Program statements between the !$OMP lines ... are executed in parallel by all threads ... !$OMP END DirectiveName Program statements between the 2 re... 阅读全文
posted @ 2014-01-01 12:47 向北方 阅读(5603) 评论(0) 推荐(1) 编辑

摘要: Beginning OpenMPOpenMP provides a straight-forward interface to write software that can use multiple cores of a computer. Using OpenMP you can write code that uses all of the cores in a multicore computer, and that will run faster as more cores become available.OpenMP is a well-established, standard 阅读全文
posted @ 2014-01-01 12:38 向北方 阅读(2060) 评论(0) 推荐(0) 编辑

摘要: 以下例子来自https://computing.llnl.gov/tutorials/openMP/exercise.html网站一、打印线程(Hello world)C******************************************************************************C FILE: omp_hello.fC DESCRIPTION:C OpenMP Example - Hello World - Fortran VersionC In this simple example, the master thread forks a ... 阅读全文
posted @ 2014-01-01 11:52 向北方 阅读(7941) 评论(0) 推荐(0) 编辑

摘要: 什么是OpenMP?“OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared memory multiprocessing programming in C, C++ and Fortran on many architectures, including Unix and Microsoft Windows platforms. It consists of a set of compiler directives, lib 阅读全文
posted @ 2014-01-01 10:24 向北方 阅读(3423) 评论(0) 推荐(0) 编辑

摘要: 比如程序:program main implicit none write(*,*) "AAAAAAAAAAAAAAAAAAAAAAAA" stop end虽然可以看见DOS窗口显示AAAAAAAAAAAAAAAAAAAAAAAA,不过是一闪而过,请问怎样解决呢?解答:stop的上一行加pause。 比如程序:program main implicit none write(*,*) "AAAAAAAAAAAAAAAAAAAAAAAA" pausestop end 阅读全文
posted @ 2014-01-01 09:37 向北方 阅读(1415) 评论(0) 推荐(0) 编辑

2013年12月31日

摘要: 最近写水动力的程序,体系太大,必须用并行才能算的动,无奈只好找了并行编程的资料学习了。我想我没有必要在博客里开一个什么并行编程的教程之类,因为网上到处都是,我就随手记点重要的笔记吧。这里主要是openmp的~1 临界与归约 在涉及到openmp的并行时,最需要注意的就是被并行的区域中的公共变量,对于需要reduce的变量,尤其要注意,比如这段代码:program mainimplicit noneinclude 'omp_lib.h'integer N,M,ireal(kind=8) tN=20000t=0.0!$OMP PARALLEL DOdo i=1,Nt=t+float 阅读全文
posted @ 2013-12-31 22:07 向北方 阅读(23558) 评论(2) 推荐(0) 编辑

2013年12月30日

摘要: 采用fortran进行数值计算的朋友们都应该听说过大名鼎鼎的lapack库,我就不多做介绍了,在此,我只是介绍一个编译好的lapack二进制包ACML(AMD Core Math Library),并且我强烈推荐,有几个原因: 1. ACML是预编译好的二进制文件,省去了许多重新编译的麻烦; 2. AMD对ACML中的许多函数针对x86构架进行了优化,执行效率很高; 3. ACML中有专门针对SMP(不要告诉我你不知道SMP是什么东东)的库,可以实现并行多处理,如果你是多核多线程处理器的话可以最大程度发挥处理器的效能,针对我的电脑我进行了一个测试,分别链接到libacml_mp_dll.... 阅读全文
posted @ 2013-12-30 18:27 向北方 阅读(4327) 评论(0) 推荐(0) 编辑

2013年12月29日

摘要: 对于数组的排序有好多种方法,上面这种是最常规的方法,当然在Array类中有两个方法就是专门来完成排序的,一会我们再来看这两方法,下面我们还是来看一下语法吧,只要搞懂语法了,就可以自己随便排序了。冒泡排序语法: for (int i = 0; i ”就可以了。刚才我们说到了Array类中的两个排序的方法,下面我们就简单的介绍一下Array类中的这两个方法。在Array中实现升序排列的方法是Array.Sort(数组名),比如:Array.Sort(change).当然了降序也有Array.Reverse(数组名),比如:Array.Reverse(change),这个Reve... 阅读全文
posted @ 2013-12-29 09:10 向北方 阅读(22580) 评论(0) 推荐(1) 编辑

2013年12月10日

摘要: 一般而言,安裝完EndNote 後,預設Output Styles、Filters、Connection Files 的電腦存放路徑如下–C:\Program Files\EndNote X4 \StylesC:\Program Files\EndNote X4 \FiltersC:\Program Files\EndNote X4 \Connections而當您進行過新建、或修改後另存新檔的編輯動作之後,EndNote 為避免因軟體重新安裝、更新或版本升級,導致這些個人檔案被覆蓋掉等考量,會將之另存於您電腦的「個人文件夾」內,路徑如下–Windows XP:C:\Documents and 阅读全文
posted @ 2013-12-10 20:48 向北方 阅读(1062) 评论(0) 推荐(0) 编辑

2013年12月8日

摘要: 正则表达式语法一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。这里有一些可能会遇到的正则表达式示例:Visual Basic Scripting EditionVBScript匹配/^\[ \t]*$/"^\[ \t]*$"匹配一个空白行。/\d{2}-\d{5}/"\d{2}-\d{5}"验证一个ID 号码是否由一个2位数字,一个连字符以及一个5位数字组成。/.*/".*" 阅读全文
posted @ 2013-12-08 22:41 向北方 阅读(403) 评论(0) 推荐(0) 编辑

2013年12月2日

摘要: 在对EFDC模型进行系统集成时,虽然可以通过一行一行读来进行解析处理,但那将是一个繁琐的工作。我们经过xml格式化处理后,再经xsd转成Dataset类对象,那么整个主控文件就是一个数据库表集合,对其的处理完全可以对象化进行。如下为方法测试: 阅读全文
posted @ 2013-12-02 20:54 向北方 阅读(861) 评论(0) 推荐(0) 编辑

2013年12月1日

摘要: 双击代码全选12345678910111213141516unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObj... 阅读全文
posted @ 2013-12-01 23:26 向北方 阅读(607) 评论(0) 推荐(0) 编辑

摘要: 根据一个已有的点集合,想画出一条光滑的曲线有很多种算法。其中一种比较快捷的是使用贝塞尔曲线,有成熟的PolyBezier方法可以直接调用。但是有一个问题需要注意,就是贝塞尔曲线对点集合是有要求的,如果不满足要求,就不会得到你想要的曲线。如何满足要求呢,先要理解贝塞尔曲线的原理。简单点说:贝赛尔曲线的每一段曲线都要一个起点,一个终点,两个控制点(用于控制曲线的弧度)。所以点数组的记录方式是:起点+控制点+控制点+终点+控制点+控制点+终点+……。也就是说,点的数量应该是3×n+1.明白了道理,我们就可以修正任何一个点数组了,我实现的算法如下://贝塞尔曲线点位修正function Ad 阅读全文
posted @ 2013-12-01 22:03 向北方 阅读(1496) 评论(0) 推荐(0) 编辑

摘要: 多线程应用多线程应用很广泛,简单总结了一下:1)不阻断主线程,实现即时响应,由后台线程完成特定操作2)多个线程,完成同类任务,提高并发性能3)一个任务有多个独立的步骤,多个线程并发执行各子任务,提高任务处理效率下面我们通过几个小例子做简单介绍。1、进度条分析:页面动态刷新,主页面正常可操作。我们通过后台线程来实现进度条。首先,创建Winform页面,然后拖入进度条控件,将页面的代码改为以下代码即可。这里只是个简单的例子,其实我们可以做的更好,将进度条封装为一个自定义控件,设计为一个通用好看的进度条。这里只讲技术和方向,大家可以自己研究研究。相关代码:using System;using Sys 阅读全文
posted @ 2013-12-01 00:19 向北方 阅读(833) 评论(0) 推荐(0) 编辑

摘要: 微信公众账号开发教程基本原理在开始做之前,大家可能对这个很感兴趣,但是又比较茫然。是不是很复杂?很难学啊?其实恰恰相反,很简单。为了打消大家的顾虑,先简单介绍了微信公众平台的基本原理。微信服务器就相当于一个转发服务器,终端(手机、Pad等)发起请求至微信服务器,微信服务器,然后将请求转发给自定义服务(这就里就是我们的具体实现)。服务处理完毕,然后挥发给微信服务器,微信服务器再将具体响应回复到终端。通信协议为:HTTP数据格式为:XML具体的流程如下图所示:其实,我们需要做的事情,就是对HTTP请求,做出响应。具体的请求内容,我们按照特定的XML格式去解析,处理完毕后,也要按照特定的XML格式返 阅读全文
posted @ 2013-12-01 00:14 向北方 阅读(4319) 评论(2) 推荐(0) 编辑

摘要: 上一章,我们已经初步讲解了微信公众账号开发的基本原理,今天我们来探索设计实现。首先我们设计了模块层次图,当然图中只是给出一种实现方式,不局限于此。具体见下图。主要功能介绍如下:1)请求接口层。处理HTTP请求,及响应2)分发层。由接口层传入请求,然后具体分析请求类型,分发至不同的处理器3)业务逻辑层。这里是我们的具体业务逻辑了,根据请求,实现具体的业务逻辑。4)数据层。我们在实现某个应用时可能需要访问数据,可以是数据库或者是文件。如果是简单应用,可能没有这一层。其实,具体的应用可以在这个结构上去扩展,可以扩展消息对象层、业务对象层、数据访问层、功能管理层等。这里只是提供一种思路,不局限于此。根 阅读全文
posted @ 2013-12-01 00:13 向北方 阅读(2128) 评论(0) 推荐(0) 编辑

摘要: 一、功能介绍通过微信公众平台实现在线客服机器人功能。主要的功能包括:简单对话、查询天气等服务。这里只是提供比较简单的功能,重在通过此实例来说明公众平台的具体研发过程。只是一个简单DEMO,如果需要的话可以在此基础上进行扩展。当然后续我们还会推出比较复杂的应用实例。二、具体实现1、提供访问接口这里不再赘述,参照上一章,微信公众账号开发教程(二) 基础框架搭建http://www.cnblogs.com/yank/p/3392394.html2、签名认证和分发请求这里不再赘述,参照上一章,微信公众账号开发教程(二) 基础框架搭建http://www.cnblogs.com/yank/p/33923 阅读全文
posted @ 2013-12-01 00:11 向北方 阅读(2281) 评论(1) 推荐(1) 编辑

摘要: 微信公众账号开发教程(四)自定义菜单请尊重作者版权,如需转载,请标明出处。应大家强烈要求,将自定义菜单功能课程提前。一、概述:如果只有输入框,可能太简单,感觉像命令行。自定义菜单,给我们提供了很大的灵活性,更符合用户的操作习惯。在一个小小的微信对话页面,可以实现更多的功能。菜单直观明了,不仅能提供事件响应,还支持URL跳转,如果需要的功能比较复杂,我们大可以使用URL跳转,跳转至我们的网页即可。注意:自定义菜单,只有服务号才有此功能如何注册,见第一章:微信公众账号开发教程(一) 基本原理及微信公众账号注册效果如下,接着我们详细介绍,如何实现自定义菜单?二、详细步骤:1、首先获取access_t 阅读全文
posted @ 2013-12-01 00:09 向北方 阅读(20779) 评论(4) 推荐(2) 编辑

摘要: 一、功能介绍在进行推广时,我们可以告诉对方,我们的微信公众账号是什么,客户可以去搜索,然后关注。二维码给我们提供了极大的便捷,只要简单一扫描,即可关注。如果已经关注过,立刻跳入对话画面。在我们进行推广时,不再是简陋的文字,可以是一个有个性的二维码,想必会很生动。微信对二维码提供了很好的支持,而且还可以根据需要生成不同场景的二维码。下面我们将介绍如何获取和使用二维码。注意:限服务号,且进行了微信认证,费用300二、相关接口为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。目前有2种类型的二维码, 阅读全文
posted @ 2013-12-01 00:05 向北方 阅读(15241) 评论(1) 推荐(0) 编辑

2013年11月30日

摘要: 一 前言 很少接触HashTable晚上回来简单看了看,然后做一些增加和移除的操作,就想和List 与Dictionary比较下存数据与取数据的差距,然后便有了如下的一此测试,当然我测的方法可能不是很科学,但至少是我现在觉得比较靠谱的方法。如果朋友们有什么好的方法,欢迎提出大家来交流下。先来简单介绍这三个容器的各自特点吧 1 hashtable散列表(也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构。 2 List是针对特定类型、任意长度的一个泛型集合,实质其内部是一个数组。 3Dictionary泛型类提供了从一组键到一组值的映射。字典中的每个添加项都由一. 阅读全文
posted @ 2013-11-30 23:57 向北方 阅读(1106) 评论(0) 推荐(0) 编辑