小编Wes*_*and的帖子

ObservableCollection和Item PropertyChanged

我已经看到很多关于这个问题的讨论,但也许我只是太多的新手才能得到它.如果我有一个可观察的集合,它是msdn示例中的"PersonNames"集合(http://msdn.microsoft.com/en-us/library/ms748365.aspx),如果a PersonName是,我会获得对View的更新添加或删除等.当我更改属性时,我想获得我的视图的更新PersonName.就像我改名字一样.我可以OnPropertyChanged为每个属性实现并让这个类派生出来INotifyPropertyChanged,并且似乎按预期调用.我的问题是,View如何从ObservableCollection更改属性获取更新数据不会导致任何事件ObservableCollection.这可能是非常简单的事情,但为什么我似乎无法找到一个令我惊讶的例子.任何人都可以为我阐明这一点,或者对示例有任何指示我会非常感激.我们在当前的WPF应用程序的多个位置都有这种情况,并且正在努力搞清楚.


"通常,负责显示数据的代码会为PropertyChanged当前显示在屏幕上的每个对象添加一个事件处理程序."

有人可以举个例子说明这意味着什么吗?我查看结合我ViewModel其中有一个ObservableCollection.此集合由RowViewModel具有支持PropertiesChanged事件的属性组成.但我无法弄清楚如何使集合更新自己,以便更新我的视图.

c# observablecollection

47
推荐指数
4
解决办法
6万
查看次数

致命错误:mpi.h:没有这样的文件或目录#include <mpi.h>

当我只编译脚本时

#include <mpi.h>
Run Code Online (Sandbox Code Playgroud)

它告诉我没有这样的文件或目录.但是当我包含mpi.h的路径时

#include "/usr/include/mpi/mpi.h"
Run Code Online (Sandbox Code Playgroud)

(路径是正确的)它返回:

In file included from /usr/include/mpi/mpi.h:2087:0,
                 from lbm.cc:7:
/usr/include/mpi/openmpi/ompi/mpi/cxx/mpicxx.h:35:17: fatal error: mpi.h: No such file or directory
 #include "mpi.h"
                 ^
compilation terminated.
Run Code Online (Sandbox Code Playgroud)

有人知道怎么修这个东西吗?

c c++ mpi openmpi

35
推荐指数
5
解决办法
8万
查看次数

MPI_Rank为所有进程返回相同的进程号

我正试图在debian 7上使用openmpi和mpirun运行这个示例hello world程序.

#include <stdio.h>
#include <mpi/mpi.h>

int main (int argc, char **argv) {
   int nProcId, nProcNo;

   int nNameLen;
   char szMachineName[MPI_MAX_PROCESSOR_NAME];

   MPI_Init (&argc, &argv); // Start up MPI

   MPI_Comm_size (MPI_COMM_WORLD,&nProcNo); // Find out number of processes
   MPI_Comm_rank (MPI_COMM_WORLD, &nProcId); // Find out process rank
   MPI_Get_processor_name (szMachineName, &nNameLen); // Get machine name

   printf ("Hello World from process %d on %s\r\n", nProcId, szMachineName);

   if (nProcId == 0)
      printf ("Number of Processes: %d\r\n", nProcNo);

   MPI_Finalize (); // Shut down MPI

   return 0;
} …
Run Code Online (Sandbox Code Playgroud)

mpi openmpi

15
推荐指数
1
解决办法
3944
查看次数

如何查看MPICH的版本?

如问题中所述,列出当前版本MPICH的命令是什么?我正在运行CentOS.

mpi mpich

12
推荐指数
3
解决办法
4万
查看次数

在没有交互式变基的情况下,将两个Git提交到历史中间

我正在将旧的SVN存储库转换为Git,其中包括尝试在所有正确的位置获取所有分支/标记.那部分进展顺利,但有时候我想在我的脚本中添加历史记录中的提交,我后来想用下一次提交压缩.问题是我不是一个接一个地抓取提交,而是作为一个大组,所以当我将它们从SVN存储库中拉出来时,我无法压缩它们.最后,我的存储库看起来像这样:

* (branch_2, HEAD) commit 5
* commit 4
* commit 3
* SQUASH ME!
* (branch_1) commit 2
* commit 1
Run Code Online (Sandbox Code Playgroud)

我希望能够壁球commit 3SQUASH ME!,这显然是容易的互动变基,但在脚本中更具挑战性.我似乎branch_1遇到的主要问题是,虽然很容易签出或在它之前提交,但很难以编程方式请求提交之后的提交,而且我很难预测从branch_2我需要返回的提交数量.我真的希望能够做到这样的事情:

git checkout branch_1+2
Run Code Online (Sandbox Code Playgroud)

有什么指针吗?

git git-rebase

12
推荐指数
2
解决办法
2422
查看次数

MPICH/OpenMPI中的容错

我有两个问题 -

Q1.除了检查点/回滚之外,是否有更有效的方法来处理MPI中的错误情况?我看到如果节点"死",程序会突然停止.在节点死后,有没有办法继续执行?(如果以准确性为代价则没有问题)

Q2.我在"http://stackoverflow.com/questions/144309/what-is-the-best-mpi-implementation"中读到,OpenMPI具有更好的容错能力,最近MPICH-2也提出了类似的功能.谁知道它们是什么以及如何使用它们?这是一种"模式"吗?他们可以帮助解决第一季度的情况吗?

亲切的回复.谢谢.

fault-tolerance mpi openmpi mpich

10
推荐指数
1
解决办法
2368
查看次数

Http post error:远程主机强行关闭现有连接

我知道有很多类似的帖子,但我还没有找到解决方案.我试图将一些xml发布到MPI网关,但不断收到以下错误:

无法从传输连接读取数据:远程主机强制关闭现有连接.

下面是我正在使用的代码,但我已经尝试了几乎所有我能想到的不同方法,它们都返回相同的错误:

        string result = "";

        string xml = "<TNSAuthRequest><CardNumber>0123456789</CardNumber><ExpiryDate>1801</ExpiryDate><PurchaseAmt>750</PurchaseAmt><CurrencyCode>826</CurrencyCode><CurrencyExponent>2</CurrencyExponent><CountryCode>826</CountryCode><MerchantName>Mayflower</MerchantName><MerchantId>0123456789</MerchantId><MerchantData>abcdefghijklmnopqrstuvwxyz0123456789</MerchantData><MerchantUrl>example.com</MerchantUrl><NotificationURL>example.com/basket</NotificationURL></TNSAuthRequest>";

        var url = "https://mpi.securecxl.com";
        byte[] bytes = System.Text.Encoding.ASCII.GetBytes("xmldata=" + xml.ToString());

        ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(ValidateRemoteCertificate);

        var req = (HttpWebRequest)WebRequest.Create(url);
        req.AllowWriteStreamBuffering = true;
        req.ContentType = "text/xml";
        req.Method = "POST";
        //req.ContentLength = bytes.Length;
        req.KeepAlive = false;
        req.ProtocolVersion = HttpVersion.Version10;
        req.ServicePoint.ConnectionLimit = 1;
        //req.Timeout = -1;

        try
        {
            using (var writer = new StreamWriter(req.GetRequestStream(), Encoding.ASCII))
            {
                writer.WriteLine(bytes);
            }
            using (WebResponse resp = req.GetResponse())
            {
                using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
                {
                    result = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net http-post httpwebrequest

10
推荐指数
1
解决办法
6564
查看次数

建议一个基准程序来比较MPICH和OpenMPI

我是HPC的新手,手头的任务是在集群上对MPICH和OpenMPI进行性能分析和比较,该集群包含运行在ClusterVisionOS上的配备双核AMD Opteron处理器的IBM服务器.

我应该选择哪个基准程序来比较MPICH和OpenMPI实现?

我不确定High-Performance Linpack Benchmark是否可以提供帮助,因为我并没有尝试衡量集群本身的性能..请建议..

谢谢

benchmarking mpi openmpi mpich

8
推荐指数
1
解决办法
4672
查看次数

用mpi定义全局变量

我在下面写了一个示例代码:

#include <stdio.h> 
#include <mpi.h> 

double x;

int main (int argc, char **argv) { 
   MPI_Init(&argc, &argv); 
   MPI_Comm_rank(MPI_COMM_WORLD, &rank); 
   MPI_Comm_size(MPI_COMM_WORLD, &size); 

   if (rank==0) x=10.1;

   MPI_Barrier(MPI_COMM_WORLD);
   printf("%f\n", x);

   MPI_Finalize(); 
   return 0; 
}
Run Code Online (Sandbox Code Playgroud)

正如人们可能注意到的,这个程序实际上定义了一个名为x的全局变量,而第0个线程试图为它分配一些值.当我在具有4个内核的SMP(对称多处理)机器上运行该程序时,我得到以下结果:

10.1
0
0
0
Run Code Online (Sandbox Code Playgroud)

更有趣的是,当我更改我的代码以便每个线程打印变量x的地址,即&x时,它们都打印相同的东西.

我的问题是,如果SMP系统上的一些线程共享一个变量地址的相同值,而它们不共享相同的值,那么该怎么可能?

我的第二个问题是我应该如何更改上面的代码,以便得到以下结果?

10.1
10.1
10.1
10.1
Run Code Online (Sandbox Code Playgroud)

c c++ mpi

8
推荐指数
1
解决办法
3162
查看次数

"本地"RDMA用于开发

我正在尝试在这里构建和运行RDMA示例.但是因为我正在探索,我没有任何能够管理RDMA的硬件.当我尝试运行示例代码时,我收到这样的错误.

librdmacm: couldn't read ABI version.
librdmacm: assuming: 4
CMA: unable to get RDMA device list
error: ec = rdma_create_event_channel() failed (returned zero/null).
Run Code Online (Sandbox Code Playgroud)

是否有可用于开发的RDMA功能的"本地"实现?我知道RDMA中的"R"意味着远程,但我认为这可能存在用于测试/开发目的.

作为参考,我的Ubuntu 14.04箱尝试这个已经安装的软件包libibverbs-dev,并librdmacm-dev为了让代码编译.

c rdma infiniband

8
推荐指数
1
解决办法
970
查看次数