小编hus*_*sik的帖子

如何访问计算机的RAM和ROM的所有字节?

我尝试了指针和引用(&),但当我尝试获取信息(我只是从内存中读取)时,计算机"发出哔哔声"并且程序终止.将指针指定给字节(char*)时没问题.但是当我读到那台电脑发出哔哔声时.(x =*p;)

Windows xp,1GB + 128 MB RAM.我不知道我的eproom + eeproms.

我可以使用System()函数来使用OS命令来访问内存吗?你认识任何人吗?

c c++ memory

2
推荐指数
1
解决办法
1588
查看次数

如何获得C/C++变量的属性

如何获取变量的属性?

例:

int a = 5;
....
....
isConstant(a); //Prints "no!" if 'a' is not a constant at this time.
isRegister(a); //Prints "yes!" if 'a' is a register at this time.important.
isVolatile(a); //Prints "trusted" if 'a' is volatile.
isLocal(a);    //If it is temporary.
isStatic(a);   //Static?
Run Code Online (Sandbox Code Playgroud)

我只读过关于改变变量的常量但不改变其他变量的常量.

c c++ variables scope

2
推荐指数
1
解决办法
299
查看次数

我如何使用我的CPU的MM0到MM7寄存器?

我正在使用Digital-Mars C++和VC++ 10编译器,我有masm32汇编程序.如何使用mm0 .... mm7 64位寄存器在eax,eabx 32位寄存器之间切换数据?我可以在c ++编译器asm {}或_asm {}中使用它们吗?

这样的东西可能有用:

mmTo32 eax,mm3
mmTo16 bx,mm6
mmTo8 cl,mm4
ToMM mm2,eax
Run Code Online (Sandbox Code Playgroud)

我用Google搜索但找不到足够的信息.

谢谢.

c++ x86 assembly inline-assembly

2
推荐指数
1
解决办法
547
查看次数

Opencl for C++,buffer.release()是受保护的成员

我正在学习如何使用Amd的app sdk和Khronos的Opencl 1.2头文件在C++中创建简单的opencl程序.我使用下面的例子,它正在工作.但是当我最后尝试.release()缓冲区时,我从编译器收到一条错误消息,说"无法访问受保护的成员".

    int problemSize=1024;
    const char * kernelDerlenecek = 
    "__kernel void Toplam(__global float * v1, __global float * v2)"
    "{"
    "    int i = get_global_id(0);"
    "    v2[i]=v1[i];"
    "}";
cl::Context altYapi(CL_DEVICE_TYPE_GPU);
cl::Program::Sources kaynaklar;
kaynaklar.push_back(std::make_pair(kernelDerlenecek,strlen(kernelDerlenecek))); 
cl::Program program(altYapi,kaynaklar);
std::vector<cl::Device> aygitlar=altYapi.getInfo<CL_CONTEXT_DEVICES>();
program.build(aygitlar);
cl::Kernel kernel(program,"Toplam");
cl::CommandQueue cmdQ(altYapi,aygitlar[0]);
std::vector<cl_float> input;
std::generate_n (std::back_inserter ( input ) , problemSize , rand) ;
cl::Buffer inputBuffer(altYapi, CL_MEM_READ_ONLY|CL_MEM_COPY_HOST_PTR, sizeof(cl_float) * input.size(), &input[0]);
cl::Buffer outputBuffer(altYapi ,CL_MEM_WRITE_ONLY , sizeof(cl_float )* input.size()) ;
kernel.setArg(0,inputBuffer);
kernel.setArg(1,outputBuffer);
cl::NDRange Global(1024);
cl::NDRange Local(64);
cmdQ.enqueueNDRangeKernel(kernel,cl::NullRange,Global,Local);
float …
Run Code Online (Sandbox Code Playgroud)

c++ buffer opencl

2
推荐指数
1
解决办法
3191
查看次数

在 C++14、C++17、C++20 和不同编译器中,是否有最佳方法来处理浮点数和整数之间的按位转换中的未定义行为?

在处理未定义行为、自动向量化(对于数组结构)和可移植性(clang、gcc、msvc、icc)方面,以下测试中哪种方式是最优选的?

还有另一种方法可以进行相同的操作吗?

#include <iostream>
#include <cstring>

union trick1
{
  float fvar;
  int ivar;
};

struct trick2
{
  float fvar;
  int ivar()
  {
      int result;
      std::memcpy(&result,&fvar,sizeof(float));
      return result;
  }
};

struct trick3
{
    float fvar;
    int ivar()
    {
        int result=0;
        asm ("mov %0,%0"
         : "=r" (result)
         : "0" (fvar));
        return result;
    }
     
};

struct trick4
{
    float fvar;
    int ivar()
    {
        int result;
        result = *reinterpret_cast<int*>(&fvar);
        return result;
    }
};

int main()
{
    trick1 test1;
    test1.fvar = 3.14f;
    // 1078523331
    std::cout<<test1.ivar<<std::endl; …
Run Code Online (Sandbox Code Playgroud)

c++ simd type-punning c++17 c++20

2
推荐指数
1
解决办法
181
查看次数

自定义循环更快的原因是什么?坏编译器?不安全的自定义代码?运气?(幸运缓存命中)

我刚刚开始学习汇编并制作一些自定义循环,用于使用C++的asm {}体交换两个变量,使用C-Free 5.0中的Digital-Mars编译器

启用-o(优化)

并得到了结果:

 time of for-loop(cycles)        844
 time of while-loop(cycles)      735
 time of custom-loop-1(cycles)   562
 time of custom-loop-2(cycles)   469
Run Code Online (Sandbox Code Playgroud)

我无法找到Digital-Mars编译器"asm output"选项进行比较.构建选项中没有其他优化选项.我应该改变我的编译器吗?如果是的话,哪一个?你能看一下下面的代码并告诉我为什么自定义循环更快?

这是循环的标准:

t1=clock(); 
for(int i=0;i<200000000;i++)
{
    temp=a;//instruction 1
    a=b;//instruction 2
    b=temp;//3 instructions total   
}   
t2=clock();
printf("\n time of for-loop(increasing) %i  \n",(t2-t1));
Run Code Online (Sandbox Code Playgroud)

这是标准的while循环:

t1=clock();
while(j<200000000)
{
    temp=a;//again it is three instructions
    a=b;
    b=temp; 
            j++;
}
t2=clock();
printf("\n time of while-loop(cycles)  %i  \n",(t2-t1));
Run Code Online (Sandbox Code Playgroud)

这是我的自定义循环1:

t1=clock();
j=200000000;//setting the count
    __asm
    {
        pushf           //backup
        push eax        //backup
        push ebx        //backup
        push ecx …
Run Code Online (Sandbox Code Playgroud)

c++ optimization assembly

1
推荐指数
2
解决办法
735
查看次数

试图到达同一个寄存器的汇编代码,在不同的线程中损坏任何东西?

在线程中使用__asm {}代码是危险的吗?

例如,我在一个核心上运行了2个线程,在另一个核心上运行了main().如果一个线程在eax上写入并读取ebx而另一个线程读取eax并在ebx上写入会发生什么?如果我从main()读取这些寄存器会发生什么?

c++ multithreading thread-safety inline-assembly

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

Java垃圾收集到哈希表

java收集垃圾签名的东西作为对象吗?

如果是,我可以告诉java以编程方式将它们引导到我的一个哈希表(接受对象吗?)?

我很好奇这个功能.我知道这 System.gc()是命令,但我怎么能实现第一个问题?我可以吗?

 myTrashBin=System.gc().getObjectList(); //???
Run Code Online (Sandbox Code Playgroud)

如果没有,可能有一种方法可以通过自定义类创建此功能.

最后一个问题:我们如何覆盖System.gc()?

谢谢.

java garbage-collection object

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

神经网络,局部最小规避技术

我是这个主题的新手,尝试了一些关于逃避本地最小值的不同事情.我使用随机学习率和动量,但对于一小部分的训练,它会卡住并且无法学习任何东西(有时候会在开始时,有时候是中间),即使是随机的起始权重和偏差.

我尝试了几种不同的设置来教授XOR,例如:

 1)Faster learning but with a bigger chance of locally trapped. 
 (learns in less than 1200 iterations total)

 2)Slow learning but with evading local minimum better.
 (learns under 40k iterations total)

 3)Very steep learning with ~%50 chance of pit-fall(learns under 300 iterations total)
Run Code Online (Sandbox Code Playgroud)

问题:是否有几名学生参加培训并选择最值得学习的学生?或者我们是否需要专注于为单一设置获得%100的成功率?

例:

 3 students (XOR candidates) learning in parallel: 

 -First student is learning fast(learns first, tells others to stop to save cycles)
 -Other two are slow learners to increase success rate of training
Run Code Online (Sandbox Code Playgroud)

optimization machine-learning neural-network

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

检查GPU是否集成

我找不到有关设备集成/嵌入到cpu或使用系统ram或自己专用的gddr内存的查询命令?我可以对映射/取消映射与读/写进行基准测试,以得出结论,但该设备当时可能处于负载状态,并且表现不佳,这会给我正在使用的已经很复杂的负载平衡算法增加复杂性。

有没有简单的方法来检查gpu是否与cpu使用相同的内存,所以我可以选择直接映射/取消映射而不是读/写?

编辑:有CL_DEVICE_LOCAL_MEM_TYPE

CL_GLOBAL or CL_LOCAL
Run Code Online (Sandbox Code Playgroud)

这是否表明了整体性?

opencl

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