Unified memory in Pascal architecture.

Hi, all
I am trying to test unified memory in Pascal architecture. My system has GTX 1080, CUDA 8.0, Visual Studio 2013 and Window 7-64bit.

Here are some questions:
1) I saw this article(https://devblogs.nvidia.com/parallelforall/cuda-8-features-revealed/). According to this article, we can simply allocate memory by using malloc, is it true?
2) If this is true, how do I perform a memory copy? Use cudaMemCpy? or memcpy?
3) If we use cudaMallocManaged, how do I copy memory at this time? Do we use cudaMemcpy? Is there a speed difference with the existing cudaMalloc?
4) If you have any examples or project files related to Unified memory, please share them. What I want to do is to assign the value of the array declared in the host to the Unified memory.
additional question :
1) This is the Open ACC related question. Is Open ACC available in Visual Studio? I would like to know how to configure if possible.

I am not an English speaking person, and I am not an expert in this field. Please give detailed answer for newbi.

No. That reference is to linux only. And even on linux, requires special kernel and setup. If you read the article carefully, including the comments below the article, you will see that.

Generally speaking, with managed memory, you don’t need explicit host to device or device to host memory copies. For a managed pointer copy to/from an unmanaged (host) pointer, memcpy should be fine.

Seems like a repeat of the previous question and it seems you don’t really understand managed memory concepts. I suggest reading the relevant section in the program guide, and study some sample codes.

Programming guide:
Sample codes:
there are a number of them, go here:
and search on “unified memory”

The PGI toolchains (including the Community edition) support OpenACC and windows: