2 分•作者: MicheleLacorte•大约 1 年前•原帖
我们有多少次保存了链接或文本,但却因为忘记它们的位置或根本记不住网站的名称而从未取回?<p>这种情况我经常遇到,因此我决定创建 SaveTo,这是一个简单的跨平台应用程序,允许您保存链接,然后可以通过聊天来检索,无需记住网站或链接库的确切名称。<p>我刚刚开放了候补名单,欢迎任何反馈!
1 分•作者: muchlakshay•大约 1 年前•原帖
大家好!我是一名15岁的学生,刚刚从零开始完成了一个支持CPU和GPU(CUDA)训练的双后端多层感知器(MLP)。<p>在CPU后端,我只使用了Eigen进行线性代数,没有使用其他库。<p>在GPU后端,我在CUDA C++中实现了自己的自定义矩阵库。虽然CUDA内核没有使用共享内存、分块或融合操作(因此存在一些内核启动开销),但我更注重代码的清晰性、模块化和可重用性,而不是追求几毫秒的速度提升。<p>尽管如此,我确保了合并内存访问,性能相当不错,在使用RTX 3060的情况下,MNIST数据集每个训练周期大约为0.4毫秒(批量大小=1000)。<p>这个项目相比我之前的项目有了很大的进步。它更干净,文档齐全,模块化程度更高。<p>我完全意识到还有许多可以改进的地方,我将在未来的项目中继续努力。我的长期目标是进入哈佛或麻省理工学院,这也是我旅程的一部分。<p>非常希望听到你们的想法、建议或反馈。<p>我已经附上了我的GitHub仓库链接。
1 分•作者: yohimik•大约 1 年前•原帖
没有点击诱饵,只有纯粹的 HTML、CSS、JavaScript 和 WASM。 <p>只需复制并粘贴以下 HTML 代码,即可运行《半条命》。 <p>链接: - https://www.npmjs.com/package/xash3d-fwgs - https://www.npmjs.com/package/cs16-client - https://www.npmjs.com/package/hlsdk-portable - https://github.com/yohimik/webxash3d-fwgs <p> ```html <!DOCTYPE html> <html> <head> <title>加载中</title> <style> canvas { width: 100vw; height: 100vh; top: 0; left: 0; position: fixed; } body { margin: 0; } </style> <script src="https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/raw.js"></script> </head> <body> <canvas id="canvas"></canvas> <script type="module"> import JSZip from 'https://cdn.skypack.dev/[email protected]'; async function main() { const files = {}; const res = await fetch('https://raw.githubusercontent.com/x8BitRain/webXash/main/public/hl/hldm.zip'); const zip = await JSZip.loadAsync(await res.arrayBuffer()); await Promise.all(Object.keys(zip.files).map(async p => { const file = zip.files[p]; if (file.dir) return; const path = `/rodir/${p}`; files[path] = await file.async("uint8array"); })); Xash3D({ arguments: ['-windowed'], canvas: document.getElementById('canvas'), ctx: document.getElementById('canvas').getContext('webgl2', { alpha: false, depth: true, stencil: true, antialias: true }), dynamicLibraries: [ "filesystem_stdio.wasm", "libref_gles3compat.wasm", "cl_dlls/menu_emscripten_wasm32.wasm", "dlls/hl_emscripten_wasm32.so", "cl_dlls/client_emscripten_wasm32.wasm", ], onRuntimeInitialized: function () { Object.keys(files).forEach(k => { const dir = k.split('/').slice(0, -1).join('/'); this.FS.mkdirTree(dir); this.FS.writeFile(k, files[k]); }); this.FS.chdir('/rodir'); }, locateFile: (p) => { switch (p) { case 'xash.wasm': return 'https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/xash.wasm'; case 'filesystem_stdio.wasm': return 'https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/filesystem_stdio.wasm'; case 'libref_gles3compat.wasm': return 'https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/libref_gles3compat.wasm'; case 'cl_dlls/menu_emscripten_wasm32.wasm': return 'https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/cl_dll/menu_emscripten_wasm32.wasm'; case 'dlls/hl_emscripten_wasm32.so': return 'https://cdn.jsdelivr.net/npm/hlsdk-portable@latest/dist/dlls/hl_emscripten_wasm32.so'; case 'cl_dlls/client_emscripten_wasm32.wasm': return 'https://cdn.jsdelivr.net/npm/hlsdk-portable@latest/dist/cl_dll/client_emscripten_wasm32.wasm'; default: return p; } }, }); } main(); </script> </body> </html> ```