ChatGPT 模型对比
对比 ChatGPT 4, ChatGPT 4o, ChatGPT o1-preview
对比 ChatGPT 4, ChatGPT 4o, ChatGPT o1-preview
あぁ! 夏を今もう一回
いまが最高!
时间追溯到几个月前,之前就一直想去一次ASL现场,没去上23年的觉得还是有点可惜的,所以就在想今年跑一趟。公布阵容的时候发现 day3 的阵容很想看:闹闹,TRUE老师,minori,ReoNa ,爱喵,asaka,还有南球和 fripside。所以拜托马哥帮忙搞票。后来又追加了北宇治和B小町,阵容就更加无敌了。
放着女武神final的live 写这一篇游记,女武神真的是神企划,五位都太会唱了,以后会不会再遇到这样的企划了呢?也珍惜跑live的机会吧
这次时隔五年赴日,主要是去看三场 event :
auto:for(auto& name : input){}
c++中name mingling较C更为复杂
创建静态链接库
gcc -fPIC -c a.c
gcc -fPIC -c b.c
gcc -shared -o libfoo.so a.o b.o
Kokkos 是 C++ library
hierarchy : device
, host-parallel
, host-serial
同步:Kokkos::fence()
两个问题:
DualView : 维护在 device memory 上的 Kokkos::View
和其在 host memory 上的 Kokkos::View
mirror,同时维护在两个不同 memory space 的 data
DataType
, Layout
, Device
using view_type = Kokkos::DualView<Scalar**, Kokkos::LayoutLeft, Device>
scatter-add
:两个粒子共享邻居,当两个粒子同时更新邻居时可能造成 race
使用 data replication V.S. 使用 atomic operation 解决 race 问题ScatterView
: 在编译时透明地选择处理原子操作方法,对于 CPU 使用 data replication,对于 GPU 使用 atomic operation
`Kokkos::Experimental::contribute(View &dest, Kokkos::Experimental::ScatterView
const &src) 将 ScatterView 的 reduction 结果放回到 dest,可能在
Kokkos::parallel_reduce()` 后调用
判断 layout :
if (std::is_same<typename decltype(fpair->f)::traits::array_layout, Kokkos::LayoutLeft>::value) {
printf("array fpair->f is LayoutLeft\n");
}
if (std::is_same<typename decltype(fpair->f)::traits::array_layout, Kokkos::LayoutRight>::value) {
printf("array fpair->f is LayoutRight\n");
}
获取 stride :
int strides[2];
(fpair->x).stride(strides);
printf("array fpair->x stride : (%d, %d)\n", strides[0], strides[1]);
RandomAccess
: Kokkos::MemoryTraits<Kokkos::RandomAccess>
,当在 Cuda
execution space 中执行时, 如果对于在 CudaSpace
或 CudaUVMSpace
中的 const View,Kokkos 会使用 texture fetch 访问
Unmanaged View
: Kokkos::MemoryTraits<Kokkos::Unmanaged>
, 对于一个 raw pointer, Kokkos 不进行 reference counting 和 deallocation